原本打算直接用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开发模式下编辑器的选择的更多相关文章

  1. MVC开发模式下的用户角色权限控制

    前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据 ...

  2. 告诉你吧,一套皮肤在winform与wpf开发模式下实现的界面效果同样精彩,winform界面和wpf界面。

    一.同一资源: 二.先上软件界面: (1)wpf界面: 在wpf中实现这样类似web风格的软件界面就不用我多说了,在wpf实现这样的风格是很简单的,完全像网页设计一样的. (2)winform界面 在 ...

  3. dorado开发模式下实现动态查询

    使用dorado开发模式,我们可以实现以下开发技巧 开发技巧1.实现动态查询功能: 1. 查询按钮的onClick事件中写入: datasetEmployee.parameters().setValu ...

  4. 小程序开发-开发模式下关闭http域名校验

    小程序开发模式去掉域名校验 我们在开发小程序的时候如果用到其他网络地址,在小程序运行时调试器会输出 : http://www.example.com 不在以下 request 合法域名列表中,请参考文 ...

  5. Silverlight中在MVVM模式下对DatagridRow选择控件封装

    在项目中,凡是涉及到表格的地方用的最多的控件,自然少不了DataGrid的身影,它明了的展示各种数据让人十分喜欢.现在要实现一个功能,使DataGrid具有全选和项选中的功能,如果在传统后台代码中完成 ...

  6. [Vue 牛刀小试]:第十五章 - 传统开发模式下的 axios 使用入门

    一.前言 在没有接触 React.Angular.Vue 这类 MVVM 的前端框架之前,无法抛弃 Jquery 的重要理由,除了优秀的前端 DOM 元素操作性以外,能够非常便捷的发起 http 请求 ...

  7. PHP Strom 配置less 并设置编译后在远程开发模式下自动上传css文件

    ctrl+alt+s ->File Watchers->add-> 其中Argument中的-x代表最后编译过后的css文件为压缩过的 此时就可以用了,但是编译过后less可以自动上 ...

  8. ENVI二次开发模式下的Landsat数据读取

    从usgs网站或者马里兰大学下载TM或Landsat原始数据,数据可能包括9个tif数据,两个txt文件和一个gtf文件.示例结构如下: ENVI下可以直接打开*_MTL.txt文件打开,打开后波段列 ...

  9. vue-element-admin开发模式下style标签热更新失效[解决办法]

    参考:https://forum.vuejs.org/t/vue-cli-3-x-style/46306/3 vue.config.js添加配置 css: { sourceMap: false, mo ...

随机推荐

  1. AIX 10201 HA RAC 安装+升级到10204

    1:查看系统版本 [rac1:root:/hacmp/hacmp5.4/ha5.4/installp/ppc] oslevel -s 6100-06-06-1140 lslpp -al bos.adt ...

  2. HDU_3792_(素数筛+树状数组)

    Twin Prime Conjecture Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  3. Android(java)学习笔记198:ContentProvider使用之内容观察者(观察发出去的短信)

    1.新建一个案例如下: 2. 不需要添加权限,同时这里布局文件不做修改,来到MainActivity,如下: package com.itheima.sendsmslistener; import a ...

  4. 使用JDBC创建出版社和书籍管理系统

    1.需求 已知如下两个表: publisher id name(唯一) address book id isbn name publisher_id 欢迎进入书籍管理系统 1.出版社管理:增.删(na ...

  5. log4net小记

    log4net添加: Install-Package Log4net log4net.config配置: <?xml version="1.0" encoding=" ...

  6. 打印出A到Z的所有字符,使用char和int转换

    public class Demo14{ //A到Z的所有字符,使用char和int转换 public static void main(String[] args) { for(int i = 65 ...

  7. 15数据库与ADO.Net

    数据库与ADO.Net 数据库与ADO.Net 8.1   数据库基本概念 数据库提供了一种将信息集合在一起的方法.数据库应用系统主要由三部分组成:数据库管理系统(DBMS),是针对所有应用的,例如A ...

  8. Mybatis输入输出映射_动态sql_关联关系(一对一、一对多、多对多)

    Mybatis输入输出映射_动态sql_关联关系(一对一.一对多.多对多)输入输出映射parameterType完成输入映射parameterType可以传入的参数有,基本数据类型(根据id查询用户的 ...

  9. 第4节 hive调优:1、2、fetch抓取和表的优化

    hive的调优:第一个调优:fetch抓取,能够避免使用mr的,就尽量不要用mr,因为mr太慢了 set hive.fetch.task.conversion=more 表示我们的全局查找,字段查找, ...

  10. 六、面向切面的spring(2)

    这个是承接五的,这部分主要的内容是在XML中声明切面. 一.在XML中声明切面 让我们先看一下spring中的AOP配置元素有哪些: AOP配置元素 用途 <aop:advisor> 定义 ...