在这篇文章中,我想向您展示 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 的代码自动完成特性,并从中受益。
你可以通过 Help → Productivity Guide 来了解更多的自动完成的类型以及 IDEA 已经帮你节省了多少时间(这个有点意思)
相关推荐
### IntelliJ IDEA 的 20 个代码自动完成特性详解 #### 一、即刻完成 (Instant Completion) 在 IntelliJ IDEA 中,“即刻完成”是极为便捷的功能之一。与传统的 IDE 不同,IntelliJ IDEA 可在任何上下文中提供即时...
IntelliJ IDEA通过其智能代码助手、自动代码重构、创新的GUI构建器等功能提高了开发人员的效率。下面将详细介绍IntelliJ IDEA的一些核心功能及使用方法。 1. 安装与启动 IntelliJ IDEA提供两种版本:社区版和终极...
首先,IntelliJ IDEA的核心优势在于其强大的代码智能提示和自动完成功能。它能理解多种编程语言,包括Java、Python、JavaScript等,提供了语法高亮、错误检测、快速修复等功能,极大地提高了编码效率。在Java Web...
IntelliJ IDEA是一款备受开发者喜爱的Java集成开发环境(IDE),以其高效、智能的特性而闻名。在软件开发过程中,快速、准确地找到代码中的特定部分是至关重要的,这就是全局搜索功能的价值所在。IntelliJ IDEA的...
这款强大的工具支持多种编程语言,提供了一流的代码自动补全、重构、调试等特性,极大地提高了开发效率。2017版是其历史版本之一,对于中国用户来说,可能需要进行汉化以方便理解和使用。 "IntelliJ IDEA 2017 汉化...
3. **智能编码**:体验IntelliJ IDEA的代码补全、自动格式化、代码分析等功能,提高编程效率。 4. **调试与测试**:掌握如何使用IDE的调试工具进行单步调试,设置断点,以及集成JUnit和TestNG进行单元测试和集成...
IntelliJ IDEA提供了强大的代码补全功能,只需键入少量字符,它就能自动完成类名、方法名等。此外,它还有智能代码分析,可以即时发现潜在错误和改进点。 5. **运行与调试**: 要运行Java程序,可以右键点击主类...
它以其强大的代码自动补全、高效的项目管理和优秀的代码分析功能而闻名。本指南将详细解析IntelliJ IDEA的开发配置,帮助你充分利用其功能,提高开发效率。 一、安装与启动 首先,你需要从官方网站下载对应操作系统...
IntelliJ IDEA以其智能代码补全、深度代码洞察、强大的导航与搜索功能以及高效的重构工具而闻名。 - **版本分类**:IntelliJ IDEA提供两个主要版本——Community Edition(社区版)和Ultimate Edition(旗舰版)。...
一旦插件安装完成,便可以在IDEA中新建一个“JForm”文件,开始界面设计。JFormDesigner提供了一系列预定义的组件,如按钮、文本框、标签等,开发者只需通过鼠标操作即可将这些组件放置到设计区域,调整大小和位置。...
IntelliJ IDEA在Java开发方面有着出色的表现,它提供了代码自动完成、语法高亮、错误检查、重构工具等一系列强大的功能。通过汉化,开发者可以更专注于代码编写,而不是在理解菜单和提示信息上花费额外的时间。 ...
1. **插件结构**:一个基本的IntelliJ IDEA插件通常包含`plugin.xml`配置文件,用于定义插件元数据、激活范围、依赖关系等。此外,还可能包含Java源代码、资源文件等。 2. **插件元数据**:在`plugin.xml`中,...
在实际开发中,IntelliJ IDEA提供了强大的代码自动补全、重构工具和调试功能。例如,使用Alt+Enter快捷键可以快速修复代码问题,Ctrl+Shift+F9可以运行特定的代码块,F9则用于在调试模式下运行项目。 通过观看...
1. **代码补全**:IntelliJ IDEA提供了强大的代码补全功能,能根据上下文自动完成代码,极大地提高了编码速度。 2. **代码分析**:IDE可以自动检测潜在的代码问题,如语法错误、未使用的变量等,并提供解决方案。 ...
- IntelliJ IDEA提供强大的代码自动补全功能,输入少量字符后即可显示相关方法或变量。 - 智能提示包括类、方法、字段,甚至可以提供基于上下文的建议。 - 使用快捷键可以快速插入模板代码,提高编码速度。 4. *...
它以其强大的代码自动补全、重构工具、内置版本控制和单元测试等功能而受到开发者们的喜爱。本教程将深入讲解如何高效地使用IntelliJ IDEA进行Java项目开发。 1. **安装与配置** - 下载与安装:访问JetBrains官网...
IntelliJ IDEA是一款广受欢迎的Java集成开发环境(IDE),以其强大的代码自动完成、重构工具和高度可定制性而闻名。对于那些习惯于使用Eclipse的开发者来说,切换到IntelliJ IDEA时可能会对默认的快捷键感到不适应。...
刚刚从 Eclipse转过来的很多人开始可能不适应,我就把使用过程中的一些经验和常用功能分享 下,当然在看这篇之前推荐你先看完IntelliJ IDEA 的 20 个代码自动完成的特性,这篇文章 对自动完成的特性介绍的非常好,...
“intellijidea开发工具文档.pdf”可能涵盖了这些特性的详细介绍,包括如何配置环境、创建项目、编写代码、调试程序、使用版本控制、安装和使用插件等内容。文档可能还会包含一些高级技巧和最佳实践,帮助用户更好地...