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,虽然他也不完美,但是扩展性良好,而且就文本编辑器来说是接近完美的。

时间: 2024-10-18 03:30:34

cocos2d-x+lua开发模式下编辑器的选择的相关文章

混合开发模式下主流移动开发平台分析

关键字:AppCan 移动开发平台 移动应用 Hybrid App在过去的两年中已经成为移动界的核心话题,但是作为一名Web开发者来说要如何站在移动互联网的浪潮之巅呢?是选择学习原生开发,研究Java.Object-C.C#等语言,还是选择继续使用网页开发,容忍HTML5功能的局限性?就在开发者左右为难的情况下Hybrid App作为一个折中的解决方案诞生了.那么究竟什么才是Hybrid App呢?HybridApp概念Hybrid App:Hybrid App is a mobile appl

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

前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据库中,分别分配一个Id,这样,每个功能就都对应着一个Id. 2.在用户表中,每个用户都有一个用户角色(类似用户组)id 3.在角色表中,每个角色id都存放着他们自身角色所拥有的功能id的集合 然后在判断权限时,通过用户的角色Id获取相关功能id集合,然后判断当前访问的功能id是否在集合中,大致如此.

敏捷开发模式下的自动化测试研究

敏捷测试过程中的自动化目前在国内来看基本上还只是停留在概念阶段,据我所知,目前不少公司也都在尝试过程中,而实际的实践中能取得比较理想成果的,极为有限.而国外不少同仁也都对此持观望甚至抵触的态度.比如advanced QTP论坛的administrator Meir大大 就认为敏捷过程中的自动化是完全不现实的,理由就是sprint间隔时间内没办法完成一个完整自动化过程的设计,而频繁的变更会导致自动化资源的大量浪费,ROI上无任何前景可言. 从我个人观点来看,没必要保持如此的悲观,但更不能过于乐观.

敏捷开发模式下的测试工作

在华为业务线上有近40天的时间了,参与了两个版本,华为的项目大多数走的都是敏捷迭代开发模式了,至于什么是敏捷,网上有很多的解释与资料,这里就不阐述了,就说说这期间华为的一个敏捷模式. 敏捷开发的最大特点是:积极响应用户的需求,快速高质量的交付软件.所以很多需求会按照用户需求程度以及模块之间的关联程度划分为多个迭代,这里的迭代你可以看做是一个小的完整的版本周期,每个迭代包含多个story,一个story相当于一个功能点,一个小的需求,而一个大的完整的发布版本一般由几个迭代版本组成.敏捷开发的周期一

敏捷开发模式下的测试

敏捷开发 敏捷开发倡导的就是迭代式和增量式的开发模式,并且强调测试在开发过程中的重要性 .主要是围绕以用户为中心,以客户需求为导向的开发过程,这个过程有一个特点就是"随时有变化".虽然敏捷开发引入了灵活性,但其中的重点还是在于客户满意度.客户是敏捷过程的关键环节.如果,客户能够有所参与,并且客户了解到开发对于他们参与的欢迎,那么有助于增加客户对最终产品和开发team的信心和满意度.如果客户由于其他原因不愿意参与进来,那么选择传统的开发流程更好.敏捷开发有三个比较明显的特征:依赖客户完成

新开发模式下自动化测试

关键字:自动化,测试, 功能测试 测试的目标是两个:"发现系统中存在的问题"和"证明系统能够满足用户的需求". 自动化测试既不单指某种工具,也不仅仅指某种测试技术,它是工具.过程.人员和方法的组合. 测试的现状Testing is dead 开发速度第一质量第二 新的敏捷开发模式 开发人员技能越来越高 测试在开发过程中起的作用越来越小 设计和框架缺陷更重要 敏捷开发强调尽早测试.自动测试.持续测试 自动化测试的难点 1.        脚本量.脚本的可维护性 2. 

springMVC前后端分离开发模式下支持跨域请求

1.web.xml中添加cors规则支持(请修改包名) <filter> <filter-name>cors</filter-name> <filter-class>com...common.filter.SimpleCORSFilter</filter-class> </filter> <filter-mapping> <filter-name>cors</filter-name> <url

Fabric 链码开发,开发模式下的测试

关闭之前已启动的网络环境 sudo docker-compose -f docker-compose-cli.yaml down 进入devmode目录: /fabric-samples/chaincode-docker-devmode 启动测试网络 sudo docker-compose -f docker-compose-simple.yaml up -d 启动新窗口建立并启动链码: sudo docker exec -it chaincode bash 原文地址:https://www.c

EF3:Entity Framework三种开发模式实现数据访问

前言 Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发流程大相径庭,开发体验完全不一样.三种开发模式各有优缺点,对于程序员没有哪种模式最好,只有哪种模式更适合.接下来我将分别使用这三种开发模式实现同一数据库模型的数据持久化功能.希望通过实践能帮助你找到更适合你的开发模式 Database First Database First开发模式指以数据库设计为基础,并根据数据库自动生成实体数据模型,从而驱动整个开发流程