三 手游开发神器 cocos2d-x editor 之基础工具 intellij idea

原创 2014年01月18日 18:26:13


idea 简介

     IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。


为何 IntelliJ IDEA 比 Eclipse 更好

      圣战, 有一些没有唯一正确答案的“永恒”的问题,例如哪个更好:是Windows还是Linux,Java还是C#;谁更强壮:Chuck Norris还是Van Damme。

其中的一个圣战便是Java IDE的选择:


     有许多争论的话题是讨论它们哪个有更多的插件、快捷键等等。它们之间有太多的不同而很难决定什么才是最重要的。

因此,人们都表示两个IDE在功能性上都差不多,选择某一个则是个人喜好问题了。

      我不会去大量比较两者细微不同,例如插件与快捷键之类的。因为有一系列的blog是关于这些的。我将会展示IDEA与Eclipse的一个最大的不同之处。通常IDEA和Eclipse的fans都不曾了解。前者已经习惯性的使用着它而不曾想象IDE缺少它会怎样,后者则没有使用它的习惯且难以想象有了它IDE能做得这么好。Eclipse的用户在把玩IDEA的时候通常都不会意识到这个不同点,因为他们习惯了以Eclipse模式工作。

    

     为何我如此确信?

在开始说明之前,让我解释一下我是谁和为什么我的观点值得一听。

我使用Eclipse已经5年之久,我很了解它,我为它编写插件并真心地喜爱它。然后,我换了一个公司工作,并被强行转移到IDEA上开发,在这次“分手”后,我才最终意识到为什么IDEA更加敏锐。而如今我我已经使用IDEA一些年了,所以我能比较它们两者,因为我了解它们。

      

       IDEA与Eclipse主要的不同

IDEA之所以更加敏锐的原因是:IDEA懂得上下文。这也是JetBrains员工命名IDEA为intelligent的原因。它真正的含义又是什么呢?IDEA检索你的整个项目,分析项目所有的内容,甚至构建语法树。幸亏有它,在任何时候无论你将鼠标放置在哪里,IDEA都知道你在哪里并知道在那能干什么。

仍旧不了然?别担心,在列举了以下几个例子后,一切就清楚了。

这种对上下文的理解表现在很多很多方式上,以下只是其中的一部分。


      1、调试

通常在调试过程中,我们想要求一些表达式的值,在Eclipse中你需要选定这个表达式,选定整个表达式非常重要,否则你就没法求出它的值。然后,你可以使用Ctrl+Shift+I看到这个表达式的值。

使用IDEA你不需要选择任何东西,你只需要把光标移到你的表达式中然后按下Alt+F8。IDEA会很好的理解这个你可能需要的表达式,然后显示一个对话窗口,其中有一些它给出的建议参数变量。你也可以编辑并在对话框中立即将得到这个表达式的值。相当的方便!试过这个特性后,你就不会再想在Eclipse中调试了。

基本上在两个IDE上都能让你做同样的事,但是使用IDEA会更加简单和快速。对此我认真的表示,这个差异太大了:就像天堂跟人间一样。在一个小小的IDEA对话窗口中就提供了自动完成,语法高亮以及你需要的一切。


     2、自动完成

自动完成使得IDE比notepad更加优秀,在这个领域能感知上下文的IDEA有了质的飞跃。例如,我们开始如下一行代码:

