当前位置: 首页 > 面试题库 >

在IntelliJ中可能无法在Eclipse中完成的事情?

印振国
2023-03-14
问题内容

我听说有人改变了选择的方式,并选择了其中一种。

作为Eclipse的忠实粉丝,但没有时间试用IntelliJ,我很想听听IntelliJ用户,他们是“前Eclipsians”,您可以使用IntelliJ来完成某些您无法使用Eclipse来完成的特定工作。

注意 :这不是主观问题,也不是要成为IDE的圣战。 请否决任何烈火的答案


问题答案:

Ctrl单击可在任何地方使用

按住Ctrl键并单击即可将定义的对象带到任何地方-
不仅在Java类和Java代码中的变量中,而且在Spring配置中(您可以单击类名,属性或bean名称),在Hibernate中(您可以单击可以单击属性名称或类,或包含的资源),您可以一键单击Java类,将其用作Spring或Hibernate
bean;单击包含的JSP或JSTL标记也可以,按住ctrl键单击JavaScript变量或函数会将您带到定义的位置,或者如果存在多个位置,则显示菜单,包括HTML或JSP中的其他.js文件和JS代码文件。

自动完成许多语言

冬眠

在Spring配置中的HSQL表达式,Hibernate配置(包括类,属性和数据库列名称)中自动完成

<property name="propName" ref="<hit CTRL-SPACE>"

它将显示您可以注入该属性的那些bean的列表。

爪哇

Java代码中非常聪明的自动完成功能:

interface Person {
    String getName();
    String getAddress();
    int getAge();
}
//---
Person p;
String name = p.<CTRL-SHIFT-SPACE>

它仅向您显示 getName()getAddress()toString() (仅按类型兼容),并且 getName()
在列表中排在首位,因为它具有更相关的名称。仍在EAP中的最新版本8具有更智能的自动完成功能。

interface Country{
}
interface Address {
    String getStreetAddress();
    String getZipCode();
    Country getCountry();
}
interface Person {
    String getName();
    Address getAddress();
    int getAge();
}
//--- 
Person p;
Country c = p.<CTRL-SHIFT-SPACE>

它会自动将其自动完成

Country c = p.getAddress().getCountry();

Java脚本

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<CTRL-SPACE>;
}

并且它仅显示 getName()getAddress() ,无论您项目中其他JS对象中的get *方法如何,然后按住ctrl单击
this.getName()都会 将其带到定义该位置的位置,即使您的项目中还有其他一些 getName() 函数。

的HTML

我是否提到过自动完成功能和按ctrl键单击文件的路径,例如<script src =“”,<img src =“”等?

HTML标记属性中的自动完成。HTML标签的样式属性的自动完成功能,包括属性名称和值。类属性也自动完成。
键入<div class =“ ,它将显示您在项目中定义的CSS类的列表。选择其中一个,然后按住Ctrl并单击,您将被重定向到定义它的位置。

轻松自学语言

最新版本具有语言注入功能,因此您可以声明自定义JSTL标记通常包含JavaScript,并将在其中突出显示JavaScript。

<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>

所有项目的索引搜索。

您可以使用任何Java类或方法的“查找用法”,它不仅可以找到Java类,还可以找到Hibernate,Spring,JSP和其他地方的使用位置。重命名方法重构不仅在Java类中而且在包括注释在内的任何地方都重命名方法(无法确定注释中的字符串是否真的是方法名称,因此它会询问)。即使存在另一个同名类的方法,它也只会找到您的方法。良好的源代码控制集成(SVN是否支持更改列表?IDEA支持每个源代码控制),能够使用更改创建补丁,以便您可以将更改发送给其他团队成员而无需提交更改。

改进的调试器

当我在调试器的监视窗口中查看 HashMap 时,我看到了逻辑视图-键和值,上次我在Eclipse中进行操作时,它显示的是带有哈希值和下一个字段的条目-
我不是在真正调试 HashMap ,我只想看看它的内容。

Spring&Hibernate配置验证

当您编辑它时,它会正确验证Spring和Hibernate配置,因此,我无需重新启动服务器即可知道我拼写了错误的类名或添加了构造函数参数,因此我的Spring
cfg无效。

上次尝试时,无法在Windows XP x64上运行Eclipse。

它会建议你 PERSON.NAMEperson.address 。按住Ctrl键单击“ person.name” ,它将导航您到
Person 类的 getName() 方法。 __

类型Pattern.compile("");把\\那里,按CTRL-SPACE,看什么,你可以把你的正则表达式有用的提示。您还可以在此处使用语言注入-
定义自己的使用字符串参数的方法,在IntelliLang选项对话框中声明您的参数为正则表达式-它将在该处也自动完成。不用说,它突出显示了不正确的正则表达式。

其他特性

我不确定Eclipse中是否存在一些功能。但是至少我们团队中使用Eclipse的每个成员还使用某种合并工具来合并本地更改与源代码控制(通常是WinMerge)中的更改。我从不需要它-
对我来说,合并IDEA就足够了。通过单击3次,我可以在源代码管理中看到文件版本的列表,通过单击3次以上,我可以比较以前的版本,或以前和当前的版本,并可能合并。

它允许指定我需要WEB-INF\lib文件夹中的所有.jar,而无需分别选择每个文件,因此当有人将新.jar提交到该文件夹​​时,它将自动将其拾取。

上面提到的大概是其功能的10%。我没有使用Maven,Flex,Swing,EJB和许多其他东西,所以我无法确定它如何对他们有所帮助。但是确实如此。



 类似资料:
  • 问题内容: 我在一个项目中坚持使用Eclipse,并且希望具有与IntelliJ类似的自动补全功能-两个主要问题是: 开始输入,Eclipse将自动提示所有可能性 在下拉列表中选择项目时,您不仅可以使用Enter键,而且可以使用点,空格键… 问题答案: 我认为在Eclipse中肯定有类似的东西,当然在Eclipse Helios中也是如此。在键入时,请按CTRL + SPACE,或者在键入变量名“

  • Eclipse不支持javaScript自动完成和代码高亮,不想使用像codemix这样的付费插件,tabIX有没有其他选择,而不使用其他Ide像Vscode ??

  • 问题内容: 我试图导入各种我不记得它们确切名称的库。不幸的是, Xcode 6(使用)不能像使用Objective-c 在 Xcode 5中那样自动完成它们。 例如: 等等 我被迫向Google输入确切的框架名称,然后返回并复制粘贴。 通常,自动完成功能的效果非常差。我在Xcode 6中做错了吗? 我是否应该在设置中设置任何标志以使其正常工作? 问题答案: apple dev论坛中的此修复程序对我

  • 我正在从Eclipse迁移到Intellij Idea。有一件事我还不明白,那就是自动完成JavaDoc标记。在Eclipse中键入时,有两个建议: 我如何在Intellij中实现第一个提议(这可能吗?)?如果可能的话,我如何更改为作者姓名占位符插入内容的模板?

  • 然后右键单击模块并选择Maven->Generate Sources and Update Folders。不幸的是,在target->generated-sources下没有创建类 如果有任何帮助,我将不胜感激。

  • 问题内容: 我是Eclipse的新手,我想知道是否有可能在我键入(Visual Studio样式)时自动打开完成窗口,而不是单击+ 吗? 问题答案: 有可能的。你可以简单地写:在大田,> > > 。 在编写Java代码时,在点之后,窗口会在可配置的时间(默认值为200毫秒)后自动打开。 通常,您可以执行的操作是添加一个自动激活触发器,例如,这样,当您要弹出窗口时,您可以键入并删除该字符(尽管我认为