虽然cocos2d-x官方在不遗余力地推进Cocos Code IDE的发展,但基于Eclipse架构的它注定无论如何都不会像Sublime用起来那么爽,反应那么快,用Sublime写代码时敲击键盘就好像是用针在戳气球,每一下都能得到纳秒级的实时响应,你会觉得电脑是完全在你掌控之下的,那感觉非常爽。Sublime之所以流行这么多年,占据代码编辑器市场老大地位不可撼动,就是狠好地贯彻了“天下武功,唯快不破”的真理。用Sublime写代码就是快,就是爽,谁用谁知道。
而Cocos Code IDE呢?因为基于Java、基于Eclipse、又加入了太多的代码提示,总感觉写代码的时候有一种慢半拍的感觉,敲击键盘就好像是在拍皮球,总要等那么一下才行。这对于早年间一直在用vim、后来一直在用Sublime的的我来说,是完全不适应的。就好比一个骑了多年1000cc大排量摩托的人,突然转去开一辆百公里加速6.5秒的SUV,不管别人怎么说6.5秒的加速足够快了,对我来说就是慢,就是响应不行、操控不行、转向不行、各种不行。
于是果断转回Sublime来写cocos2d-x代码,Cocos Code IDE就只用来运行程序和调试,一个文件都不打开。这样有另外一个好处就是IDE里的日志窗口可以搞的狠大,不用担心侵占代码编辑器的空间,哈哈,因为根本就不用代码编辑器。
这样的方式狠爽,但是现在问题来了,挖掘机技术哪家……不对,是Sublime下写Lua哪个插件强?答案是4个,其中1个是系统自带。
1、Sublime自带的Lua。自动检查语法错误、常用语法snippet,这是必备插件:
2、FormatLua。使用Option+L快捷键自动格式化Lua代码,作者是中国人Deng,Lifeng,必须赞一个。FormatLua插件不太完善,也有多次格式化会让文件末尾的空行不断增长的小bug,但瑕不掩瑜,团队协作开发时还是狠有必要装一个的,毕竟谁都不喜欢看别人写出来的烂代码。
唯一问题是作者格式化出来的缩进是4个空格,我们团队喜欢用2个,所以要打开Sublime的插件目录,稍微改一下它的源代码文件~/Library/Application\ Support/Sublime\ Text\ 2/Packages/FormatLua/formatter.lua
,把4个空格改成2个就行了:
唯一需要注意的是,QuickXDev最近升级了3.x版本,而3.x版本的quick在API方面的变动就太大了,变得几乎不能用作cocos2d-x + Lua的参考API了,所以安装QuickXDev插件后要去Sublime插件目录里把QuickXDev目录下的内容都删掉,手动下载QuickXDev 2.2.5版本的压缩包解压到QuickXDev目录下,强制只用2.x版本的插件才行
4、DashDoc。这个插件不仅限于写cocos2d-x + Lua,它用来在Sublime里Ctrl+H一键跳转至Dash文档。得益于Sublime的超快响应、Dash软件本身的高质量、以及Mac系统本身的狠好支持,Sublime和Dash之间的配合简直天衣无缝。比如你的光标目前在Sprite单词下,只要一按Ctrl+H,瞬间就会跳到Dash中的Sprite类文档中。
要让DashDoc支持cocos2d-x,需要小改一下它的配置文件,打开Sublime菜单,找到Lua的定义,把cocos2dx也写进去,就行了:
工欲善其事必先利其器,看一个程序员是不是把自己的电脑管理的狠好、平时使用的软件是什么品位的、是不是把自己的开发环境整理的井井有条、写代码的效率是不是最优化,也是侧面衡量这个程序员水平的重要参考。
BTW:虽然我主要用Sublime来写代码,但Cocos Code IDE和Dash两样依然缺一不可。Cocos Code IDE除了运行和调试,还能让我不看文档就学到一些API在Lua里的特殊写法,比如registerScriptHandler
这类跟C++不一样的API,虽然这类特殊的API不多,但第一次用的时候因为没经验就是不知道该怎么写,cocos2d-x的官方文档里也没说明(官方文档有多烂我就不说了),所以Cocos Code IDE对于新手是非常友好的,一旦度过了新手期,就可以考虑抛开转而去用Sublime了。Dash用来查cocos2d-x的C++ API,毕竟cocos2d-x是一个连background
和backGround
都不统一的奇葩框架,所以经常地查各种API是非常必要的。