cocos2d-x+lua开发模式下编辑器的选择
原本打算直接用CocosIDE的,毕竟是官方出品,并且支持Android远程调试,windows下的调试也非常方便,调试的信息也非常全,智能提示也不错。好了,一切看上去非常完美,可是它有一个致命缺陷,就是继承了eclipse一贯的特性--“卡”。基于java写的eclipse我一直使不惯,一方面是快捷键跟vs迥异,而我又懒得去配置(假设他能像IntelliJ IDEA一样,能够方便的删除反复快捷键,我还有兴致去配置一下,可是反复的快捷键没有不论什么提示。仅仅是在使用的过程中会有各种问题),还有一方面就是内存占用高。卡成翔了。常常打两个字母IDE就卡一两秒钟,当须要代码提示的时候等它提示出来的功夫我早就手打完了。用CocosIDE写代码非常不顺手。各种心烦意乱。
所以我花了一个下午尝试了几个对Lua支持比較好的编辑器,但都是各有各的长处,也各有各的缺点。
不像c++。vs+va差点儿完美。
1、IntelliJ IDEA Community Edition
这个是跟eclipse同等地位,可是各方面都优秀非常多的IDE,Android后来也基于这个搞了个Android Studio,试图代替基于eclipse的ADT。
长处是性能优异,代码提示方便(手打的过程中直接提示。并且差点儿没有卡顿)。假设我是java开发那就是不二选择。
只是我试验了一下它的lua插件,感觉不是非常好用。在提示上反而更像一个文本编辑器而不像一个智能的IDE(合情合理。毕竟仅仅是一个插件),这个比CocosIDE要差非常多。理论上好好设置下lua的提示文件(跟cocoside格式不同。并且感觉信息非常少。比方就没有函数參数信息和返回值信息)是能够达到比較理想的效果的。
可是可惜我不会......
2、Lua Studio
这个貌似是国人写的。非常不错,速度非常快。代码提示也非常不错。直接支持cocos2d-x 3.x的版本号。并且也支持outline等功能。 只是它有一个致命的问题。就是它没有直接执行程序的功能。仅仅有调试程序的功能。而调试程序连接CocosIDE的run time程序非常慢,要十秒钟才干启动程序。而我写lua程序,调试能够偶尔为之。可是执行程序必定是常常性的。 这点我就无法接受了。 当然我也能够把它当做纯lua文本编辑器,直接执行程序。 只是那样我又要修改run time的代码。增加Console窗体来输出log信息,否则哪里出错都不知道。
我有些思考,即便做到了99%,可是有一点没有做好也可能造成用户流失。 甚至这一点没有做好都不一定是软件本身的问题,有可能是用户无知或者误操作。可是现实就是用户流失,说多少遍“这不是我的错”都没用。
软件如此,游戏也是如此。
3、Bade vs plugin
这个是一个vs插件。相同具备调试功能。能够跟vs比較不错的嵌入到一起。 缺点是没有真正的代码提示。 仅仅有本文件内输入的提示。
4、Sublime Text3
试了几个都有不爽的地方,最后还是回到了Sublime Text。
以前我是用Vim的,可是用了Sublime Text,我就不想去碰Vim了,相同是跨平台、支持各种插件、功能强大的编辑器,我为什么不使用一个简洁美丽的,而觉得一个编辑器要分三种操作模式才是高大上?
当然就像Vim尽管可扩展。可是本质仅仅是一个文本编辑器而不是IDE。只是我们写lua脚本也相同不是写c++代码,并不须要多么强大的IDE支持。
Sublime本身对lua就有一定的支持,并且编辑器本身就有强大的代码补全、文件搜索、文件跳转、内容跳转等功能,所以基础功能是没什么问题了。 网上另一个QuickXDev的插件。是给quick-cocos2dx开发用的。只是因为cocos2-x v3 lua绑定方式改变了,所以对cocos2d-x原生的代码提示还没有完毕。仅仅有lua部分。
另外我加入了一个Cocos2dx的Build选项。说是Build,事实上就是执行Runtime程序。log能够直接在Sublime中输出。
选择Tools--Build--New Build System,将以下的代码拷贝过去,并保存,然后就能够选择这个Build了。
{
"cmd": ["E:\\Code\\runtime\\win32\\game.exe", "$file"],
"file_regex": "^(? :lua:)?[\t ](...*? ):([0-9]*):?([0-9]*)",
"selector": "source.lua",
"shell": true,
"working_dir" : "E:\\Code\\runtime\\win32"
}
当中cmd是程序的文件夹。shell为true能够让程序独立显示出来。否则仅仅是命令行输出在sublime中,working_dir顾名思义就是工作文件夹(资源文件夹)。
总结:临时没有尽善尽美的编辑器,我如今打算用Sublime Text3。尽管他也不完美。可是扩展性良好,并且就文本编辑器来说是接近完美的。
cocos2d-x+lua开发模式下编辑器的选择的更多相关文章
- MVC开发模式下的用户角色权限控制
前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据 ...
- 告诉你吧,一套皮肤在winform与wpf开发模式下实现的界面效果同样精彩,winform界面和wpf界面。
一.同一资源: 二.先上软件界面: (1)wpf界面: 在wpf中实现这样类似web风格的软件界面就不用我多说了,在wpf实现这样的风格是很简单的,完全像网页设计一样的. (2)winform界面 在 ...
- dorado开发模式下实现动态查询
使用dorado开发模式,我们可以实现以下开发技巧 开发技巧1.实现动态查询功能: 1. 查询按钮的onClick事件中写入: datasetEmployee.parameters().setValu ...
- 小程序开发-开发模式下关闭http域名校验
小程序开发模式去掉域名校验 我们在开发小程序的时候如果用到其他网络地址,在小程序运行时调试器会输出 : http://www.example.com 不在以下 request 合法域名列表中,请参考文 ...
- Silverlight中在MVVM模式下对DatagridRow选择控件封装
在项目中,凡是涉及到表格的地方用的最多的控件,自然少不了DataGrid的身影,它明了的展示各种数据让人十分喜欢.现在要实现一个功能,使DataGrid具有全选和项选中的功能,如果在传统后台代码中完成 ...
- [Vue 牛刀小试]:第十五章 - 传统开发模式下的 axios 使用入门
一.前言 在没有接触 React.Angular.Vue 这类 MVVM 的前端框架之前,无法抛弃 Jquery 的重要理由,除了优秀的前端 DOM 元素操作性以外,能够非常便捷的发起 http 请求 ...
- PHP Strom 配置less 并设置编译后在远程开发模式下自动上传css文件
ctrl+alt+s ->File Watchers->add-> 其中Argument中的-x代表最后编译过后的css文件为压缩过的 此时就可以用了,但是编译过后less可以自动上 ...
- ENVI二次开发模式下的Landsat数据读取
从usgs网站或者马里兰大学下载TM或Landsat原始数据,数据可能包括9个tif数据,两个txt文件和一个gtf文件.示例结构如下: ENVI下可以直接打开*_MTL.txt文件打开,打开后波段列 ...
- vue-element-admin开发模式下style标签热更新失效[解决办法]
参考:https://forum.vuejs.org/t/vue-cli-3-x-style/46306/3 vue.config.js添加配置 css: { sourceMap: false, mo ...
随机推荐
- ansible配置mysql主从复制
配置主机1.下载安装所需安装包 [root@server1 ansible]# lsansible-2.7.8-1.el7.noarch.rpmansible-tower-setup-bundle-3 ...
- ALTER LANGUAGE - 修改一个过程语言的定义
SYNOPSIS ALTER LANGUAGE name RENAME TO newname DESCRIPTION 描述 ALTER LANGUAGE 修改一门语言的定义. 目前唯一的功能就是重命名 ...
- Java 类执行顺序
1.如果父类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块2.如果类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块3.将类的成员赋予初值(原始类型的成员的值为规定值,例 ...
- JS中二进制与十进制的相互转换
今天在做题目的时候遇到了需要十进制转换为二进制,这个我知道用toString可以,但是二进制转换为十进制我一下子就想不起来,网上搜了下,才知道是parseInt可以实现,特此记录下. 十进制转换为二进 ...
- TortoiseSVN文件夹操作
(1).安装SVN·客户端 (2) 建立库: 1.新建文件夹,目录和文件夹名称最好都用英文,不要使用中文: 2.打开文件夹,在空白处按下“shift键+鼠标右键”: 3.在弹出的菜单中选择“Torto ...
- linux通用makefile文件
OUTPUT_DLL := libmy.so LIBS :=-L../public/lib/x64/linux -lzookeeper_mt -lcurl \ -lfreetype -lopencv_ ...
- [Python3网络爬虫开发实战] 7.2-Splash的使用
Splash是一个JavaScript渲染服务,是一个带有HTTP API的轻量级浏览器,同时它对接了Python中的Twisted和QT库.利用它,我们同样可以实现动态渲染页面的抓取. 1. 功能介 ...
- [Python3网络爬虫开发实战] 1.2.5-PhantomJS的安装
PhantomJS是一个无界面的.可脚本编程的WebKit浏览器引擎,它原生支持多种Web标准:DOM操作.CSS选择器.JSON.Canvas以及SVG. Selenium支持PhantomJS,这 ...
- PHP实现微信第三方登录的方法
本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要“服务号”才可以哦,所以必须到官方申请 一开始你需要进入微信公 ...
- ubuntu 16.4 安装mysql-python
sudo apt-get install python-pip python-dev libmysqlclient-dev pip install MySQL-python