使用VS插件在VS2012/2013上编辑和调试Quick-cocos2d-x的Lua代码

BabeLua简介
BabeLua是一款基于VS2012/2013(简称VS)的免费开源的Lua集成开发环境,在Lua编辑和调试方面,具有如下功能和特性:
●Lua语法高亮
●语法检查
●自动补全
●一键注释
●格式化代码
●自定义代码折叠
●工程管理
●快速搜索和跳转
●文件大纲
●注入宿主程序内对Lua脚本进行调试
●设置断点观察变量值
●查看堆栈信息

BabeLua可以调试哪些程序
已经通过测试的程序:Lua5.1 for windows; Cocos2d-x(含quick); Babe2D(Boyaa)
正在测试的程序:Lua5.2; LuaJIT; Love2d; Moai; Gideros; Marmalade Quick; Corona; GSL-shell; 迅雷Bolt

版本更新日志
https://babelua.codeplex.com/

如何安装
第一步:确定您已安装VS2012/2013
BabeLua是VS插件,类似visual assist

第二步:下载BabeLua安装包
https://babelua.codeplex.com/releases
主站下载(国外站点,速度较慢,可下载最新源码)

http://pan.baidu.com/s/1sjmC169
国内镜像(速度较快)

第三步:安装BabeLua
双击BabeLua.vsix进行安装

第四步:验证安装
启动VS2012/2013,在主界面菜单上找到【Lua】菜单项,即安装成功。

主界面


上图中,数字序号对应的界面分别是:

(1)BabeLua在VS上插入的菜单;
(2)“Folder Explorer”是一个轻量级的Lua文件管理界面;
(3)源码编辑区域;
(4)显示当前编辑的Lua文件大纲列表;
(5)“Outline Explorer”是一个显示当前Lua文件大纲的界面;
(6)“Search Result”是快速搜索结果界面;
(7)系统调试界面区域;
(8)BabeLua工具栏;
(9)快速定位函数和变量界面;
建议您将“Folder Explorer”、“Outline Explorer”、“Search Result”等界面,拖动并停靠在您喜欢的位置。

使用BabeLua在Quick-cocos2d-x中编辑和调试Lua

如何安装
请参考上篇进行安装

设置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文件。

启动调试后,查看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语法高亮、语法检查、自动补全效果如下图:

添加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

更多使用技巧请参考:http://blog.csdn.net/babestudio

试过了,不错,挺好用的。多谢了!
不过有一点要注意,如果调试自己的项目,要在设置里的command line填上相关参数,比较简单的做法是用player先创建一个快捷方式,然后把里面的内容复制进来,要求player启动就直接打开自己的项目才能调试

这个东西牛叉啊,不过不支持 Visual Studio Express 啊。只好再下载一个 VS PRO 了。:2::2::2:

谢谢,很牛。本站不许发群,所以帮你把帖子编辑了,下不为例。

按下F5后,player启动了,显示了player的welcome界面,然后选择项目脚本文件夹后,vs里就自动停止了bubug
输出如下:
Warning 1003: Not all virtual machines were destroyed
Debugging session ended

请问这个怎么破?

什么时候出个类似cocos2dx-api.lua的quick-cocos2dx-api呢,哈哈

干的好哦!之前就在用这个啦

其实可以在开发中把framework目录直接放在app同级目录中,然后启动参数加上-disable-load-framework即可

这样开发过程中可以随时看到framework的代码,调试起来也相当方便

打包的时候将framework去掉

quick自带的函数能提示吗?
我的不能提示

mark
好文要顶:7:

看起来很强大,正在试,先顶一下楼主~

最近的player,又换回VS工程的了,不知道还能不能用。。。

凡是self.var的变量 都无法自动完成 能否修复一下啊?

1.6.0版本发布了

提供了一种简单的自动补全功能(类似Sublime Text)
扩充了“搜索”功能(在“Search Result1/2界面中)。快捷的搜索功能,是BabeLua的特色。

修复了内存泄露。

楼主 求一个 lua Completion 的生成工具
quick x 的 Completion lua 文件 目前有最新的吗?

有人帮忙在做补全库,要等几天跟大家分享吧。

文件管理器没有自动刷新 在外部添加的文件 必须重启VS才能显示

牛啊!+上quick的api就更完美啦。

测试过,貌似计时器执行的方法就无法debug进去了…

你写的?

此处省略1000000000000字