使用BabeLua在Quick-cocos2d-x中编辑和调试Lua
BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查,自动补全,快速搜索,注入宿主程序内对Lua脚本进行调试,设置断点观察变量值,查看堆栈信息等功能。
如何安装
请参考《系列1—BabeLua入门》
设置Quick-cocos2d-x项目
在VS菜单上选择:【lua】【Settings】打开设置界面,如下图(左上角选中【Lua Folder】)
如上图分别设置:
(1)Lua scripts folder
Lua文件目录,该目录下的所有Lua文件将在“Folder Explorer”中列出。
(2)Lua exe path
调试时启动的exe文件路径。
(3)Working path
启动“Lua exe”时,此参数作为启动进程的working directory参数。
(4)Command line
启动调试时传递给“Lua exe”的命令行参数。
例如:-workdir D:\quick-cocos2d-x-develop\samples\benchmark -file scripts\main.lua
quick-x-player支持的命令行参数请参考:http://quick.cocoachina.com/?p=39
(5)Setting name
本套参数名称。
上图的“New folder Setting”支持设置多套参数,您可以在多套参数之间切换。
设置完成后点【Save】按钮保存,再点【Select】按钮加载当前选择的参数,“Folder Explorer”界面将列出“Lua scripts folder”所设置目录下的所有Lua文件。
如果你只需要调试Lua文件,你可以使用“Lua for windows”来执行Lua代码。请参考《BabeLua系列4—BabeLua常见问题》——怎样使用“Lua for Windows”执行Lua代码?
启动调试后,查看VS“输出”窗口的输出信息,如果出现以下提示信息:
Warning 1000: Lua functions were not found during debugging session
则需要将exe文件对应的pdb文件(和exe文件同时编译出来的pdb文件)拷贝到exe文件所在目录下,然后再启动调试。
Lua编辑
Folder Explorer界面用法
上图中,点击右键可以新建文件夹,新建/删除Lua文件,文件重命名等。
查找Lua文件
使用快捷键Alt + L启动查找Lua文件窗口,输入部分Lua文件名称即可快速查找文件。
Lua语法高亮、语法检查、自动补全
Lua语法高亮、语法检查、自动补全效果如下图:
智能补全和全词补全
自动补全列表的2个Tab页“IntelliSense”和“All Words”分别为智能补全和全词补全。
智能补全:列出了经过语法分析后的单词(精准)
全词补全:列出了所有出现过的单词(完整)
默认打开的是智能补全,使用快捷键Ctrl+J可以在智能补全和全词补全之间进行切换。
智能补全:
全词补全:
添加quick-cocos2d自动补全词库
quick-cocos2d-x词库下载:
下载地址:http://pan.baidu.com/s/1sjmC169
quick-cocos2dx-api.lua:quick-cocos2d-x词库
选择下载quick-cocos2d-x词库文件,放在【我的文档】【BabeLua】【Completion】目录下,重新启动VS即可。
Windows7,Windows8如何打开【我的文档】目录?
在桌面上双击打开计算机,在左侧列表中点击“文档”即可打开【我的文档】目录。
快速搜索关键字
(1)在打开的Lua文件中按住Alt键,鼠标双击变量名即可快速搜索关键字。
(2)点击搜索结果可以跳转到相应的Lua文件行。
(3)在此处可以直接输入关键字名称进行搜索。
(4)点此按钮可以切换“Search Result”窗口中显示路径的方式:绝对或相对路径。
Lua调试
开始调试
如上图所示:
(1)双击打开game.lua文件,系统会自动创建一个名称为temp_player的临时VS项目
(2)在game.lua文件中设置好断点(设置断点快捷键F9)
(3)右键点击temp_player将其设置为启动项目
然后按F5启动quick-x-player.exe进程开始调试
查看变量、堆栈信息、输出信息
命中断点后,可以查看变量及堆栈信息,如下图:
(1)堆栈信息
(2)监视变量
(3)鼠标移动到变量上即可查看变量值
(4)断点信息
(5)输出信息
按F10逐过程,F11逐语句进行跟踪调试。
按F5继续运行quick-x-player.exe
Quick-cocos2d-x+Lua开发者欢迎加入QQ讨论群
Lua fans QQ群:95814965