BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查,自动补全,快速搜索,注入宿主程序内对Lua脚本进行调试,设置断点观察变量值,查看堆栈信息等功能。

如何安装

请参考《系列1—BabeLua入门》

新建Lua工程

在VS菜单上选择:【lua】【NewLuaProject】创建Lua工程,如下图:

(1)Luascriptsfolder

Lua代码的路径,该目录下的所有Lua文件将在“FolderExplorer”中列出。

(2)Luaexepath(调试时使用,调试时必填参数)

调试时启动的exe文件路径,简称Luaexe。

(3)Workingpath(调试时使用,调试时可选参数)

启动“Luaexe”时,此参数作为启动进程的workingdirectory参数。

一般可与“Luascriptsfolder”一致,不设置该项则缺省值为“Luaexe”所在目录。

Tips:调用WindowsAPI的GetCurrentDirectory就会得到这个路径。

(4)Commondline(调试时使用)

启动调试时传递给“Luaexe”的命令行参数。

(5)Luaprojectname

Lua工程名称。

点击【OK】按钮创建Lua工程。

Lua文件管理

上图中,点击右键可以新建文件夹,新建/删除Lua文件,文件重命名等。

快速查找Lua文件

使用快捷键Alt+L启动查找Lua文件窗口,输入部分Lua文件名称即可快速查找文件。

显示行号、缩进(使用tab或空格)、自定义VS主题颜色

通过VS菜单[工具]->[选项]打开设置界面

