两个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)的按钮。

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

IntelliJ

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

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

自动完成

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

 
findElement(By.id("error"), vim

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

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

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

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

内存占用

说起内存,IDEA似乎比Eclipse更耗费内存。我没有这方面的代表性基准,但是我知道现在我家里的16 GB RAM对于开发大型项目来说太小了,不过一直没换。不过这不碍事啊, 从第三次科技革命以来, 人类就一直在做着以空间换时间, 以存储成本换效率的损事, just kiddin, 这是趋势, 以后的app和ide都会变得越来越大(但并不代表越来越慢)

我用mongodb的时候也有这种感受, 就是越先进的IDE和功能越强大的app都是以内存为代价的...

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

IntelliJ的魅力之处

默认设置了许多的功能

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

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

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

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

在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 idea一定会比eclipse好的, 先不说eclipse的开发团队已经严重滞后了, IDEA本身就有着拜托一切历史包袱的优势, 这也是为什么Google选择在IDEA上二次开发了Android studio等环境, 我也慢慢的转向jetbrain系列的生态环境中, 在这个idea的市场已经超越eclipse的大环境下, 大家还是勇敢的尝试新开化工具吧

欢迎关注我的主页:

https://jinhengyu.github.io/

Intellij IDEA和EclipsE之间的的全面对比的更多相关文章

  1. IntelliJ IDEA像Eclipse一样打开多个项目(转)

    转自: 海涛zht666   IntelliJ IDEA像Eclipse一样打开多个项目 我们做项目实际中经常会遇到这样的情况,创建一个common项目(Maven项目)作为公用项目,common中有 ...

  2. Intellij IDEA 导入Eclipse或MyEclipse的Web项目(旧版 转载)

    Intellij IDEA 导入Eclipse或MyEclipse的Web项目 博客分类: Intellig IDEA Intellij IDEAEclipseWeb  Intellij IDEA 导 ...

  3. IntelliJ 中类似于Eclipse ctrl+q的是Ctrl+Shift+Backspace

    IntelliJ 中类似于Eclipse ctrl+q的是Ctrl+Shift+Backspace 回到刚刚编辑的地方: ctrl+alt+Left 是回到刚刚浏览的地方,不一定是编辑的地方,可能已经 ...

  4. IntelliJ 中类似于Eclipse ctrl+o的是ctrl+F12

    IntelliJ 中类似于Eclipse ctrl+o的是ctrl+F12 学习了:https://blog.csdn.net/sjzylc/article/details/47979815

  5. (图文教程)IntelliJ IDEA 导入Eclipse/MyEclipse 项目 配置详解+快捷键分享

    (图文教程)IntelliJ IDEA 导入Eclipse/MyEclipse 项目 配置详解+快捷键分享 IntelliJ IDEA 使用教程.快捷键配置. 该教程针对原始jar包依赖的工程.mav ...

  6. Intellij IDEA 导入eclipse 项目

    HoJe一个会rep的程序猿 . 感谢2019 时间匆匆,一转眼2019要跟我们说再见了.我们怀有太多的期望就难免遭遇失望和挫折.我们遇到了困难,往往不是想办法去解决,而是抱怨这个命运的不公.如果生活 ...

  7. IntelliJ IDEA像Eclipse一样打开多个项目

    原文:http://blog.csdn.net/zht666/article/details/47831893 我们做项目实际中经常会遇到这样的情况,创建一个common项目(Maven项目)作为公用 ...

  8. 【转】 IntelliJ IDEA像Eclipse一样打开多个项目

    http://blog.csdn.net/zht666/article/details/47831893 我们做项目实际中经常会遇到这样的情况,创建一个common项目(Maven项目)作为公用项目, ...

  9. 为何IntelliJ IDEA比Eclipse更好

    阅读本文大概需要 4.2 分钟. 本文为译文,翻译:彭博 https://www.oschina.net/news/26929 争论 有一些没有唯一正确答案的“永恒”的问题,例如,更好的是:Windo ...

随机推荐

  1. Android面试题(1)

    1. 下列哪些语句关于内存回收的说明是正确的? (b ) A. 程序员必须创建一个线程来释放内存 B. 内存回收程序负责释放无用内存 C. 内存回收程序允许程序员直接释放内存 D. 内存回收程序可以在 ...

  2. [Javascript] Automate the process of flattening deeply nested arrays using ES2019's flat method

    Among the features introduced to the language of JavaScript in ES2019 is Array.prototype.flat. In th ...

  3. 使用JRadioButton 示例

    代码如下: JRadioButton useCache=new JRadioButton("Use cache");// 初始化单选框 useCache.setFont(new F ...

  4. CUDA编程札记

    const int N = 33 * 1024; const int threadsPerBlock = 256; const int blocksPerGrid = imin( 32, (N+thr ...

  5. 升级_开阔视野之Oracle图形化升级(dbca建库后升级)—10.2.0.1.0升为10.2.0.5.0

    ***********************************************声明*************************************************** ...

  6. Mac下访问windows的共享文件夹

    Finder->前往->smb://<user>@<ip>

  7. LoadRunner中调用SHA1算法加密字符串

    参考<SHA-1 hash for LoadRunner>: http://ptfrontline.wordpress.com/2010/03/02/sha-1-hash-for-load ...

  8. nutch中bin/crawl和bin/nutch crawl的用法(转)

    针对上一篇文章中出现的问题:Command crawl is deprecated, please use bin/crawl instead错误信息,今天在官网上查阅了一下,进行了总结. 官网lin ...

  9. SCRUM敏捷开发规则一栏

    敏捷.敏捷开发这类词近期非常火!敏捷开发,就是指可以在需求迅速变化的情况下高速开发软件.我们接触最多的和敏捷相关的名词是:极限编程(XP).结对编程.測试驱动开发(TDD)等. 敏捷建模(Agile ...

  10. c++ builder xe2 debug正常 release崩溃 解决一例

    今天修改了以前一个项目的代码,是一个exe程序  C++ builder xe2 编译.以前都是好的.今天改了一下版本号 编译了一下,居然不能用了.直接崩溃 提示内存非法访问.而且显然还没有进入Win ...