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

24 浏览
0 Comments

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

已锁定。此问题及其答案因为问题不在主题范围内,但具有历史意义而被锁定。它目前不接受新的答案或交互。

我听说过有人换了另一种方式,并且教信仰其中一种。

作为一个巨大的Eclipse粉丝,但没有时间尝试IntelliJ,我想听听IntelliJ用户中“前Eclipsians”的一些特定事情,这些事情在Eclipse中无法做到。

注意:这不是一个主观的问题,也不是要成为一个IDE圣战。 请给任何挑起争端的答案投反对票

admin 更改状态以发布 2023年5月21日
0
0 Comments

我只用intellij而不用eclipse的一个原因是:易用性。

无论是调试、重构、自动补全等等,Intellij都更容易使用,具有一致的按键绑定、在查找选项时有可用选项等等。从功能方面来看,Intellij很难赶上Eclipse,因为Eclipse有更多的插件可用而且很容易扩展。

0
0 Comments

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,例如