快速定位函数和变量(OutlineExplorer

快捷键:Ctrl+2

Lua语法高亮、语法检查、自动补全

Lua语法高亮、语法检查、自动补全效果如下图:

智能补全和全词补全

自动补全列表的2个Tab页“IntelliSense”和“AllWords”分别为智能补全和全词补全。

智能补全:列出了经过语法分析后的单词(精准)
全词补全:列出了所有出现过的单词(完整)

默认打开的是智能补全,使用快捷键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+KCtrl+D:格式化当前文件

Ctrl+KCtrl+F:格式化选中代码

注释

Ctrl+KCtrl+C:注释选定文本行

Ctrl+KCtrl+U:取消注释选定文本行

代码折叠

Ctrl+MCtrl+M:折叠或取消折叠当前代码块

Ctrl+MCtrl+L:折叠或取消折叠文档中全部代码块

同步文件和文件夹

右键点击Lua工程或目录,选择“Synchronizefilesandfolder”可以将外部的文件和文件夹同步到Lua工程中。

Lua调试

设置Lua项目为启动项目

当您的“解决方案管理器”中包含多个项目时,需要将Lua项目设置为启动项目。

设置断点

鼠标点击左侧灰色区域添加断点(设置断点快捷键F9)。

启动调试

按F5启动“Luaexe”进程开始调试。

查看变量、堆栈信息、输出信息

命中断点后,可以查看变量及堆栈信息,如下图:

(1)堆栈信息

(2)监视变量

(3)鼠标移动到变量上即可查看变量值

(4)断点信息

(5)输出信息

按F10逐过程,F11逐语句进行跟踪调试。

按F5继续运行HelloLua.exe

调试快捷键

F5:继续

F9:添加/删除断点

F10:逐过程

F11:逐语句

Shift+F5:停止调试

cocos2d-x+Lua开发者欢迎加入QQ讨论群

LuafansQQ群:95814965

使用BabeLua3.x在cocos2d-x中编辑和调试Lua的更多相关文章

  1. iOS:调试无法在XCode中运行

    我正在使用XCode4和iOSSDK4.3.我的调试工作正常,但现在我发现在设置断点时,应用暂停,但XCode不关注编辑器中的行.点击断点时也不会显示绿色箭头.我有一个在AppDelegate中分配的UINavigationController.当我在didFinishLaunchingWithOptions中设置断点时,一切都按预期工作:这是当一个断点暂停了mapViewController中的

  2. ios – 异常断点处于活动状态时,应用程序在启动时崩溃

    我刚开始继续开发一款适用于商店的传统iPad应用程序.我注意到项目中的异常断点未启用.当我启用它时,应用程序在启动时崩溃,但在输出窗口中没有给出任何信息,而在线程视图中只有相当无用的信息(见下文)我试着解决它..>将Autolayout设置为关闭.>通过编辑和重新保存故事板文件..但到目前为止没有运气.我的猜测是,故事板中的某些内容被破坏了,因为AppDelegates“确实完成了启动……”

  3. xcode – 如何通过LLDB命令行添加断点操作?

    如果你从Xcode编辑一个断点,有一个超级有用的选项,可以添加一个“Action”,以便在每次遇到断点时自动执行.如何从LLDB命令行添加此类操作?

  4. ios – 如何从变量访问属性或方法?

    是否可以使用变量作为Swift中方法或属性的名称来访问方法或属性?在PHP中,您可以使用$object->{$variable}.例如编辑:这是我正在使用的实际代码:解决方法你可以做到,但不能使用“纯粹的”Swift.Swift的重点是防止这种危险的动态属性访问.你必须使用Cocoa的Key-ValueCoding功能:非常方便,它完全穿过你要穿过的字符串到属性名称的桥,但要注意:这里是龙.

  5. xcode – 如何在LLDB断点条件下使用堆栈内容?

    问题:我有一种情况,我们在发布期间有媒体播放,并且objc_exception_throw()在此期间大约有5次点击,但总是被捕获,并且它在媒体播放器对象的南边.我厌倦了(a)必须手动连续n次,或者(b)在播放完成之前必须禁用断点.我尝试过的:>使断点忽略前五次命中(问题:它并不总是正好五次)>使用我的目标作为模块创建我自己的符号断点(问题:没有改变)我想做什么:想到的一个解决方案是在断点命中时评

  6. Xcode 4.3.1:在以下情况下不显示代码行:由于未捕获的异常而终止应用程序

    在Xcode的早期版本中,当我遇到崩溃时,Xcode通常会打开发生崩溃的文件,并经常将我带到崩溃的行.最新的Xcode似乎没有做那些让调试变得更难的东西.我是否需要启用一些新设置?

  7. ios – XCode断点应该只挂起当前线程

    我需要调试多线程错误.因此,为了获得生成崩溃的条件,我需要在代码中的特定点停止一个线程,并等待另一个线程到达第二个断点.我现在遇到的问题是,如果一个线程遇到断点,则所有其他线程都被挂起.有没有办法只停止一个线程,让其他线程运行,直到它们到达第二个断点?)其他更有趣的选择:当你点击第一个断点时,你可以进入控制台并写入这应该在该断点处暂停当前上下文中的线程一小时.然后在Xcode中恢复执行.

  8. ios – Veracode,调试符号和XCode

    我正在尝试通过Veracode扫描iOS应用程序:一个应用程序安全平台.为了使它们扫描.IPA,.IPA需要包含调试符号.对于正在使用的Archive构建配置和项目/目标,我已指定:>生成调试符号:是>复制期间剥离调试符号:NO>死代码剥离:没有>默认隐藏的符号:NO>剥离链接产品:没有然而,在提交.IPA时,Veracode仍然给我以下错误:没有调试符号编译的主文件–1个文件我需要采取另一个步骤来创建调试符号,或许是存档吗?

  9. 在Xcode中的选择器上添加符号断点

    我的应用程序中有一个错误,显示以下(部分)堆栈跟踪:为了调试这个,我决定在–[EventboolValue]上添加一个符号断点,推断当发送该选择器时,调试器将停止.然而,没有任何反应.设置断点后,应用程序只是士兵并生成相同的异常而不停止.我已经定义了断点如下:我正在使用LLDB调试器和Xcode4.2解决方法在选择器上设置断点会导致lldb在执行该选择器时停止,而不是在发送时停止.在你的情况下,没

  10. iOS >>块>>更改块外部的变量值

    我不是在处理一个Object并改变它,就像我的mString一样.我希望’center’属性的行为类似于myInt,因为它是直接访问的C结构,而不是指向对象的指针.我希望’backgroundColor’的行为类似于我的imstring,因为它是一个指向一个新对象的对象的指针,不是吗?

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部