介绍一些必要的IntelliJ IDEA使用小技巧,助力开发者提高生产力。
微信搜索关注《Java学研大本营》
本指南针对已经熟悉IntelliJ IDEA基本功能并想要了解更多的开发人员。
1 编码辅助
1.1 类型信息
如果你想要了解光标处的符号的更多信息,比如它来自哪里或者它是什么类型,快速文档是你的好朋友。按Ctrl+Q(OS X系统为Ctrl+J)来调用它,你会看到一个弹出窗口显示这些细节。如果你不需要完整的信息,那么可以使用类型信息操作代替:它只显示选中表达式的类型,但不占用太多的屏幕空间。
1.2 代码补全大小写敏感
默认情况下,IntelliJ IDEA代码补全大小写敏感只影响你输入的第一个字母。这个策略可以在“设置→编辑器→常规→代码补全”(Settings → Editor → General → Code Completion)中修改,所以你可以根据你的喜好,让IDE对所有字母敏感或者完全不区分大小写。
1.3 自动弹出代码补全
在这里,你也可以关闭自动弹出代码补全选项。这样做有意义,如果你只想在明确调用时才显示代码补全弹出窗口。
1.4 禁用高亮光标处元素的用法
通过在“设置→编辑器→常规”(Settings → Editor → General)中设置,快捷键Ctrl+Shift+F7(OS X系统为Cmd+Shift+F7)。如果你不喜欢每次简单移动光标时编辑器中出现和消失的高亮,你就不需要这个选项,可以设置禁用编辑器中光标所在位置的元素的高亮显示。
1.5 驼峰式大小写
默认情况下,当您在编辑器中选择任何内容时,IntelliJ IDEA 不会对单词的大小写敏感。如果您希望根据 CamelCase 选择单词,例如选择单词的一部分而不是整个单词,则可以在“设置→编辑器→常规→智能键”(Settings → Editor → General → Smart Keys)中启用此功能。
1.6 Hippie自动补全
IntelliJ IDEA 通过 Ctrl+Space 提供基本完成,通过 Ctrl+Shift+Space 提供智能完成,通过 Ctrl+Shift+Enter(OS X 上为 Cmd+Shift+Enter)提供语句完成。所有这些功能都基于对代码结构的实际理解。但是,有时您可能需要更为琐碎但灵活的逻辑,该逻辑将建议当前文件甚至项目中早期使用的单词,而不考虑其上下文。此功能称为 Hippie 完成,可通过 Alt+/ 使用。
2 重构
2.1 撤消重构
使用 IntelliJ IDEA 重构代码时无需担心后果,因为您可以随时通过从项目工具窗口调用“撤消”(快捷键为 Ctrl+Z(OS X 上为 Cmd+Z))来撤消任何操作。
2.2 提取字符串片段
IntelliJ IDEA 不仅能够重构可执行代码,还能够重构字符串文字。选择字符串的任何片段并调用“提取变量/常量/字段/参数”将其提取为常量并替换其在整个代码中的使用。
2.3 类型迁移
重构时,通常会重命名符号或提取和移动代码中的语句。但是,重构不仅仅是这样。例如,类型迁移(通过 Ctrl+Shift+F6(OS X 上为 Cmd+Shift+F6)可用)允许您更改变量、字段、参数或方法返回值的类型(int → String、int → Long 等),更新相关代码并解决可能的冲突。
2.4 反转布尔
如果 IntelliJ IDEA 可以自动化类型迁移,为什么不使用相同的方法来处理语义呢?要反转布尔符号的所有用法,只需使用反转布尔重构即可。
3 代码分析
3.1 依赖结构矩阵
IntelliJ IDEA 可让您分析代码中组件之间的紧密程度,以及您需要关注这一点,因为当依赖关系过多时,可能会引起各种问题。依赖结构矩阵操作(通过“分析”菜单可用)将帮助您可视化和探索模块、包和类之间的依赖关系。
尽管它看起来很复杂,但它是一个非常易于使用的工具。只需选择一个类或包,然后查看它在哪里使用以及它使用了什么。
3.2 结构搜索和替换
结构搜索和替换非常强大(在学会正确使用之后),可以用于静态代码分析和重构自动化。简而言之,它允许您在代码中搜索特定模式并将其替换为参数化模板。为此,它配备了自己的语言,用于定义代码模式,在本文中有更详细的描述。
要访问此功能,请使用“编辑→查找”(Edit → Find)菜单。如果要创建自己的模板或模式,请转到“设置→编辑器→检查”(Settings → Editor → Inspections),并启用“常规→结构搜索检查”(General → Structural Search Inspection)。
4 用户界面
4.1 禁用面包屑和标记树突出显示
如果您处理大量 HTML 和 XML 并希望避免不必要的干扰,则可以在“编辑器→常规→外观”(Editor → General → Appearance)中禁用面包屑和标记树突出显示。
4.2 禁用不必要的 gutter 图标
Gutter 是最左边的编辑器列,通常显示与您正在编辑的代码相关的有用信息。如果您觉得有时它太多了,可以通过“设置→编辑器→常规→Gutter”(Settings → Editor → General → Gutter)配置您想要在那里看到的内容。
4.3 禁用烦人的意图灯泡
还有一件可能令人讨厌的事情是,每当插入符号处有可用意图时,编辑器中都会出现意图灯泡。禁用它有点困难:您需要手动编辑 <IntelliJ IDEA preferences folder>/options/editor.xml
,并添加以下行:
<option name=”SHOW_INTENTION_BULB” value=”false” />
4.4 从“搜索所有内容”切换设置
使用“搜索所有内容”,您可以在代码、库、UI 部分、设置甚至操作名称的任何地方找到任意文本片段。如果您经常使用此功能,则值得知道,您可以通过在其弹出窗口中直接按 Enter 来访问 IntelliJ IDEA 设置。例如,在此处,我们正在访问编辑器设置:
4.5 从“搜索所有内容”启用和禁用插件
如果您以 #plugins 开始搜索查询,则可以打开和关闭它们。
其他标签包括 #appearance、#system、#inspections、#registry、#intentions、#templates 和 #vcs。
4.6 在“搜索所有内容”中使用操作缩写
另一个有趣的事实是,“搜索所有内容”支持缩写。您可以使用“设置→键盘映射”(Settings → Keymap)将短文本分配给任何操作,然后通过输入此文本从“搜索所有内容”调用此操作。
4.7 隐藏编辑器选项卡
当您需要关闭除当前选项卡之外的所有编辑器选项卡时,请单击当前选项卡上的关闭图标并按住 Alt。如果您根本不想看到编辑器选项卡,请转到“设置→编辑器→常规→编辑器选项卡”(Settings → Editor → General → Editor Tabs),并在“放置”下选择“无”。
4.8 在新窗口中打开文件
一个不太容易找到但很方便的功能是,在项目工具窗口中单击 Shift+Enter 可以在新窗口中打开文件。
4.9 在工具栏中添加停止和恢复按钮
将停止和恢复按钮添加到导航栏工具栏可能很方便。您可以通过“设置→外观和行为→菜单和工具栏”(Settings → Appearance & Behaviour → Menus and Toolbars)来实现。如果您更喜欢使用鼠标而不是键盘快捷键,那么您就不需要打开调试工具窗口来管理当前的调试会话。
4.10 在窗口之间切换
如果您的 IntelliJ IDEA 设置为在单独的窗口中打开每个项目,则可以使用 Ctrl+Alt+(OS X 上为 Ctrl+)快速在它们之间切换。
推荐书单
IT BOOK 多得(点击查看5折活动书单)https://u.jd.com/psx2y1M
《深入理解Java高并发编程》
《深入理解Java高并发编程》致力于介绍Java高并发编程方面的知识。由于多线程处理涉及的知识内容十分丰富,因此介绍时必须从Java层面的讲解一直深入到底层的知识讲解。为了帮助读者轻松阅读本书并掌握其中知识,本书做了大量基础知识的铺垫。在第1篇基础知识储备中,主要介绍计算机原理、并发基础、常见语言的线程实现、Java并发入门、JUC之Java线程池、JUC之同步结构、Java NIO详解等内容。在第2篇深入Java并发原理中,详细介绍了JUC包中所有使用的原子类的原理与源码实现;非常关键且容易出错的volatile关键字的原理,从Java、JVM、C、汇编、CPU层面对其进行详细讲解;synchronized在JVM中获取锁和释放锁的流程;JUC包的核心结构——AQS的原理与源码实现,通过逐方法、逐行的解释,帮助读者彻底掌握AQS中提供的获取锁、释放锁、条件变量等操作的实现与原理。最后,详细介绍了JVM中JNI的实现原理,将Java Thread对象中的所有方法在JVM层面的实现流程进行了详细描述,以帮助读者在使用这些方法时,知道底层发生了什么,以及发生异常时如何从容解决问题。
《深入理解Java高并发编程》https://item.jd.com/13523064.html
精彩回顾
微信搜索关注《Java学研大本营》
访问【IT今日热榜】,发现每日技术热点