Eclipse中可能的事情在IntelliJ中是不可能的?

Cra*_*lin 58 java eclipse ide intellij-idea

我听过那些发誓的人.两者都是功能齐全,出色的IDE.但每个人的优势略有不同.这并不意味着变成一场神圣的IDE战争.请低估任何flamebait答案.谢谢.

这就是这个问题的类比.

Ola*_*ock 37

我在IDEA中最喜欢的小烦恼(以及Eclipse中最喜欢的小功能)是在输入一个开口大括号(例如"{")或分号时对角色的定位.你必须在Eclipse中启用它(Window/Preferences/Java/Editor/Typing:"自动插入正确的位置:分号,大括号")

这只是前面的类型("|"是插入位置)

while(|
Run Code Online (Sandbox Code Playgroud)

结果(没有魔法)

while(|)
Run Code Online (Sandbox Code Playgroud)

现在输入true {,结果为

while(true) {|
Run Code Online (Sandbox Code Playgroud)

如此简单,却如此强大.

另外,在(例如)

System.out.println("Hello world")
Run Code Online (Sandbox Code Playgroud)

如果在该行的任何位置使用插入符号,键入分号将在行尾自动键入.Backspace更正,就像您最喜欢的wordprocessor中的常规自动更正一样.

无价.我在第一次尝试时不再能够在正确的位置键入分号:)

  • 您想在IDEA中尝试CTRL-SHIFT-ENTER.它将在两种情况下"完成"该线 (14认同)
  • 谢谢,这对我来说是新闻 - 虽然我无法控制所有这些关键组合的想法用途.';' 和'{'*更直观.我将在下周工作,并将尝试记住...... ;-) (5认同)
  • 如果要插入; 在字符串中只需按退格键,如OpenOffice,Word或其他.这将恢复自动更正.我的绝大多数分号(几个数量级)结束了一条线,所以我对它非常满意. (5认同)
  • @ckeh:在Eclipse中,它不是快捷方式,而是您要键入的字符.只是位置得到纠正. (3认同)

Cra*_*lin 29

Eclipse的增量编译器允许您在不相关的代码中存在编译器错误时运行单元测试.除非所有代码都有效,否则IntelliJ依赖于不发出字节码的javac.

  • IntelliJ提供了使用Eclipse编译器或AJC的选项,因为很长一段时间.(设置>编译器> Java编译器>使用编译器下拉列表) (9认同)
  • 这是否意味着甚至Idea人都知道Eclipse在*编译*方面更好? (2认同)

pas*_*ssy 23

由于新的Android Studio,我试图切换到IntelliJ.但我现在非常失望.我正在使用Eclipse和Code Recommenders插件.这是一个简单的例子,为什么Eclipse非常棒:

我想创建一个新的SimpleTimeZone.SimpleTimeZone没有没有参数的构造函数.

Eclipse中的Ctrl + Space

在此输入图像描述

IntelliJ中的Ctrl + Space

在此输入图像描述

在IntelliJ中,我没有获得任何类型的构造函数的信息SimpleTimeZone.

在Eclipse中输入后

在此输入图像描述

我得到之前选择的构造函数填充预定义的变量名称.我可以看到每个论点的类型.使用Code Recommenders,Eclipse通过当前作用域中先前定义的变量类型猜测正确的构造函数,并使用这些变量填充构造函数.

输入IntelliJ后没有任何反应.我得到一个空的构造函数.我必须按Ctrl + P才能看到预期的参数.

在此输入图像描述

或尝试简单的事情.类型

syso<Ctrl+Space>
Run Code Online (Sandbox Code Playgroud)

日食: System.out.println()

的IntelliJ: syso

  • Intellij:sout <tab> - > System.out.println()或soutp,或soutv,或许多其他.首选项 - >实时TEmplates - >输出列表. (11认同)
  • intellij中的Ctrl + P将显示方法的参数,但不会像eclipse一样自动填充! (2认同)

Sam*_*ran 17

据我所知,IntelliJ中没有Eclipse的优秀Mylyn任务插件.

  • 新的任务管理非常好.这个答案不再有效:​​) (9认同)

Rom*_*las 13

从Eclipse 3.3开始(但可以在使用插件之前完成),您可以在保存Java文件时自动执行操作:

  • 组织进口
  • 格式源代码
  • 一些其他动作(比如添加注释,删除不必要的强制转换......)

