分享

IntelliJ IDEA 实用技巧汇总指南


问题导读

1.怎样配置IntelliJ IDEA,使开发效率更高?
2.IntelliJ IDEA日常使用必备快捷键有哪些?
3.怎样利用IntelliJ IDEA插件进行代码调试?



前言

工欲善其事
必先利其器

最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀的IDE。

同时,在这次分享之后,本人自己也学习到了一些新的使用技巧,所以借着这次机会,一起分享出来。希望可以帮到一些人。

基于的 IDEA 版本信息:IntelliJ IDEA 2018.2.2 (Ultimate Edition)

知识点概览:

  • 高效率配置
  • 日常使用 必备快捷键(★★)
    • 查找
    • 跳转切换
    • 编码相关
    • 代码阅读相关
    • 版本管理相关
  • 编码效率相关(★★)
    • 文件代码模板
    • 实时代码模板
    • 其他
  • 代码调试 源码阅读相关(★★★)
    • 视图模式
    • 代码调试
    • ...
  • 插件方面
    • 插件的安装与使用
    • 插件推荐
  • 参考

高效率配置

1. 代码提示不区分大小写

Settings -> Editor -> General -> Code Completion

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTgt.jpeg

(低版本 将 Case sensitive completion 设置为 None 就可以了)

2. 自动导包功能及相关优化功能

Settings -> Editor -> General -> Auto Import

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTEw.jpeg

3. CTRL + 滑动滚轮 调整窗口显示大小

Settings -> Editor -> General -> Change font size (Zoom) with Ctrl+Mouse wheel

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTQt.jpeg

选择之后,就可以通过CTRL+滑动滚轮的方式,调整编辑器窗口的字体大小

4. tab 多行显示

这点因人而异,有些人喜欢直接取消所有tab,改用快捷键的方式,我屏幕比较大,所以喜欢把tab全部显示出来。

Window -> Editor Tabs -> Tabs Placement,取消勾选 Show Tabs In Single Row选项。

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTUt.jpeg

效果如下:

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTEt.jpeg

5. 代码编辑区显示行号

Settings -> Editor -> General -> Appearance 勾选 Show Line Numbers

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTgt.jpeg

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTMt.jpeg

日常使用 必备快捷键(★★)

查找

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTMt.jpeg

跳转切换

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTct.jpeg

编码相关

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTYt.jpeg

代码阅读相关


aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTgt.jpeg

版本管理相关


aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTQt.jpeg

更多快捷键请参考此文章

https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/master/keymap-introduce.md

mac os 快捷键请参考本文章

https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/master/keymap-win-mac.md

编码效率相关(★★)

文件代码模板

Settings -> Editor -> File and Code Template

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTgt.jpeg

在这里可以看到IDEA所有内置的文件代码模板,当你选择某个文件生成时,就会按照这里面的模板生成指定的代码文件。

另外,你可以在这里设置文件头。

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTct.jpeg

设置之后,效果如下

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTUt.jpeg

实时代码模板

IDEA提供了强大的实时代码模板功能,并且原生内置了很多的模板,比如,当你输入sout或者psvm,就会快速自动生成System.out.println();和public static void main(String[] args) {}的代码块。

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTIt.jpeg

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTct.jpeg

这些的模板可以在Settings -> Editor -> Live Templates看到。使用者可以按照自己的使用习惯来熟悉相关的代码模板。

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTgt.jpeg

定制代码模板

IDEA也提供自己定制实时代码模板的功能。

创建自己的模板库

创建定制的代码模板

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTQt.jpeg

图中的MyGroup就存放着我自己定义的代码模板。

其他


CRTL+ALT+T

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTYt.jpeg

Ctrl + Alt + T 提供的是代码块包裹功能 - Surround With。可以快速将选中的代码块,包裹到选择的语句块中。

本地历史版本

IDEA 自带本地版本管理的功能,能够让你本地编写代码变得更加的安心和方便。

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTMt.jpeg

代码调试 源码阅读相关(★★★)

视图模式

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTAt.jpeg

IDEA提供两种特殊的视图模式,

Presentation Mode - 演示模式,专门用于Code Review这种需要展示代码的场景

Distraction Free Mode - 禅模式,专注于代码开发

代码调试

1. 条件断点

IDEA 可以设置指定条件的断点,增加我们调试的效率。

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTYt.jpeg

2. 强制返回

IDEA 可以在打断点的方法栈处,强制返回你想要的方法返回值给调用方。非常灵活!

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTEw.jpeg

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTEw.jpeg

3. 模拟异常


IDEA 可以在打断点的方法栈处,强制抛出异常给调用方。这个在调试源码的时候非常有用。

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTct.jpeg

4. Evaluate Expression

IDEA 还可以在调试代码的时候,动态修改当前方法栈中变量的值,方便我们的调试。

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTYt.jpeg

插件方面

插件安装

File -> Setting -> Plugin

插件安装,可以直接在IDEA的插件库中实时搜索安装。browse plugin repository

对于网络不好的用户,可以登录官方插件仓库地址:plugins.jetbrains.com/idea,下载压缩包之后,选择install from disk

插件推荐

本人日常开发中使用的插件

Alibaba Java Coding Guidelines

阿里Java编程规约插件

FindBugs

代码缺陷扫描

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTUt.jpeg

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTUt.jpeg

PMD

代码缺陷扫描

InnerBuilder

builder模式快速生成

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTct.jpeg

lombok plugin

lombok 插件

maven helper

maven 依赖管理助手 ,解析maven pom结构,分析冲突;

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTYt.jpeg

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTgt.jpeg

Rainbow brackets

让代码中的括号更具标识性

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTEt.jpeg

String Manipulation

String相关辅助简化,搭配 CTRL+W 、ALT+J等文本选择快捷键使用

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTYt.jpeg

Translation

翻译插件,阅读源码必备

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTkt.jpeg

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTIt.jpeg

GenerateAllSetter

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTUt.jpeg

Key Promoter X

对你的鼠标操作进行 快捷键提示

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTMt.jpeg

GenerateSerialVersionUID

Alt + Insert 快速生成SerialVersionUID

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTUt.jpeg

GsonFormat

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTIt.jpeg

RestfulToolkit

快速跳转到Restful Api处( use: Ctrl(Command) + or Ctrl + Alt + N )

展示Resultful 接口结构

http 简单请求工具

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTEt.jpeg

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTAt.jpeg

Material Theme UI


本人自用的主题就是这个。

aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTQt.jpeg

MyBatis Log Plugin


把 Mybatis 输出的sql日志还原成完整的sql语句,看起来更直观。


aHR0cHM6Ly93d3cuamF2YXpoaXlpbi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTkvMTAvamF2YTIt.jpeg

Free Mybatis

MyBatis 免费的插件

参考

https://github.com/judasn/IntelliJ-IDEA-Tutorial





最新经典文章,欢迎关注公众号



---------------------

作者:Java知音_
来源:csdn
原文:IntelliJ IDEA 超实用使用技巧分享





本帖被以下淘专辑推荐:

已有(1)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条