ZeroBrane Studio是一個輕量級的Lua IDE,擁有代碼提示、語法高亮、遠(yuǎn)程調(diào)試、代碼分析、調(diào)試等功能。支持多個 Lua 引擎 (LuaJIT,Moai, Gideros, Corona, Marmalade Quick, MobileLua, GSL-shell, and others).它是基于Estrela Editor.用Lua開發(fā)的,用到了lua socket、WxWidget等。 可以很好的結(jié)合cocos2d-x做游戲開發(fā)。調(diào)試、代碼提示都可以完美的解決。
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 +鼠標(biāo) ,可以塊選中文本。
F12 折疊/展開 所有
F5 調(diào)試運(yùn)行 點擊第二次 將跳轉(zhuǎn)到第一個斷點處
F10 單步執(zhí)行
shift +F10 單步執(zhí)行,不進(jìn)入函數(shù)體
Ctrl + F10 跳出停止調(diào)試
f6 運(yùn)行程序不調(diào)試
ctrl + f6 不停循環(huán)運(yùn)行程序不調(diào)試
f7 匯編代碼
ctrl +f7 分析代碼
在ZeroBrane Studio中進(jìn)行斷點調(diào)試
2013-12-13 更新:由于quick作者修改了調(diào)試方式,可能此處介紹的方法不再有效,請參閱 一、 Quick官方提供的調(diào)試方式
ZeroBrane Studio是一個用Lua寫成的跨平臺Lua IDE。界面使用 wxLua 實現(xiàn)。
1. 調(diào)試模塊
ZeroBrane Studio 使用 modbdebug 模塊(位于 [ZeroBrane]/lualibs/mobdebug/mobdebug.lua) 實現(xiàn)調(diào)試支持。為了讓項目找到這個模塊,我采用最簡單的方法,將該模塊復(fù)制進(jìn)入 coinflip 的 scripts 文件夾。
若不希望這樣粗暴,可采用另外兩種方法,參考: Remote debugging
2. require mobdebug
在 coinflip/scripts/main.lua 的第一行加入下面的代碼,讓項目啟動調(diào)試支持。
require("mobdebug").start()
3. 啟動調(diào)試服務(wù)器
在 ZeroBrane Studio 中選擇 Project->Start Debugger Server 命令。如果該命令是灰色的,說明調(diào)試服務(wù)器已經(jīng)啟動了。
4. 加斷點
編輯 game.lua 文件,在32行 game.enterChooseLevelScene() 處選擇 Project -> Toggle BreakPoint 加入斷點。
5. 啟動 quick-player
在 quick-player 中啟動 coinflip 項目,ZeroBrane Studio 會自動停在 main.lua 中。按 Project -> Continue 繼續(xù)運(yùn)行,游戲界面出現(xiàn)。
單擊游戲中的 “Start” 按鈕,調(diào)試停止在 game.lua 中的斷點處。如下圖所示:
查看大圖
6. 進(jìn)入源碼調(diào)試
若要進(jìn)入框架內(nèi)部調(diào)試,可以取消 main.lua 中的CCLuaLoadChunksFromZip("res/framework_precompiled.zip") 調(diào)用,然后將 [quick-cocos2d-x]/framework 復(fù)制的 coinflip/scripts/ 文件夾,這樣在調(diào)試的時候,就可以進(jìn)入框架內(nèi)部了。如下圖所示:
特性:
完全采用 Lua 編寫,定制容易
體積小、可移植和跨平臺支持 (Windows, Mac OSX, and Linux).
函數(shù)、關(guān)鍵字和自定義 API 的自動完成
交互式控制臺可直接測試代碼片段,支持本地和遠(yuǎn)程執(zhí)行
提供本地和遠(yuǎn)程調(diào)試器,支持 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.
函數(shù)輪廓
模糊搜索 Go To File, Go To Symbol, 和 Insert Library Function.
多種擴(kuò)展當(dāng)前功能的方法:
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.