ZeroBrane Studio是一个轻量级的Lua IDE,拥有代码提示、语法高亮、远程调试、代码分析、调试等功能。支持多个 Lua 引擎 (LuaJIT,Moai, Gideros, Corona, Marmalade Quick, MobileLua, GSL-shell, and others).它是基于Estrela Editor.用Lua开发的,用到了lua socket、WxWidget等。 可以很好的结合cocos2d-x做游戏开发。调试、代码提示都可以完美的解决。
lua IDE ZeroBrane Studio配置:
editor.fontname = "Menlo"
editor.showfncall = false
editor.tabwidth = 4
editor.usetabs = true
editor.autotabs = true
editor.usewrap = false
editor.smartindent = true
local G = ...
styles = G.loadfile('cfg/tomorrow.lua')('Zenburn')
styleoutshell = styles
ZeroBrane Studio快捷键 :
alt + shift +鼠标 ,可以块选中文本。
F12 折叠/展开 所有
F5 调试运行 点击第二次 将跳转到第一个断点处
F10 单步执行
shift +F10 单步执行,不进入函数体
Ctrl + F10 跳出停止调试
f6 运行程序不调试
ctrl + f6 不停循环运行程序不调试
f7 汇编代码
ctrl +f7 分析代码
在ZeroBrane Studio中进行断点调试
2013-12-13 更新:由于quick作者修改了调试方式,可能此处介绍的方法不再有效,请参阅 一、 Quick官方提供的调试方式
ZeroBrane Studio是一个用Lua写成的跨平台Lua IDE。界面使用 wxLua 实现。
1. 调试模块
ZeroBrane Studio 使用 modbdebug 模块(位于 [ZeroBrane]/lualibs/mobdebug/mobdebug.lua) 实现调试支持。为了让项目找到这个模块,我采用最简单的方法,将该模块复制进入 coinflip 的 scripts 文件夹。
若不希望这样粗暴,可采用另外两种方法,参考: Remote debugging
2. require mobdebug
在 coinflip/scripts/main.lua 的第一行加入下面的代码,让项目启动调试支持。
require("mobdebug").start()
3. 启动调试服务器
在 ZeroBrane Studio 中选择 Project->Start Debugger Server 命令。如果该命令是灰色的,说明调试服务器已经启动了。
4. 加断点
编辑 game.lua 文件,在32行 game.enterChooseLevelScene() 处选择 Project -> Toggle BreakPoint 加入断点。
5. 启动 quick-player
在 quick-player 中启动 coinflip 项目,ZeroBrane Studio 会自动停在 main.lua 中。按 Project -> Continue 继续运行,游戏界面出现。
单击游戏中的 “Start” 按钮,调试停止在 game.lua 中的断点处。如下图所示:
查看大图
6. 进入源码调试
若要进入框架内部调试,可以取消 main.lua 中的CCLuaLoadChunksFromZip("res/framework_precompiled.zip") 调用,然后将 [quick-cocos2d-x]/framework 复制的 coinflip/scripts/ 文件夹,这样在调试的时候,就可以进入框架内部了。如下图所示:
特性:
完全采用 Lua 编写,定制容易
体积小、可移植和跨平台支持 (Windows, Mac OSX, and Linux).
函数、关键字和自定义 API 的自动完成
交互式控制台可直接测试代码片段,支持本地和远程执行
提供本地和远程调试器,支持 Lua 5.1, Lua 5.2, Lua 5.3, LuaJIT, 和 其他 Lua 引擎
Live coding with Lua, LÖVE, Gideros, Moai, Corona SDK, GSL-shell, and other engines.
函数轮廓
模糊搜索 Go To File, Go To Symbol, 和 Insert Library Function.
多种扩展当前功能的方法:
specs (spec/): specifications for file syntax, lexer, and keywords;
apis (api/): descriptions for code completion and tooltips;
interpreters (interpreters/): components for setting debugging and run-time project environment;
packages (packages/): plugins that provide additional functionality;
config (cfg/): settings for styles, color themes, and other preferences;
translations (cfg/i18n/): translations of the menus and messages to other languages;
tools (tools/): additional tools.