使用BabeLua3.x在cocos2d-x中编辑和调试Lua
BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查,自动补全,快速搜索,注入宿主程序内对Lua脚本进行调试,设置断点观察变量值,查看堆栈信息等功能。
如何安装
请参考《系列1—BabeLua入门》
新建Lua工程
在VS菜单上选择:【lua】【New Lua Project】创建Lua工程,如下图:
(1)Lua scripts folder
Lua代码的路径,该目录下的所有Lua文件将在“Folder Explorer”中列出。
(2)Lua exe path(调试时使用,调试时必填参数)
调试时启动的exe文件路径,简称Lua exe。
(3)Working path(调试时使用,调试时可选参数)
启动“Lua exe”时,此参数作为启动进程的working directory参数。
一般可与“Lua scripts folder”一致,不设置该项则缺省值为“Lua exe”所在目录。
Tips:调用Windows API的GetCurrentDirectory就会得到这个路径。
(4)Commond line(调试时使用)
启动调试时传递给“Lua exe”的命令行参数。
(5)Lua project name
Lua工程名称。
点击【OK】按钮创建Lua工程。
Lua文件管理
上图中,点击右键可以新建文件夹,新建/删除Lua文件,文件重命名等。
快速查找Lua文件
使用快捷键Alt + L启动查找Lua文件窗口,输入部分Lua文件名称即可快速查找文件。
显示行号、缩进(使用tab或空格)、自定义VS主题颜色
通过VS菜单[工具]->[选项]打开设置界面
快速定位函数和变量(Outline Explorer)
快捷键:Ctrl+2
Lua语法高亮、语法检查、自动补全
Lua语法高亮、语法检查、自动补全效果如下图:
智能补全和全词补全
自动补全列表的2个Tab页“IntelliSense”和“All Words”分别为智能补全和全词补全。
智能补全:列出了经过语法分析后的单词(精准)
全词补全:列出了所有出现过的单词(完整)
默认打开的是智能补全,使用快捷键Ctrl+J可以在智能补全和全词补全之间进行切换。
智能补全:
全词补全:
添加cocos2d自动补全词库
cocos2d-x词库下载:
下载地址:http://pan.baidu.com/s/1sjmC169
选择下载对应版本的cocos2d-x词库文件,放在【我的文档】【BabeLua】【Completion】目录下,重新启动VS即可。
Windows7,Windows8如何打开【我的文档】目录?
在桌面上双击打开计算机,在左侧列表中点击“文档”即可打开【我的文档】目录。
代码段补全
输入代码段关键字,按Tab进行代码段补全
快速搜索关键字
Ctrl+双击: 从当前文件搜索
Alt+双击: 从当前项目中搜索
Ctrl+F: 从当前文件搜索
Ctrl+Shift+F: 从当前项目中搜索
快速查找函数
快捷键:Ctrl+P
转到定义 (变量,函数)
快捷键:F12
将光标定位到变量或函数上,按F12即可跳转到该变量或函数的定义。
格式化代码
Ctrl + K,Ctrl + D:格式化当前文件
Ctrl + K,Ctrl + F:格式化选中代码
注释
Ctrl + K,Ctrl + C:注释选定文本行
Ctrl + K,Ctrl + U:取消注释选定文本行
代码折叠
Ctrl + M,Ctrl + M:折叠或取消折叠当前代码块
Ctrl + M,Ctrl + L:折叠或取消折叠文档中全部代码块
同步文件和文件夹
右键点击Lua工程或目录,选择“Synchronize files and folder”可以将外部的文件和文件夹同步到Lua工程中。
Lua调试
设置Lua项目为启动项目
当您的“解决方案管理器”中包含多个项目时,需要将Lua项目设置为启动项目。
设置断点
鼠标点击左侧灰色区域添加断点(设置断点快捷键F9)。
启动调试
按F5启动“Lua exe”进程开始调试。
查看变量、堆栈信息、输出信息
命中断点后,可以查看变量及堆栈信息,如下图:
(1)堆栈信息
(2)监视变量
(3)鼠标移动到变量上即可查看变量值
(4)断点信息
(5)输出信息
按F10逐过程,F11逐语句进行跟踪调试。
按F5继续运行HelloLua.exe
调试快捷键
F5:继续
F9:添加/删除断点
F10:逐过程
F11:逐语句
Shift+F5:停止调试
cocos2d-x+Lua开发者欢迎加入QQ讨论群
Lua fans QQ群:95814965
使用BabeLua3.x在cocos2d-x中编辑和调试Lua的更多相关文章
- 使用BabeLua在cocos2d-x中编辑和调试Lua
使用BabeLua在cocos2d-x中编辑和调试Lua BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查.自己主动补全.高速搜索,注入宿主程序内对Lu ...
- alv中编辑的时候quan字段小数位数被截取掉
alv中编辑的时候quan字段小数位数被截取掉:位数太多(最大只能为 0) 解决方法: ls_fcat-fieldname = 'ZKBSL'. ls_fcat-coltext = '卡板数 ...
- 在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件
Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web ...
- 如何在cocos2d项目中enable ARC
如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...
- 如何在Cocos2D游戏中实现A*寻路算法(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- 如何在Cocos2D游戏中实现A*寻路算法(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- word中编辑论文公式对齐问题
这里只说在word中编辑公式时,公式居中,编号右对齐的情况. 在编辑公式时,我平时就是右对齐,然后通过敲击空格键进行公式的居中,然而这样并不美观.所以接下来学习一下: 1)首先打开视图-->标尺 ...
- qt creator中编辑Makefile的设置
在qt creator中编辑Makefile时的Tab键总是不能识别,需要这样设置
- eclipse中编辑properties文件无法看到中文
如果在eclipse中编辑properties文件无法看到中文则参考“Eclipse开发环境配置-indigo.docx”添加propedit插件.
随机推荐
- HDU 2102 A计划(BFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2102 题目大意:公主被关在一个两层的迷宫里,迷宫的入口是S(0,0,0),公主的位置用P表示,时空传输 ...
- python discover 函数介绍
discover(start_dir,pattern='test*.py',top_level_dir=None)找到指定目录下所有测试模块,并可递归查到子目录下的测试木块,只有匹配到的文件名才会被加 ...
- Django之管理权限
什么是权限: 谁对什么资源能做什么操作. 管理权限的实现有很多,这里实现一个最简单的管理权限的实现方式:rbac ( role based access control ) 实现的一个基本思路: ...
- 【转】【delphi】ClientDataSet详细解读
原文:http://www.cnblogs.com/lcw/p/3496764.html TClientDataSet的基本属性和方法 TClientDataSet控件继承自TDataSet,其数据存 ...
- Ubuntu16.4 修改静态ip地址
root@temple-102:~# ifconfig eno1 Link encap:Ethernet HWaddr 0c:c4:7a:e6:49:74 UP BROADCAST MULTICAST ...
- linux技巧-持续更新
终端下锁屏ctrl + s,解锁 ctrl + q 长时间运行命令,防中断 screen 注意,screen命令里面是不可以滚动屏幕,查看以前记录的 : ctrl+A + [ 终端切割屏幕,类似vi ...
- c++ primer 6 语句
没什么重要的东西,异常处理在17章再讲吧
- 【WPF】ListView自定义分页
XAML: <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDe ...
- 修改MySQL事件
MySQL允许您更改现有事件的各种属性. 要更改现有事件,请使用ALTER EVENT语句,如下所示: ALTER EVENT event_name ON SCHEDULE schedule ON C ...
- Python导入模块-Import
#1语法importimport module1,module2,module3,module4 #2from xx import xx 语句from module import name1,name ...