Skip to content

Instantly share code, notes, and snippets.

@xwsg
Last active March 9, 2021 01:52
Show Gist options
  • Save xwsg/8b3b02fed8205c05d53da70505bb7a96 to your computer and use it in GitHub Desktop.
Save xwsg/8b3b02fed8205c05d53da70505bb7a96 to your computer and use it in GitHub Desktop.
Intellij 常见问题

Intellij IDEA使用过程中经常有些小问题都不知道怎么去问,本文旨在整理一些琐碎的配置。后续会持续增加,如果恰好你也有,欢迎添加。

1.注释和代码缩进对齐

默认是1,实际想要的是2

public class Test {

    public static void main(String[] args) {

        System.out.println("Hello");

//      System.out.println(" world!");   <---- 1
        //System.out.println(" world!"); <---- 2
    }
}

File -> Settings -> Editor -> Code Style -> Java -> Code Generation 页签 -> Comment Code 分组中, 取消勾选 Line comment at first column 和 Block comment at first column

2.Tab替换成4个空格

File -> Settings -> Editor -> Code Style -> Java -> Tab and Indents -> 取消勾选 Use tab character, 另外设置 Tab size = 4, Indent = 4, Continuation indent = 4

3.新版IDE关闭参数提示

File -> Settings -> Editor -> General -> Appearance -> 取消勾选 Show parameter name hints

File -> Settings -> Editor -> Inlay Hints-> Parameter hints 取消勾选 Show parameter for

4.关闭Mybatis xml文件告警提示

File -> Settings -> Editor -> Inspections -> 找到SQL展开,取消勾选SQL dialect detection 和 No data sources configured

5.自定义java文件注释模板

默认class注释,如果不做修改,Intellij IDEA 会有警告提示,作为一个强迫症患者,怎么能忍?

/**
 * Created by user on 16-8-5.
 */

File -> Settings -> Editor -> File and Code templates -> Includes页签 -> File Header

改为自己的模板比如:

/**
 * This guy is lazy, nothing left.
 * 
 * @author ${USER}
 */

USER 默认情况会取系统当前用户(USER 环境变量),如果想要自定义需要修改Intellij IDEA的配置idea.vmoptions(idea64.vmoptions如果有两个都要修改),添加 -Duser.name=You-Name

6.神奇的ctrl+w快捷键(Extend Selection功能)

按一下ctrl+w,会选中光标所在单词,按多下会选中更上一层的语法结构。 比如在一个字符串的一个单词中,按一下ctrl+w,会选中光标所在单词。再按一下,会选中整个字符串的内容,不包括引号。再按一下,会选中包括引号的字符串。再按一下,会选中整个表达式(如果表达式含有括号,会逐层选中)。再按一下,会选中整个语句块。再按一下,会选中整个方法。再按一下,会选中整个类。 不妨试一下

7.Find Action (ctrl+shift+a)

比如"优化import"功能, 你只需要按Ctrl+shift+A唤醒Find Action栏,然后输入opt后回车就好了。 还有像getter, setter, imple, test等都是十分好用的命令。

8.全局修改默认的Maven版本

File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> 修改Maven home directory 即可

9.添加单词到拼写检查

光标放在有Typo: In word 'some words' 提示的词上右键,spelling -> Typo: save 'some words' to dictionary 即可。或者按Alt+Enter。 添加到词典的词可以在 File -> Settings -> Editor -> Spelling -> Accepted Words页签中看到,如果直接在这里添加需要重启Idea

参考: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206365079-how-to-add-custom-words-to-Typo-inspection-

10.字符串回车折行,加号如何自动在下一行行首

String s = "Absence sharpens love, presence strengthens it.";

在love后按回车键时,

期望:

String s1 = "Absence sharpens love, "
        + "presence strengthens it.";

实际:

String s2 = "Absence sharpens love, " +
        "presence strengthens it.";

File -> Settings -> Code Style -> Java -> Wrapping and Braces页签,在Binary Expressions配置组下,勾选Operation sign on next line

11.添加XXX代码注释,任务标签

Eclipse下可以添加类似于TODO, FIXME, XXX 这类的自定义任务标签,但IntelliJ默认只有TODOFIXME可用,所以可以手动添加XXX,

File -> Settings -> Editor -> TODO, 发现已有两个标签:

  • \btodo\b.* ---- 对应TODO
  • \bfixme\b.* ---- 对应FIXME

点加号可以添加自定义的TODO标签,如:

  • \bxxx\b.* ---- 对应XXX,有三个图标可选择,自己随意选择。

标示说明

  • TODO: 说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。
  • FIXME: 说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。
  • XXX: 说明标识处代码虽然实现了功能,但是实现的方法有待商榷,希望将来能改进,要改进的地方会在说明中简略说明。

12.自动完成lambdas 使用Ctrl+ Shift+Space

13.xml 文本粘贴保持原有文本的缩进格式

setting-->Editor-->Code Style-->XML --> Other页签 --> 勾选“Keep white spaces”

14.自动生成 serialVersionUID

Setting->Editor->Inspections->Java->Serialization issues-> 勾选Serializable class without ’serialVersionUID’

然后在类名那里alt+回车生成即可

15.设置undo历史大小

Help | Find Action... 搜索registry 设置 undo.documentUndoLimit = 5000 或者更大的数值

16.如何快速查看当前类中的所有方法

ALT+7

17.修改Console Buffer Size

Preferences/Settings -> Editor -> General -> Console, check the box next to Override console cycle buffer size, set to a larger number than 1024 KB.

18. 启动ctrl+鼠标滚轮方法缩写字体

File -> Setting -> Editor -> General ,勾选Change font size (Zoom) with Ctrl+Mouse Wheel

19. 查看某个文件结构,方法变量等

Ctrl + F12

**20. 禁止import * **

File->Settings->Editor->CodeSyle->Java->Imports,设置Class count to use import with '*' = 999, Names count to use static import with '*' = 999

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment