IntelliJ IDEA和Eclipse比较,哪个更好?

2015-04-26 11:00:57来源:importnew作者:Dony.Xu翻译

在我看来,每一个IDE都很棒,IntelliJ看起来更加的现代,但有时候我又喜欢经典版的Eclipse,这可能是因为过去经常使用Eclipse。以后可能会继续受这个因素的影响。

作为一个资深的Eclipse用户,我想对IntelliJ IDEA做一个更为严谨的审视。JetBrains的工作人员非常的友善,并为Podcastpedia.org和Codingpedia.org这两个 工程给予了我一个开放源码的许可证。在这片文章中,我列出来Eclipse中常用且与IntelliJ等同的一些操作。写这篇文章为了以后遗忘时能够再用 做个记录,也为或许能帮助到其他的人。

快捷键

要事先说!下表中列出了在两个IDE之中我最常用的快捷键:

描述

Eclipse

IntelliJ

代码补全

Ctrl+space

ctrl+space

打开类或者接口

(两个IDE都支持使用“驼峰字符”前缀的方式来过滤查找列表,进而轻松完成搜索;比如:可以使用“PoDI”来检索PodcastDaoImpl类)

 Ctrl+Shift +T

Ctrl+N

快速打开文件/资源

Ctrl+Shift+R

Shift+F6

打开声明

F3

Ctrl+B

查看Javadoc/详情

鼠标滑过(F2聚焦)

Ctrl+Q

快速修复

Alt+1

Alt+Enter

导入所有须要的包

Ctrl+Shift+O

Ctrl+Alt+O

保存文件/保存所有文件

Ctrl+S/Ctrl+Shift+S

自动保存

当前文件快速定位弹出框(成员,方法)

Ctrl+O

Ctrl+F12

源码(生成getter和setter,构造器等)

Alt+Up /Alt+Down

Alt+Insert

当前语法补全

if,do-while,try-catch,return(方法调用)等正确的语法构造(如:添加括号)

  Ctrl+Shift+Enter

抽取常量

Ctrl+1->抽取常亮

Ctrl+Alt+C

抽取变量

Ctrl+1->抽取变量

Ctrl+Alt+V

增加、删除以及移动数行代码

在当前插入符添加一行

Shift+Enter

Shift+Enter

复制一行或代码段

Ctrl+Alt+Up/Down

Ctrl+D

删除一行代码

Ctrl+D

Ctrl+Y

选中代码向上或者向下移动

Alt+Up/Down

Shift+Alt+Up/Down

查找/搜索

查找类/变量在工作区或工程中使用

Ctrl+Shift+G

Alt+F7

在工程或者工作区中查找文本

Ctrl+H (选择文件搜索)

Ctrl+Shift+F

导航

回退(撤消最后导航操作)

Alt+Left

Ctrl+Alt+Left

标签/编辑之间的导航

Ctrl + Page Down / Up

Alt + Left/Alt + Right

跳转某一行

Ctrl+L

Ctrl+G

导航到最近的文件

Ctrl + E

Ctrl + E

在编辑器之间快速切换方法

 

Alt + Up / Down

调试

运行一行

F6

F8

进入下一次计算

F5

F7

运行到下一个断点

F7

Shift+F8

回复运行

F8

F9

链接编辑器

很多时候我们在编辑一个文件,同时还需要编辑其他的文件。假如FF类是一个经常编辑的类,同时又需要对同一个包中的其他类进行编辑—通过链接编辑器的功能,可以迅速在同包的类之间进行切换。这个功能为我们提供了什么样的便利?每当编辑了一个文件,它会立即显示其所在包浏览器视图/项目视图中的位置。如果使用展开式的包视图,它会按功能对类划分并显示,而不使用分层(dao层, service层等)的方式来展示类。这也是我强烈推荐的展示方式,因为真的很方便。

Eclipse

在工程浏览视图或者包浏览视图可以看到并使用链接编辑器(Link to Editor)的按钮。

IntelliJ IDEA的光芒会盖过Eclipse吗

如果不想使用该功能,依然可以使用Alt+Shift+W快捷键来查看包视图或工程视图并设置其显示位置。

IntelliJ IDEA的光芒会盖过Eclipse吗

 IntelliJ

在工程视图或者包视图中选择设置,然后勾选根据源码自动滚动(Autoscroll From Source)功能;

IntelliJ IDEA的光芒会盖过Eclipse吗

如果不想使用该功能,依然可以使用快捷键Alt+F1来导航并设置显示的位置;

IntelliJ IDEA的光芒会盖过Eclipse吗

IntelliJ的魅力之处

默认设置了许多的功能

IntelliJ本身就自带了众多的功能(如:GitHub的集成)。当然,在Eclipse你也可以通过选择不同版本的插件来获取到足够的功能,只是需要自己来配置这些插件。

使用鼠标滚轮改变字体大小

在IntelliJ中,可以使用鼠标滚轮来改变字体大小(我在浏览器中经常使用该功能)。但是这个功能需要手动激活。

  1. 打开IDE的设置(Ctrl+Shift+S或点击 文件菜单>Setting)
  2. 在编辑器页面(在搜索框中输入“Editor”),确保Change font size (Zoom) with Ctrl+MouseWheel这个选项被选中。

IntelliJ IDEA的光芒会盖过Eclipse吗

在IDE中直接启动命令行终端

使用快捷键: Alt + F12

灵活易用的模板

输入p,然后使用快捷键Ctrl+J,就可以获取以下选项:

  • psf – public static final
  • psfi – public static final int
  • psfs – public static final String
  • psvm – main method declaration

对JavaScript、HTML5的强力支持

商业版的IntelliJ应该包含了对 HTML5、CSS3、SASS、LESS、JavaScript、CoffeeScript、Node.js、ActionScript以及其他语言的代码辅助功能。我将尽快地确认这些内容。

相比Eclipse IntelliJ的不足之处

无法最大化控制台

在Eclipse中,可以使用Ctrl+M快捷键或者双击标签来最大化当前的控制台。但是在IntelliJ中并没有类似的方式来。

鼠标悬停显示Javadoc

当然,在IntelliJ中可以使用Ctrl+Q快捷键来获取上述的功能。但当鼠标悬停代码就能看到部分Javadoc的功能在Eclipse中显得是那么的友好。

总结

在我看来,每一个IDE都很棒,IntelliJ看起来更加的现代,但有时候我又喜欢经典版的Eclipse,这可能是因为过去经常使用Eclipse。以后可能会继续受这个因素的影响。

到这里就是我全部的经验,后续将继续添加一些在使用Eclipse和IntelliJ遇到的功能以及功能上的差异,敬请期待。

英文原文:http://www.javacodegeeks.com/2015/03/is-intellij-idea-shining-through-eclipse.html