一. QuickxDev
QuickxDev
是一個極其好用的Sublime插件, 主要用來開發quick-cocos2d-x, 提供了特別實用的功能:
1.Run With Player
非常實用的功能,這樣就不用手動啓動Player, 然後選中目錄配置參數了. Player自帶的Create Launcher
一定程度上能夠加速啓動, 但是因爲需要暫時離開開發環境,
所以還是不如這個方便.
這個功能必須在 scripts
目錄上右鍵纔有這個菜單選項.
2.Goto Definition
選中一個字段, ctrl+shift+g
或者右鍵選擇 ‘Goto Definition’ ,就可以跳轉到這個字段的定義, 是不是頓時有種IDE的感覺了呢? 如果這個字段多處都有定義,
就會彈出一個列表供你選擇, 非常棒的功能.
這個功能必須選中這個字段纔會生效.
3.Code Snippets
代碼提示可能是我們對一個代碼編輯器最基本的需求. 如果大家看過QuickDev的源碼, 可以在 QuickDev/quickxlib
下發現代碼分爲三類
- quick-cocos2d-x_api 這裏是quick-cocos2d-x的提示文件,包含cocos2d-x的提示和framework的提示
- snippets 這裏是lua一些控制語句的提示,如:
if else
,while
- system_api 這裏是lua的關鍵字和常用庫的提示,如:
io
,math
簡直業界良心的有木有!!!
4.Compile Scripts
這個功能可以將lua腳本用luajit編譯成字節碼,運行效率數倍提升.同時可以進行腳本加密, 需要在插件的設置中填寫祕鑰.
二. 安裝QuickxDev
sublime
安裝插件十分容易
1.Package Control
如果安裝了 Package Control
, Cmd+Shift+P
打開命令輸入框,
輸入 Install Package
, 回車, 稍等片刻, 在彈出的框中輸入 QuickxDev
回車後等待安裝成功.
2.源碼安裝
我們也可以直接從 github
上下載 QuickxDev
的源碼到Sublime的插件目錄,
Subilme會自動識別, 十分方便.
其實我的建議多數插件從 Package Control
安裝, 方便, 不需要自己維護, 需要修改的插件從源碼安裝, 這樣可以避免Sublime自動升級插件帶來的問題,
而且Sublime3從 Package Control 安裝的插件是二進制的,根本無法修改查看.
3.插件設置
按照上圖打開 QuickXDev.sublime-settings
:
{
// quick_cocos2dx_root
"quick_cocos2dx_root": "/Users/.../quick-cocos2d-x-2.2.5",
// you name and email
"author": "wangbilt<[email protected]>",
// lua template attributes
"date_format": "%Y-%m-%d %H:%M:%S",
// i.e. peter or peter ([email protected])
"author": "justbilt",
// compile_scripts encrypt key,no encrypt when empty
"compile_scripts_key": ""
}
這裏必須要配置就是 quick_cocos2dx_root
,是你quickx的絕對路徑.
三. 定製功能
QuickxDev已經十分牛逼了, 但還是無法滿足每一個人需求, 這時候就需要我們自己去定製一些功能了, 我計劃添加以下功能.
1.快捷鍵啓動Player
雖然通過右鍵菜單在Sublime中啓動Player已經很方便的了, 但還是感覺欠一些, 必須需要 手離開工作區到指定位置->右鍵->找到菜單項->選中
, 這個操作的時間消耗至少是快捷鍵啓動的5倍以上!
這個功能最新的QuickxDev已經支持了,十分贊!
2.對debug.log文件的處理
1).debug.log現在是沒有配色的,看着不是很方便.
2).啓動player的時候自動打開debug.log文件.
3).堆棧的跳轉,dump的跳轉.
這幾點現在已經完全實現, 等整理好後會向官方提交PR.
3.生成一個Java文件的函數簽名
平時我們要生成一個Java文件的函數簽名比較麻煩,要在命令行中使用 javac
, javap
什麼的,比較麻煩,不如通過插件來實現,同時還有生成 java
native
函數的C++實現.
四.後記
上面說的這幾個功能我都會單獨寫文章來講具體的實現. 但在這之前可能是需要大家瞭解 Sublime 插件開發的一些知識, 因此我會同時會開始寫 Sublime 插件開發的系列文章 .