准备工作:
1.下载vscode
2.下载luaide
免费版:https://www.jianshu.com/p/a2142d4f119c,下载后将zip文件解压到 C:\Users\Administrator.vscode\extensions
但是:
调试luaide的示例工程
1.https://www.jianshu.com/p/dda945be6bc2
示例工程中的LuaDebug.lua.txt过时,去下新的:https://www.jianshu.com/p/84fac5c7b940
下载好后原位置替换
2.将assets 文件夹拖入到vscode
3.如果使用luaide进行lua调试,需要先禁用或卸载其他的lua调试插件.
如果你没有生成过调试配置 那么先生成
4.选择xlua调试
5.在vscode中找到LuaTestScript.lua.txt,下个断点,然后启动调试
6.unity 中打开02_U3DScripting文件夹下场景运行,可以看到vscode中命中断点
调试自己的xLua工程
1.把LuaDebug.lua.txt放入到工程的Resources目录下
2.将assets 文件夹拖入到vscode
说明:因为是.lua.txt文件,所以在vscode如果没出现代码高亮,或者不能下断点情况,新增vscode的工作区设置
{
"files.associations": {
"*.txt": "lua"
},
"luaide.apiType": "xlua"
}
把.lua.txt文件识别为.lua文件,即出现代码高亮并且可以调试了
3.模仿示例工程,将LuaBehaviour.cs的52行改为
luaEnv.DoString(luaScript.text, "LuaTestScript.lua", scriptEnv);
luaEnv.DoString(luaScript.text, “LuaTestScript.lua”, scriptEnv);
doString 方法的第二个参数为调试的文件名 因为Dostring 加载 需要将chunkName 告诉lua 这样才能在调试时获取到调试内容的路径
4.vscode中LuaTestScript.lua.txt 头部新增
local breakSocketHandle,debugXpCall = require("LuaDebug")("localhost",7003)
这样运行时,此lua脚本就会去unity工程中Resources文件中查找第一步的LuaDebug.lua.txt,启动本地调试
5.在vscode中下断点运行,再运行unity,可以看到成功命中断点