一. 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下发现代码分为三类

  1. quick-cocos2d-x_api 这里是quick-cocos2d-x的提示文件,包含cocos2d-x的提示和framework的提示
  2. snippets 这里是lua一些控制语句的提示,如:if else, while
  3. 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:

1
2
3
4
5
6
7
8
9
10
11
12
{
// quick_cocos2dx_root
"quick_cocos2dx_root": "/Users/.../quick-cocos2d-x-2.2.5",
// you name and email
"author": "wangbilt<wangbilt@gmail.com>",
// lua template attributes
"date_format": "%Y-%m-%d %H:%M:%S",
// i.e. peter or peter (peter@gmail.com)
"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 插件开发的系列文章 .

(本文完)