在IntelliJ中可能的事情,在Eclipse中不可能?
在IntelliJ中可能的事情,在Eclipse中不可能?
已锁定。此问题及其答案因为问题不在主题范围内,但具有历史意义而被锁定。它目前不接受新的答案或交互。
我听说过有人换了另一种方式,并且教信仰其中一种。
作为一个巨大的Eclipse粉丝,但没有时间尝试IntelliJ,我想听听IntelliJ用户中“前Eclipsians”的一些特定事情,这些事情在Eclipse中无法做到。
注意:这不是一个主观的问题,也不是要成为一个IDE圣战。 请给任何挑起争端的答案投反对票。
CTRL-click功能无处不在
CTRL-click可以把光标跳转到鼠标点击的对象定义的位置,不仅可以用于Java代码中的类和变量,而且还可以用于Spring配置文件(可以点击类名、属性或bean名称),以及Hibernate中(可以点击属性名或类名,或包含的资源),只需一次点击即可从Java类跳转到其被用作Spring或Hibernate bean的位置,也可以点击被包含的JSP或JSTL标签,同时,ctrl-click在JavaScript变量或函数上也能够定位到它的定义位置或提供一个菜单,如果有多个位置的话,它还可以查找其他.js文件和HTML或JSP文件中的JS代码。
许多语言的自动完成
Hibernate
支持HSQL表达式,支持Hibernate配置(包括类、属性和DB列名),支持Spring配置的自动完成
它会显示你可以注入到该属性的bean列表。
Java
非常智能的Java代码自动完成:
interface Person { String getName(); String getAddress(); int getAge(); } //--- Person p; String name = p.
它只会显示getName()、getAddress()和toString()(只有它们的类型是兼容的),并且getName()在列表中排名第一,因为它的名称更有相关性。最新的版本8仍在EAP中,具有更智能的自动完成功能。
interface Country{ } interface Address { String getStreetAddress(); String getZipCode(); Country getCountry(); } interface Person { String getName(); Address getAddress(); int getAge(); } //--- Person p; Country c = p.
它会默默地将它自动完成为
Country c = p.getAddress().getCountry();
Javascript
智能的JavaScript自动完成。
function Person(name,address) { this.getName = function() { return name }; this.getAddress = function() { return address }; } Person.prototype.hello = function() { return "I'm " + this.getName() + " from " + this.get; }
它只会显示getName()和getAddress(),不管你的项目中有多少其他JS对象中的get*方法,并且通过ctrl-click在this.getName()上可以定位到它的定义位置,即使在你的项目中有其他getName()函数。
HTML
我提到过自动完成和路径文件中的ctrl-click,例如