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 ...
随机推荐
- Java并发——volatile关键字的使用
volatile关键字的使用volatile关键字原理适合使用volatile关键字的情况当且仅当满足以下所有条件时,才==应该==使用volatile关键字:volatile关键字的作用volati ...
- boostrapvalidator
一个例子 <%@ page contentType="text/html;charset=UTF-8" language="java" %> < ...
- css滚动条样式修改
.activeMoreBankList{ height: 188px; overflow-y: auto;} /*滚动条样式*/.activeMoreBankList::-webkit-scrollb ...
- 执行jar包报错:udfFull.jar中没有主清单属性
在windows系统的cmd命令行窗口中执行: java -jar udfFull.jar {"movie":"1287","rate":& ...
- AC手动机 [原创]
题目背景 Monster_Qi 又双叒叕拿到了rank1! 在开心之余他决定帮助蒟蒻floatiy拿到合适的排名. 题目描述 已知考试有n道题,每道题有num个测试点,有m个人 b[x,i,j](01 ...
- 算法竞赛入门经典5.2 STL初步
1. 排序和检索,学会使用sort排序,以及low_bound函数 Raju and Meena love to play with Marbles. They have got a lot of m ...
- 把wav文件等时长切割
ffmpeg -i somefile.mp3 -f segment -segment_time 1800 -c copy out%03d.mp3 segment_time 是切割时长,单位秒
- ruby 第五次作业 part 1(分类、排序)
movies_controller.rb class MoviesController < ApplicationController def movie_params params.requi ...
- 理解javascript中的Array类型
引子: 从事前端开发有段时间了,个人观点:想在前端开发这条路上走的更远,不仅要学好HTML&HTML5.CSS&CSS3,最重要的就是要学好javascript了.所以打好javasc ...
- 张小龙最新内部演讲:KPI 是副产品,警惕复杂流程
张小龙最新内部演讲:KPI 是副产品,警惕复杂流程 各位 WXG(微信事业群)的同事们,大家早上好!又到我们一年一度的领导力大会. 大家都看到,我们微信团队膨胀还是比较快的,有 1500 多人了.对此 ...