IntelliJ IDEA 的 20 个代码自动完成的特性

在这篇文章中,我想向您展示 IntelliJ IDEA 中最棒的 20 个代码自动完成的特性,可让 Java 编码变得更加高效。对任何集成开发环境来说,代码的自动完成都是最最重要的一项功能,它根据你输入的内容进行预判并帮你自动完成你想输入的代码,有时候甚至都不知道自己想要输入什么,例如一些类名、成员、方法或者是其他方面的内容。

IntelliJ IDEA 中的代码自动完成的功能之所以能让我如此印象深刻,原因是 IDEA 真的理解你的代码以及你当前所在的上下文。接下来我们将这些最重要的特性进行简单的说明,这些特性让 IDEA 显示出比其他 IDE 更棒的表现。

即刻完成 Instant completion

第一个也是最吸引我的就是“即刻完成”特性,不同于其他 IDE,IDEA 可在任意地方提供这个功能,而不只是当你要访问某个类的成员时。只需要输入单词的首字母,IntelliJ IDEA 就会立即给出最相关的、最适合此处代码编辑需要的选项共你选择。

想要了解“即刻完成”是多么的有效,你可以浏览这个 演示视频

类型感知的自动完成 Type-aware completion

另一个特性同样打破了常规的代码自动完成的方法,称为:智能自动完成。你可能已经知道,IDEA 中包含不止一种自动完成的功能,包括 基本自动完成 ⌘Space 和 智能自动完成 ⌘⇧Space.

当你呼出 智能自动完成 时,它会将建议列表中的不适用的条目过滤掉,只显示可用的类、变量、属性或者方法,这个提升了性能而且可以避免不必要的错误,如果你试用下这个功能,你肯定会时刻想到它。


静态属性和方法 Static fields and methods

就如同刚才我说的,IDEA 一直走在你的想法之前。如果你不记得一些静态成员的类名,你只需要开始输入静态成员的名称,然后调用两次“自动完成”,IDEA 会给你提供正确的可供选择的列表,甚至是通过静态 import 进来的方法,如果你调用 Intention action ⌥⏎ 的话.

再一次说明,如果你使用 智能自动完成, 它将只提供可正确使用的选项。

链式自动完成 Chain completion

接下来的一个可让你更多的提升编码效率的自动完成特性,名为 链式自动完成(Chain completion). 如果你需要输入这样的调用方法 getModule().getProject(),只需要使用两次 Smart completion 即可。这种情况下 IDEA 将扫描变量、属性和方法,以及在当前上下文中的可见性,并为你提供可用的选择。

你可能知道 Eclipse Juno 有一个名为 Code Recommenders 的插件,这是一个相当有意思的插件提供了这里说到的功能,但它的工作方式完全不同,只提供 Eclipse SDK API 类中的建议,而 IDEA 为你提供你代码中所有类的自动完成建议。

数据流分析 Data flow analysis

IntelliJ IDEA 被称为是最智能的 Java IDE 的原因是,IDEA 提供的各种功能都是基于对你代码分析的结果,数据流分析就是其中一项。IDEA 分析数据流以便猜测运行环境中的变量类型,并提供基于这个类型的自动完成以及自动增加类的强制类型转换。


常量自动完成 Constants completion

很多 API 使用 Java 的原始类型而不是枚举类型来定义常量,IDEA 能分析出项目中的这些常量,并在自动完成的建议列表中提供选择,快速输入。


父类自动完成 Super completion

你可能已经注意到了,要调用一个有很多参数的父类构造函数挺烦人,而 IDEA 能理解你想要的并提供建议列表供选择。


语句自动完成 Statements completion

IntelliJ IDEA 另外一个智能的特性就是 自动完成语句 Complete statement ⌘⇧⏎, 可以帮你完成正在输入的语句的剩余部分,自动增加漏掉的大括号小括号和必要的格式化处理。

你可能认为这是一个很小的特性,但你会很惊奇的发现当你习惯后,它节省你很多时间。

想试试这个特性可在代码中尝试输入 if 然后按 ⌘⇧⏎. 你也可以在从建议列表中选择的时候使用。

参数信息 Parameter info

我相信大多数的 IDE 在你调用某个方法或者构造函数时都提供了参数的建议,然后如何提供的也是非常重要。

IntelliJ IDEA 会显示每个重载方法或者构造函数的参数信息,并高亮其中最佳匹配的参数类型。这帮你根据输入和期望的内容来选择合适的方法。

你也可以通过 ⌘P 来显示参数信息。

快速定义 Quick definition

另外一个你可能不知道的特性就是 快速定义 Quick definition ⌘⇧I. 它会弹窗显示建议列表中的方法定义的内容,更多的时候,方法的定义比文档更有用,特别是你不确定要使用哪个方法时。


从自动完成中排除 Exclude from completion

我肯定每个人都至少会碰到一次这种情形,你从来不用的某个反复总是反复的出现在自动建议列表中。例如 com.sun 或者是 java.awt 包。

IntelliJ IDEA 可帮你排除掉这些选项,只需要在要排除的选项中调用 Intention ⌥⏎ 并确认,你也可以在 Settings 中重新找回这些信息。


其他语言注入 Injected languages

接下来的这个就不管是代码自动完成那么简单,这个功能完全可以开一篇新的文章详细介绍,但这里只介绍它跟代码自动完成有关的部分。

其他语言注入 Language injection 是 IntelliJ IDEA 带来的高级代码助手,可对 Java 代码中字符串的表达式进行自动完成。这些表达式可以是 SQL, JPQL, XPath expression, HTML, CSS, JavaScript 片段等任何语言。