assertElement(By.id("errorMessage"), vi

现在我们想要查找以vi开头的选项有哪些。

IDEA怎么做的呢?无需等待任何的按键,它马上就能理解assertElement需要一个Conditaion类的示例作为第二个参数,而在Condition类中有一个静态变量名叫visible。IDEA会直接建议这个唯一的有效选项。

然而,Eclipse会怎么做呢?唉,它不能理解上下文,它不知道光标所在处就是assertElement方法的第二个参数。因此当你按下“神圣”的Ctrl+Space时,Eclipse只会简单的显示全局中以vi字母开头的一切。

在一个美丽的弹出框中我看到了很多漂亮的高亮的格式规范的无用的信息.:(


     3、重构

专业的程序员能够高效的使用IDE提供的重构功能。所有的现代IDE都提供许多印象深刻的重构功能。但是还是那句,IDEA的重构功能也很聪明智能。它们能读懂你需要什么,然后针对不同的情况提供给你最适合的解决方案。

例如,假设我们有一个assertErrorMessageIsHidden方法:

public void assertErrorMessageIsHidden() {
  assertElement(By.id("errorMessage"), Condition.visible);
}

我们以字符串“errorMessage”作为该方法的一个参数。

让我们先从IDEA开始,将光标放在任何字符串“errorMessage”上,按Ctrl+Alt+P(代表“parameter”),IDEA将会建议我们可能可以在哪些表达中用次字符串为参数。

当“errorMessage”表达式被选定以后,IDEA将会建议一些可能的能用做该参数的变量名称。




    结论

如果我们选择Java IDE,那么Intellij IDEA肯定要比Eclipse好的。这不仅仅是个人喜好问题。从客观上看,IDEA更好。它是的你能够快捷地编写和修改代码。它给出恰当的名称提示,查找适合的方法。它不需要你特别地选择表达式便会猜测到你想要做的以及你想如何对它命名。IDEA预示着并给你提示。

P.S. Remarks

我认为IDEA在作为Java IDE时确实比Eclipse更好。如果你考虑他们其他方面的能力例如用于其他例如C++、Python、Scala的IDE上,或者是作为构建桌面的应用的平台,Eclipse很有可能拔得头筹。

事实上这是依赖于对他们的定义的,Eclipse已将自己定位为一个抽象平台,用来使用插件构建任何工具,而IDEA则定位为一个“智能的Java IDE”,而且它正如此。

作为纪念我就尝试着列绝一些Eclipse可能比IDEA更好的地方:

  • Eclipse看上去更棒,所有大题小做的SWT以及本地控件都用的很值。Eclipse看上去很稳定的深思熟虑过的程序,它有着漂亮的字体以及图标。然而当第一眼看到IDEA是,它像是作噱头的玩具一样,有着不完全的图标以及笨拙的Swing界面。
  • Eclipse拥有更强的项目结构支持。在IDEA中,你的项目是有模块组成。在Eclipse中你拥有一个由工程组成的工作区,每个工程都能被单独打开或关闭,分组或隐藏。但是你真的需要么?
  • 为Eclipse编写插件似乎很简单
  • IDEA比Eclipse使用更多的系统资源。这其实也说得通--因为IDEA了解得更多
  • 最后,Eclipse是免费的,然而IDEA Community版本已经够我用了



 idea的基本使用技巧
   

1. IDEA内存优化 
先看看你机器本身的配置而配置. 
\IntelliJ IDEA 8\bin\idea.exe.vmoptions 
----------------------------------------- 
-Xms64m 
-Xmx256m 
-XX:MaxPermSize=92m 
-ea 
-server 
-Dsun.awt.keepWorkingSetOnMinimize=true

 

查询快捷键
CTRL+N   查找类
CTRL+SHIFT+N  查找文件
CTRL+SHIFT+ALT+N 查 找类中的方法或变量
CIRL+B   找变量的来源
CTRL+ALT+B  找所有的子类
CTRL+SHIFT+B  找变量的 类
CTRL+G   定位行
CTRL+F   在当前窗口查找文本
CTRL+SHIFT+F  在指定窗口查找文本
CTRL+R   在 当前窗口替换文本
CTRL+SHIFT+R  在指定窗口替换文本
ALT+SHIFT+C  查找修改的文件
CTRL+E   最 近打开的文件
F3   向下查找关键字出现位置
SHIFT+F3  向上一个关键字出现位置
F4   查找变量来源
CTRL+ALT+F7  选 中的字符 查找工程出现的地方
CTRL+SHIFT+O  弹出显示查找内容

 

SVN 管理
把SVN库添加到IDEA中 SETTING ->  VERSION CONTROL -> VCS = SVBVERSION

 

自动代码
ALT+回车  导入包,自动修正
CTRL+ALT+L  格式化代码
CTRL+ALT+I  自 动缩进
CTRL+ALT+O  优化导入的类和包
ALT+INSERT  生成代码(如GET,SET方法,构造函数等)
CTRL+E 或者ALT+SHIFT+C 最近更改的代码
CTRL+SHIFT+SPACE 自动补全代码
CTRL+空格  代码提示
CTRL+ALT+SPACE  类 名或接口名提示
CTRL+P   方法参数提示
CTRL+J   自动代码
CTRL+ALT+T  把选中的代码放在 TRY{} IF{} ELSE{} 里

 

复制快捷方式
F5   拷贝文件快捷方式
CTRL+D   复制行
CTRL+X   剪 切,删除行
CTRL+SHIFT+V  可以复制多个文本

 

高亮
CTRL+F   选中的文字,高亮显示 上下跳到下一个或者上一个
F2 或SHIFT+F2  高亮错误或警告快速定位
CTRL+SHIFT+F7  高亮显示多个关键字.

 

其他快捷方式
CIRL+U   大小写切换
CTRL+Z   倒退
CTRL+SHIFT+Z  向 前
CTRL+ALT+F12  资源管理器打开文件夹
ALT+F1   查找文件所在目录位置
SHIFT+ALT+INSERT 竖 编辑模式
CTRL+/   注释//  
CTRL+SHIFT+/  注释/*...*/
CTRL+W   选中代码,连续按会 有其他效果
CTRL+B   快速打开光标处的类或方法
ALT+ ←/→  切换代码视图
CTRL+ALT ←/→  返回上次编辑的位置
ALT+ ↑/↓  在方法间快速移动定位
SHIFT+F6  重构-重命名
CTRL+H   显 示类结构图
CTRL+Q   显示注释文档
ALT+1   快速打开或隐藏工程面板
CTRL+SHIFT+UP/DOWN 代码 向上/下移动。
CTRL+UP/DOWN  光标跳转到第一行或最后一行下
ESC   光标返回编辑框
SHIFT+ESC  光 标返回编辑框,关闭无用的窗口
F1   帮助 千万别按,很卡!
CTRL+F4   非常重要 下班都用

 

重要的设置

不编译某个MODULES的方法,但在视图上还是有显示
SETTINGS -> COMPILER -> EXCLUDES ->

 

不编译某个MODULES,并且不显示在视图上
MODULES SETTINGS -> (选择你的MODULE) -> SOURCES -> EXCLUDED -> 整个工程文件夹

 

IDEA编码设置3步曲
FILE -> SETTINGS -> FILE ENCODINGS -> IDE ENCODING
FILE -> SETTINGS -> FILE ENCODINGS -> DEFAULT ENCODING FOR PROPERTIES FILES
FILE -> SETTINGS -> COMPILER -> JAVA COMPILER -> ADDITIONAL COMMAND LINE PARAMETERS

加上参数 -ENCODING UTF-8 编译GROOVY文件的时候如果不加,STRING S = "中文"; 这样的GROOVY文件编译不过去.

编译中添加其他类型文件比如 *.TXT *.INI
FILE -> SETTINGS -> RESOURCE PATTERNS

 

改变编辑文本字体大小
FILE -> SETTINGS -> EDITOR COLORS & FONTS -> FONT -> SIZE

 

修改智能提示快捷键 
FILE -> SETTINGS -> KEYMAP -> MAIN MENU -> CODE -> COMPLETE CODE -> BASIC

 

显示文件过滤
FILE -> SETTINGS -> FILE TYPES -> IGNORE FILES...
下边是我过滤的类型,区分大小写的
CVS;SCCS;RCS;rcs;.DS_Store;.svn;.pyc;.pyo;*.pyc;*.pyo;.git;*.hprof;_svn;.sbas;.IJI.*;vssver.scc;vssver2.scc;.*;*.iml;*.ipr;*.iws;*.ids

在PROJECT窗口中快速定位,编辑窗口中的文件
在编辑的所选文件按ALT+F1, 然后选择PROJECT VIEW

------------------------------------------------------------------------------------------------------------

2.优化文件保存和工程加载

 

取消“Synchronize file on frame activation”(同步文件功能,酌情考虑可以不取消)

取消“Save files on framedeactivation”的选择
同时我们选择"Save files automatically", 并将其设置为30秒,这样IDEA依然可以自动保持文件,所以在每次切换时,你需要按下Ctrl+S保存文件

如何让IntelliJ IDEA动的时候不打开工程文件:Settings->General去掉Reopen last project on startup

 

3.用*标识编辑过的文件

 

Editor –> Editor Tabs
—————————————–
在IDEA中,你需要做以下设置, 这样被修改的文件会以*号标识出来,你可以及时保存相关的文件。"Mark modifyied tabs with asterisk"


4.显示行号 

如何显示行号:Settings->Editor->Appearance标签项,勾选Show line numbers


5.自定义键盘快捷方式 

如果默认代码提示和补全快捷键跟输入法冲突,如何解决:Settings->Keymap


6.如何让光标不随意定位 

Settings->Editor中去掉Allow placement of caret after end of line。



7.中文乱码问题

Settings-> File Encondings 选择 IDE Encoding为GBK。

 

在包含中文文件名或者文件夹的时候会出现??的乱码,解决方法如下:

File菜单->Settings->Colors & Fonts->Editor Font=宋体, size=12, line spacing =1.0

Settings->Appearance中勾选Override default fonts by (not recommended),设置Name:NSimSun,Size:12

 


如何让IntelliJ IDEA动的时候不打开工程文件:Settings->General去掉Reopen last project on startup 



以上是idea的一些基本资料,了解更多,请网上搜索

下一篇,我将使用cocos2d-x game editor开发一个demo    笔者(李元友)


资料来源:cocos2d-x game editor


二 CocosEditor For JS(Cocos2d-JS)工具下载和安装配置

公告: 以下安装步骤是基于 idea13.0,idea13.1可能有些差异,但基本一致的; cocos2d-x  editor是基于intellij idea上的插件,下面我来介绍它的安装和配置 ...

Cocos2d-html5 搭建开发环境,运行 Hello World,JetBrains IDE Support

勤奋努力,持之以恒!

quick-cocos2d-x开发环境Lua for IntelliJ IDEA的安装

比较了sublime text2、LDT、Lua for IntelliJ IDEA之后,发现Lua for IntelliJ IDEA的代码提示支持得最好,现分享其安装过程如下: 下载Intel...
  • kyo7552
  • kyo7552
  • 2013年11月29日 01:02
  • 11451

[quick-cocos2d-x lua学习] 各大IDE之体验及选择 ( LDT、Sublime Text 2、IntelliJ IDEA 12、XCode5 )

不用怀疑,本人就是传说中的程序猿,靠打几行代码来混点饭吃〜 刚开始踏入手游这块风水宝地! 多年的开发经验,使本人深深的觉得一个好的IDE能让你的效率提升n倍(-_-! 不知道算不算废话),所以哥在进入...
  • kyo7552
  • kyo7552
  • 2013年12月06日 00:22
  • 9597

四 手游开发神器 cocos2d-x editor 游戏框架介绍

cocos2d-x editor 新建工程时会自动生成游戏框架,如下图  红色边框共有五个区域  idea 是自动生成的目录,读者不需要操作 Source是主工程目录,所有的设计和编码都...

CocosEditor For JS (Cocos2d-JS) 教程聚合和代码下载

——————————————游戏基础教程篇—————————————已完成————————— 一 cocos2d-x editor工具下载和基础教程JS篇: 一 手游开发神器 cocos2...

五 手游开发神器 cocos2d-x editor 之贴图(TexturePacker)

这一节主要是介绍cocos2dx editor的贴图功能。cocos2dx editor是开发跨平台的手机游戏工具,运行window系统上,javascript脚本语言,基于cocos2d-x跨平台游...

十四 手游开发神器 cocos2d-x editor 之串联游戏流程

这一节主要是介绍cocos2dx editor的串联游戏流程。cocos2dx editor是开发跨平台的手机游戏工具,运行window系统上,javascript脚本语言,基于cocos2d-x跨平...

十 手游开发神器 cocos2d-x editor 之触摸事件

这一节主要是介绍cocos2dx editor的触摸事件,让小怪物跟随移动。cocos2dx editor是开发跨平台的手机游戏工具,运行window系统上,javascript脚本语言,基于coco...

十一 手游开发神器 cocos2d-x editor 之音乐和音效

这一节主要是介绍cocos2dx editor的背景音乐和音效。cocos2dx editor是开发跨平台的手机游戏工具,运行window系统上,javascript脚本语言,基于cocos2d-x跨...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三 手游开发神器 cocos2d-x editor 之基础工具 intellij idea
举报原因:
原因补充:

(最多只允许输入30个字)