sublime中的cocos-js代码提示
2016-06-08 17:07
363 查看
一、开干
这篇文章是承接着《sublime上的JS代码提示2—api》这篇文章来的,主要生成的是cocos-js的代码提示。和之前的不同主要是源文件还有正则表达式的匹配模式不同。
可以看到源文件是一些jsb开头的文件,这些文件位于
cocos2d_js_bindings工程下:
这个工程是cocos代码导入到js中的地方。
然后我们随便选择一个文件,就拿
jsb_cocos2dx_auto.cpp这个文件开刀吧,
打开这个文件后,我们选择如下的一块代码:
这里就是cocos转js的地方,所以我们的匹配也应该在这里下手,下面是我写的匹配模式:
m = re.match("^\s+JS_FN\(\"(\w+)",line)
然后我们就可以找到我们需要的函数提示啦!
二、工具代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os;
import sys;
import shutil;
import re
SOURCE_DIR = "source"
GENERATE_DIR = "generate"
snippetTemplate = """<snippet>
<content><![CDATA[$content]]></content>
<tabTrigger>$trigger</tabTrigger>
<scope>source.js</scope>
<description>$desc</description>
</snippet>
"""
# 解析cpp
def parseCpp(_src,_dst):
for name in os.listdir(_src):
__src_path = _src + "/" + name
__dst_name = os.path.splitext(name)[0]
__dst_path = _dst + "/" + __dst_name
if os.path.isfile(__src_path):
parseFile(__src_path,__dst_path)
# 解析文件
def parseFile(_file,_dst):
print "start parseFile name:"+_file
print "generate dst:" + _dst
if not os.path.exists(_dst):
os.makedirs(_dst)
f=open(_file,"r")
for line in f.readlines():
# m = re.match("^\s+JS_FN\(\"(\w+)\"$",line)
m = re.match("^\s+JS_FN\(\"(\w+)",line)if m:
generateSnippetFile(_dst,m.group(1))
f.close()
print "end parseFile name:"+_file
print "\n"
# 生成代码提示文件
def generateSnippetFile(_dst,_content):
print "generateSnippetFile content:"+_content
template=snippetTemplate.replace("$content",_content)
template=template.replace("$trigger",_content)
template=template.replace("$desc",_content)
__save_name = _dst + "/" + _content + ".sublime-snippet"
f=open(__save_name, "w+")
f.write(template)
f.close()
# 清空保存目录下的文件
def deleteFiles(_path):
print "start deleteFiles path:"+_path
for name in os.listdir(_path):
full_path = _path + "/" + name
if os.path.isdir(full_path):
shutil.rmtree(full_path)
elif os.path.isfile(full_path):
try:
os.remove(full_path)
except Exception,e:
pass
print "deleteFiles end!!!"
if __name__ == '__main__':
# 1.跳转到当前目录
os.chdir(sys.path[0])
# 2.清空生成目录
deleteFiles(GENERATE_DIR)
# 3.开始解析生成js文件
parseCpp(SOURCE_DIR,GENERATE_DIR)
三、售后
下载地址:http://download.csdn.net/detail/wade333777/9544760
相关文章推荐
- [Android开发]cocos2dx工程中接入支付宝sdk
- cocos2dx android SDK接入总结
- 【图片处理】cocos2dx png图片压缩处理
- quick-cocos2d-x 从2.2.5升级到3.3的体会,quickcocos2dx3.3
- Cocos2dx/NDK .a静态库的制作与使用
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(8)----纹理
- cocos studio工程分析
- 毕设 cocos2d-x的总结
- 关于 网易 cocos2dx面试的几个问题
- cocos2dx切换到后台回来图片不显示问题
- cocos2d DrawNode图形渐变
- 2016 CocosPods安装教程
- cocos2d 了解
- cocos 对应版本和 对应ndk 参考网址
- cocos2d-x 生成pro.android 时找不到 ndk, prase NDK version RELEASE.TXT faild
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(7)----GLSL
- Cocos2dx v3.10 pageview addeventlistener不起作用
- Cocos2d-vs避免过长编译的小技巧
- Cocos2d-x 多分辨率适配完全解析
- JNI针对于cocos2dx