之前在Windows上一直使用的是VisualStudio的Babelua插件进行调试lua项目的,但是在mac上,就傻眼了,写代码vscode成了首选。
在vscode中有非常多的lua插件,我中间也尝试了好几个,都感觉不是太理想,最后采用了这腾讯出品的LuaHelper,配套的也写了怎么调试lua项目
LuaHelper提供了三个常用的命令,配置项目非常方便。
网络异常,图片无法展示
|
按照文档我配置完成后,的确是可以正常调试lua项目了,总结下步骤就是:
- 使用
LuaHelper:Copy Debug File
复制调试文件LuaPanda.lua
到项目的指定位置,推荐是main.lua
同级目录。 - 创建
launch.json
文件,加入Configurations,使用LuaHelper:Attach
配置网络异常,图片无法展示|
{ "version": "0.2.0", "configurations": [ { "type": "LuaHelper-Debug", "request": "launch", "name": "LuaHelper-Attach", "description": "通用模式,通常调试项目请选择此模式", "cwd": "${workspaceFolder}", "luaFileExtension": "", "connectionPort": 8818, "stopOnEntry": true, "useCHook": true, "autoPathMode": true } ] } 复制代码
- 其实经过上边2步已经可以调试lua项目了,只需要我们手动启动游戏即可,我们可以把游戏的可执行程序也配置进来,这样更方便
{ "version": "0.2.0", "configurations": [ { "program": "游戏的可执行程序路径", "args": [ "-workdir", "游戏的开发目录,就是包含main.lua、sr、res的目录" ], } ] } 复制代码
- 关于
-workdir
的设置,参考这篇文章 - 这里有一个小技巧,因为Cocos2d-x是跨平台的,
program
在不同的平台生成的可执行程序是不一样的,vscode也支持配置相应平台的program
参数,具体的文档里面有说明,只需要在平台下重新定义该属性即可:
{ "version": "0.2.0", "configurations": [ { "windows":{ "programe":"./game.exe" }, "osx":{ "program": "./game.app/Contents/MacOS/game" }, "args": [ "-workdir", "游戏的开发目录,就是包含main.lua、sr、res的目录" ], } ] } 复制代码
- 我提交了一个pr,支持program相对路径
使用过程中遇到的问题:
"stopOnEntry": false, "useCHook": false, "autoPathMode": false 复制代码
全部设置为false就正常可以调试了,具体原因不太清楚