1. 安装插件
首先,我们需要在Visual Studio Code中安装EmmyLua插件。打开VSCode,在Extensions面板中搜索EmmyLua,点击安装插件。
2. 配置项目
在Unity工程中,我们需要配置EmmyLua的相关参数。在项目的根目录下创建一个.emmy文件,并在其中添加以下内容:
{
"Lua": {
"runtime": "Lua 5.1",
"annotation": {
"type": "emmylua"
},
"workspace": [
"Assets/Scripts/"
]
}
}
这里的配置指定了Lua的运行环境为Lua 5.1,并且指定了EmmyLua注释的类型。workspace字段指定了Lua代码所在的目录,在这个目录下的Lua文件将会被EmmyLua插件处理。
3. 启动Unity的Lua调试模式
在Unity编辑器中,进入到PlayerSettings面板,在Scripting Define Symbols字段中添加“EMMY_LUA_DEBUG”。这将会启用Unity的Lua调试模式,以便与VSCode中的插件进行交互。
4. 设置VSCode的调试配置
打开VSCode,并点击“调试”按钮进入调试面板。在面板的左上角点击齿轮按钮,选择“Lua Debugger”选项。然后点击左侧的“添加配置”按钮,选择“Lua Debugger”选项。
在出现的.vscode/launch.json文件中,我们需要进行如下配置:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Current File",
"type": "lua",
"request": "launch",
"program": "${file}",
"stopOnEntry": true,
"sourceMaps": true,
"localRoot": "${workspaceFolder}",
"luaRoot": "${workspaceFolder}/Assets/Scripts",
"lua": {
"customRuntime": "E:/Code/lua/bin/luajit.exe",
"lua52": false
}
}
]
}
这里的配置中,我们指定了调试启动的选项。"program"字段设置为"${file}",表示调试启动的文件为当前打开的文件。"localRoot"字段设置为"${workspaceFolder}",表示当前工作空间的根目录。"luaRoot"字段设置为"${workspaceFolder}/Assets/Scripts",表示Lua代码所在的目录。"customRuntime"字段设置为Lua的运行时路径。
5. 开始调试
现在,我们可以开始调试Lua代码了。在VSCode中打开一个Lua文件,设置断点,然后点击调试面板中的绿色播放按钮。VSCode会连接到Unity编辑器中正在运行的Lua调试模式,并在断点处停下来。
在调试过程中,您可以使用VSCode的调试工具栏进行调试操作,包括单步执行、查看变量值等。
6. 对Lua代码进行调试
在调试过程中,您可以在VSCode中按照正常的调试流程对Lua代码进行调试。您可以设置断点,单步执行代码,查看变量的值等。
以下是一些常用的调试操作:
- 设置断点:在要设置断点的行上点击编辑器的左侧边栏。
- 单步执行:在调试工具栏中点击单步执行按钮,或使用快捷键F10。
- 跳过函数调用:在调试工具栏中点击跳过函数调用按钮,或使用快捷键F11。
- 查看变量值:在调试工具栏中点击查看变量值按钮,或使用快捷键Shift+F9。
7. 结束调试
当您完成调试时,可以点击调试面板中的红色停止按钮或使用快捷键Shift+F5来结束调试。此时,VSCode将与Unity编辑器中的Lua调试模式断开连接。
总结
通过EmmyLua插件和VSCode的调试功能,我们可以方便地调试Unity工程中的Lua代码。首先,我们需要安装EmmyLua插件,并在Unity工程中配置EmmyLua的参数。然后,我们需要启动Unity的Lua调试模式,并在VSCode中设置调试配置。最后,我们可以使用VSCode的调试功能来调试Lua代码。在调试过程中,我们可以设置断点,单步执行代码,查看变量的值等。