这可以在Preferences> Java> Editor> Save actions中配置.

  • IntelliJ可以设置为动态优化导入,动态添加明确的导入.保存格式不同 - 在IntelliJ中它是"On Commit":请参阅http://stackoverflow.com/questions/3707316/save-actions-in-intellij-idea (3认同)

小智 7

Eclipse平台的开放性使得插件编写者社区蓬勃发展.有大量的插件可用于所有类型的任务.

  • 问题是关于Eclipse中可能的事情,在IDEA中是不可能的.你的意思是IDEA不能写插件吗? (4认同)
  • 我确定插件的数量是直接的好处.Eclipse中作为插件提供的一些功能(如更好的JS支持)嵌入在IDEA中. (2认同)

小智 6

我最喜欢的Eclipse功能:

  • AspectJ集成,包括方面和代码之间的导航,显示应用方面的注释标记,交叉引用视图,显示方面类型的常见开放式对话框(最近添加)
  • OSGi工具(又名PDE),编辑和优化OSGI清单,特定于OSGi的重构和声明性服务编辑器(目前正在开发中)


ftr*_*ers 5

我无法弄清楚如何在Intellij中自动添加javadoc,而在Eclipse中它只是:Shift-Alt-j

我不喜欢IntelliJ的东西(来自Eclipse开发人员)

  • 只需按一个标签,Tab键就不会缩进以校正点.

  • 多项目是第一个...但很多人之前已经介绍过,所以我会离开它.

  • 窗户分裂.在Eclipse中,您只需将窗口拖动到任何您想要的位置即可.

  • 字体糟透了.我改为下一个我能找到的最好的一个:解放单声道,大小14.(设置>编辑器>颜色和字体>字体)

  • 突出显示XML是令人讨厌的...删除了大胆.

  • 将编辑器窗口与项目导航器中选择的文件同步.我不能默认这种情况发生,我每次都要按下按钮??? 找到了:

  • 双击项目导航器有时无法打开文件.有时即使是三重点击也不会这样做.只需四次点击就可以打开它!**这是一个答案......只是双击速度太快了:关于双击IDEA,双击打开文件很困难的原因是Java程序,例如IDEA读取双击来自X11资源的速度.如果未明确设置,则默认为200毫秒,这是快速的.为了获得更合理的阈值,创建〜/ .Xresources并添加:*.multiClickSpeed:400

  • 无法弄清楚如何得到建议:Ctrl-1在eclipse中给出的"将语句赋值给局部变量".我一直都在使用它.

**是的!这是引入变量重构.默认情况下,选择一些文本,然后按Ctrl + Alt + V.如果表达式不完整或无效,IntelliJ仍会很好地猜测您的意思并尝试为您修复它.

  • Tab不会立即采取行来纠正现场.

  • 无法正常自动完成**Ctrl-Shift-Space有助于......

  • 热门代码重新运行.在eclipse中,我可以在调试器中修改方法,并重新加载帧.**右键单击:丢帧

  • 双击变量以突出显示它,不会突出显示变量的其他出现.

  • 弃用的方法不会被删除.

  • 可以在"设置"菜单中正确搜索 所有过滤掉的都是顶级名称,而不是菜单本身内的所有字符串.找不到我的jdk设置在哪里!

  • 不能动态编译,只有当我点击'debug'时它才会编译.

  • 没有'右键单击类并选择New> JUnit'功能.

  • 调试时,窗口出现在底部,无法移动到我喜欢的位置.**将折叠后的小图标拖动到要从中弹出的任何一侧.

我喜欢的事情:

  • 粘贴历史很好:

按Ctrl-Shift-V键

  • 只需单击调试/运行图标实际上运行最后一个配置,eclipse不是那么聪明(或者它太聪明???),我不喜欢它的方式.

  • 自动完成非常好.

  • 只需单击一次即可添加断点

  • 代码崩溃/扩展似乎更好.

  • Ctrl-Shift--(减号)折叠/折叠全部.

  • "列模式"可以打开"编辑 - 列模式"或使用alt + shift + insert


Arn*_*ter 0

一个有效的 subversion 集成,看看idea subversion 插件的错误

  • 我使用 eclipse、idea 7 和 idea 8。idea 的 subversion 插件有一个非常奇怪的行为,导致部分提交(因为 lok´cal 更改缓存不是最新的),在传入历史记录中显示 [partial] 前缀。 (2认同)