LuatIDE
# 简介
LuatIDE 是一个集AirUI-Designer,单步调试、智能编辑、项目管理、下载等多功能的集成开发环境。可以极大程度的提高软件人员代码编写的效率以及质量,节省大量时间,缩短项目周期。合宙[AirUI-Designer](https://easydoc.net/doc/33717695/NEeXjKdE/nwqAO3qN)作为LuatIDE的一个插件集成在LuatIDE的生态中,通过拖放各种组件完成嵌入式图形应用程序UI开发。
# 环境
- 运行于 Windows 系统,只要可以正常运行 Windows7 或以上系统即可使用 LuatIDE,不支持mac与linux。建议使用win10系统,win7部分机型系统兼容性不是很好,可能会导致运行出错,一般都是由于缺少关键补丁更新导致。[建议下载最新的微软运行库](https://docs.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170),下载后运行更新一下。
- LuatIDE 属于 VsCode 插件,使用前需要首先安装 VsCode 代码编辑器 。见[vscode安装教程](https://wiki.luatos.com/boardGuide/vscode.html#vscode "vscode安装教程")
# 安装
## 在线安装
通过 VsCode 的插件应用市场搜索 LuatIDE,点击安装即可。

## 本地安装
通过 [LuatIDE下载链接](https://gitee.com/openLuat/luatide/releases) 将插件下载到本地,然后在 VsCode 中选择 __从 VSIX 安装__ 即可。

# 功能
目前 LuatIDE 集成的功能主要有代码编辑,烧录,代码调试,软件模拟,以及 界面设计。
安装完成后,侧边栏会多出一个 LuatIDE 的图标。界面常用的有两个部分,一个是用户工程,还有一个是当前活动工程。

## 编辑
VsCode 本身就是一个代码编辑器的集成环境,所以理所当然的包含了代码编辑的常用的功能,包括代码高亮,智能提示等。LuatIDE 扩展了一些有关 LuatOS API 的一些代码提示,可以使开发人员更加便捷的进行代码编写。除了代码编辑本身以外,LuatIDE 引入了工程的概念,代码开发是以工程为单位。
### 新建工程
点击新建工程的图标可以创建一个新工程。

之后可以看到四个选项,空白工程,示例工程,NDK工程和UI工程。我们可以选择新建空白工程,然后填入工程路径,以及工程名称,模块型号可以选择自己对应的模块。之后选择好库文件以及 core 文件即可创建一个空白工程。

可以看到,默认创建的工程包含两个文件,一个工程配置文件,以及一个默认的 main.lua 文件。

如果想使用模拟器,需要点击模拟器配置设置为 **enable**。

### 导入工程
如果我们是在 LuatIDE 从零开发当然是选择新建工程,若当前已经存在一个源码文件夹,那么可以选择导入工程。假设当前桌面存在一个 Demo2 文件夹,里面有我们的源码文件。

此时可以点击 **打开工程** 的图标,将一个源码文件夹转化为 LuatIDE 工程。

选择需要导入的文件夹,点击 **选择需要打开的工程目录**。

此时会弹出提示 **该项目未配置工程,是否配置?** 点击确认即可。

可以看到,我们以另一种方式创建了一个工程。

### 示例工程
LuatIDE 可以以示例工程为模板,为我们创建一个新工程。IDE 会为我们把示例工程的代码拷贝出一个副本到新工程。

### 切换工程
若要切换工程,需要点击工程前面的激活工程按钮。

### 编辑工程
如果想在工程添加文件,只需要在当前文件中拖入需要添加的文件。例如,这里拖入了需要添加的文件 test.lua。

如果需要将文件移除工程,需要点击文件前面的删除按钮,然后手动在文件夹删除文件。

### 删除工程
点击工程前的删除按钮,会将工程删除。此操作只是将工程从 LuatIDE 移除,并不会影响硬盘上文件。

## 烧录
代码编写完成之后需要烧录到模块,点击运行按钮即可烧录。

## 代码调试
点击 Debug 按钮可以进行代码调试,首先在代码前点击添加断点,随后点击 Debug 按钮进行调试。

如图所示,此时已经进入调试模式,代码停在了断点处。此时可以查看局部以及全局变量还有堆栈调用情况。

调试工具栏如图所示,从左至右依次是 继续,单步跳过,单步调试,单步跳出,重启,停止。

调试快捷键如下:
```
继续 F5
单步跳过 F10
单步调试 F11
单步跳出 Shift + F11
重启 Ctrl + Shift + F5
停止 Shift + F5
```
除此之外,也可以通过控制台发送 AT 指令进行调试,例如,这里通过发送 **ATI** 指令查看当前模块版本信息。

## 模拟器
在没有硬件条件的情况下,LuatIDE 可以用模拟器进行模拟,包括运行代码逻辑以及界面 UI 显示。
若使用模拟器进行调试,首先需要保证模拟器设置为enable状态 。

可以看到,代码已经正常运行,同时多出了一个白色矩形的窗口,因为代码只是普通的日志打印,并没有UI方面的相关操作,所以显示的只是一个白色矩形。

重新创建一个UI工程,我们可以看到模拟器显示的效果。

在模拟器上右键可以进行设置,可以放大,缩小,或者更换左右横屏显示方式。

## AirUI-Designer
合宙[AirUI-Designer](https://easydoc.net/doc/33717695/NEeXjKdE/nwqAO3qN)是基于通用图形库(LVGL V7.11)库之上,作为LuatIDE的一个插件集成在LuatIDE的生态中,通过拖放各种组件完成嵌入式图形应用程序UI开发,AirUI-Designer会自动生成UI应用程序对应的脚本。界面所见即得,简化开发过程。
### AirUI-Designer文档中心
AirUI设计器详细使用说明点击右侧链接查看:[AirUI-Designer文档中心](https://easydoc.net/doc/33717695/NEeXjKdE/nwqAO3qN)
下面简要的介绍AirUI设计器组成和使用,每个控件的详细说明见上面的AirUI-Designer文档中心。
### 创建UI工程
使用界面设计器首先要求工程必须 带界面显示,也就是说需要创建一个UI工程。

随后点击 UI 设计器按钮即可进入设计器。

界面预览如图所示,这里是一个项目模板,左边可以进行界面拖拽布局设置,右边进行组件属性的编辑。

### 设置选项
设计器的设置选项信息如下图所示:

可以选择是否显示预览控件的 轮廓线,指示图标,类型提示,以及控件名称。以标签为例:

其他选项可以看到有添加屏幕,移除当前屏幕,以及在屏幕之间转移控件等。其中一个屏幕代表的就是一个 UI 界面。工程创建的时候默认添加了一个屏幕 ScreenA,我们可以添加一个屏幕 ScreenB。

创建完成之后,我们可以在两个屏幕之间进行切换。

### 添加组件


此时界面就会显示出我们刚刚添加的标签组件。

### 编辑组件
添加完组件后,可以在右边的 **组件属性** 栏对这个标签组件进行属性设置。
可以看到,文字标签可以修改的属性有尺寸,外观,属性,事件。

一般属性信息,直接在属性框修改数值即可,背景样式之类的属性会弹出二级界面,同样设置即可。

这里把背景色更换成了红色,可以看到 UI 设计器上预览发生了变化。

属性值所代表的具体含义需要查询 LVGL 的 API 文档。
设置完成之后直接运行代码即可预览效果。

# 常见问题
[终端异常](https://doc.openluat.com/wiki/21?wiki_page_id=2975 "终端异常")
[代码行上的错误提示](https://doc.openluat.com/wiki/21?wiki_page_id=2976 "代码行上的错误提示")
[无法与设备通讯](https://doc.openluat.com/wiki/21?wiki_page_id=2977 "无法与设备通讯")
[运行缓慢/卡顿](https://doc.openluat.com/wiki/21?wiki_page_id=2980 "运行缓慢/卡顿")
[IDE无法安装最新版本](https://doc.openluat.com/wiki/21?wiki_page_id=2982 "IDE无法安装最新版本")
# 相关资料及链接
点击此处快速下载:[LuatIDE下载链接](https://marketplace.visualstudio.com/items?itemName=luater.luatide&ssr=false#overview)
LuatIDE 讨论群:649926645