在 IntelliJ IDEA 提供这些表达式的自动完成功能前,你必须指定对应的语言,你可在字符串上调用 Intention action ⌥⏎ 来设置,然后方可使用。

例如你在 IDEA 中定义了一个数据源,你将可使用基于表名的 SQL 表达式的自动完成,该 IDE 会分析项目中所有的文件并提供所支持语言的高级自动完成功能。

使用 Tab 键的自动完成 Completion with Tab

另外一个特性就是 Сompletion with Tab,也就是使用 Tab 键来实现自动完成,当你选择建议列表中的某个条目后点击 ⇥, 选中的内容将会覆盖光标标识符,而不是插入。这在编辑如文件名这样的标识符片段时是很有用的。

否定布尔值结果 Negating boolean results

并不是所有人都知道,当你从建议列表中使用 ! 来选择一个布尔值的选项时,IntelliJ IDEA 会自动添加所选项的的非值(例如本来是true的变成false)。

中间匹配 Middle matching

另外一个高效的方法就是 中间匹配 Middle matching. 意思是当你在刚开始要输入某个标识符时,IntelliJ IDEA 就会为你提供可供选择的建议列表,这个特性能显著提升编码效率,特别是当你只记住某个名称的一部分时。


大小写敏感设置 Case sensitivity settings

正如你可能已经知道的,代码完成常用的方法就是使用驼峰法则来根据您的输入去匹配相应的类名。虽然你需要输入至少一个大小字母来给 IDE 一些线索提示。而 IntelliJ IDEA 改进了这个法则,它不要求一定是大小字母,也可以是小写的,也就是说你没必要在每次使用这个功能时按 ⇧

默认 IntelliJ IDEA 对大小写是敏感的,你可以在 Settings 修改此项设置。

资源属性(properties)、文件名和资源的自动完成

IDEA 还可判断当前正在使用一些加载资源的方法,并给出可供选择的资源列表。


一些在非 Java 文件中的类名自动完成 Class name completion in non-Java files

IntelliJ IDEA 同样还提供一些非 Java 文件,如 XML 配置文件中的类名自动完成。


其他地方的自动完成 Completion in other places

另外一个你在别的 IDE 中很难见过的自动完成功能是,它不只是在代码编辑器中,还可用在调试器、表达式模拟、监视、文件选择器、搜索输入等等诸多地方使用。

表达式评估和监视工具中的自动完成这个功能是非常有价值的。

总结

我希望这篇文章能帮你更好的理解 IntelliJ IDEA 的代码自动完成特性,并从中受益。

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: IntelliJ IDEA Ultimate 是 JetBrains 公司开发的 Java 集成开发环境(IDE)。它提供了强大的代码编辑、调试、重构和项目管理功能,是开发 Java 应用程序的理想工具。 ### 回答2: IntelliJ IDEA Ultimate是一款强大的综合性集成开发环境(IDE),由JetBrains公司开发。它为开发者带来了丰富的功能和优秀的用户体验。 IntelliJ IDEA Ultimate提供了广泛的语言支持,包括Java、Kotlin、Groovy、JavaScript、TypeScript、SQL等。它具有智能代码编辑功能,可以自动完成、重构等,大大提高了开发效率。此外,它还提供了强大的调试功能,帮助开发者更容易地排查和修复代码错误。 IntelliJ IDEA Ultimate还具有丰富的插件生态系统,开发者可以根据自己的需要选择并安装各种插件,进一步扩展IDE的功能。此外,它还提供了与版本控制系统(如Git、SVN等)的无缝集成,方便开发者进行版本管理和团队协作。 IntelliJ IDEA Ultimate还提供了强大的内存分析工具和性能调优功能,开发者可以通过它们来分析和优化应用程序的性能,提高应用程序的响应速度和资源利用率。 总结来说,IntelliJ IDEA Ultimate是一款功能强大的IDE,提供了丰富的功能和插件,在Java和其他语言的开发中具有重要作用。通过它,开发者能够提高开发效率、提升代码质量、优化应用程序性能,从而更轻松地完成各种开发任务。 ### 回答3: IntelliJ IDEA Ultimate是一款由JetBrains开发的集成开发环境(IDE),用于Java、Kotlin、Groovy和其他语言的开发。它是IntelliJ IDEA系列的高级版本,提供了更多的功能和特性,适用于专业开发者。 IntelliJ IDEA Ultimate具有强大的代码编辑和智能提示功能,可以帮助开发者编写高质量的代码并提高开发效率。它具有自动补全、代码导航、重构工具和实时错误检查等功能,使开发者能够更轻松地浏览和编辑代码。 该IDE还提供了许多集成工具和插件,如版本控制系统、构建工具和调试器,可以方便地管理和部署项目。除了Java和Kotlin,IntelliJ IDEA Ultimate还支持其他流行的编程语言和框架,包括JavaScript、HTML、CSS、Spring和Hibernate等。 IntelliJ IDEA Ultimate还提供了一系列高级功能,如代码分析、性能优化、版本控制和集成测试工具。它还支持团队合作开发,可以与其他开发者无缝协作,并具有代码审查和版本控制集成。 总之,IntelliJ IDEA Ultimate是一款功能强大的集成开发环境,适用于专业开发者和大型项目。它提供了丰富的功能和工具,可以帮助开发者更轻松、高效地开发和管理代码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薯条大爹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值