# 31. IntelliJ IDEA 常用细节设置-1

## 说明

IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解，也因为这些人性化的设置让我们这些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。

## 常用设置

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Ffbfee7da9fb06da1918a4a1c518e8937c642b4b1.jpg?generation=1592902565278818\&alt=media)

> * IntelliJ IDEA 的代码提示和补充功能有一个特性：区分大小写。如上图标注 1 所示，默认就是 `First letter` 区分大小写的。
> * 区分大小写的情况是这样的：比如我们在 Java 代码文件中输入 `stringBuffer` IntelliJ IDEA 是不会帮我们提示或是代码补充的，但是如果我们输入 `StringBuffer` 就可以进行代码提示和补充。
> * 如果想不区分大小写的话，改为 `None` 选项即可。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F53f34ce57ec94b7e0606748fce3770e24e5f8c71.gif?generation=1592902564998011\&alt=media)

> * 如上图 Gif 所示，该功能用来快速设置代码检查等级。我个人一般在编辑大文件的时候会使用该功能。IntelliJ IDEA 对于编辑大文件并没有太大优势，很卡，原因就是它有各种检查，这样是非常耗内存和 CPU 的，所以为了能加快大文件的读写，我一般会暂时性设置为 `None`。
>
> > - `Inspections` 为最高等级检查，可以检查单词拼写，语法错误，变量使用，方法之间调用等。
> > - `Syntax` 可以检查单词拼写，简单语法错误。
> > - `None` 不设置检查。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Fdaaf969347c59c1d878c4450920d2072957c16bb.jpg?generation=1592902565416806\&alt=media)

> * 如上图标注 1 和 2 所示，默认 IntelliJ IDEA 是没有开启自动 import 包的功能。
>
> > - 勾选标注 1 选项，IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化导入的包，比如自动去掉一些没有用到的包。
> > - 勾选标注 2 选项，IntelliJ IDEA 将在我们书写代码的时候自动帮我们导入需要用到的包。但是对于那些同名的包，还是需要手动 `Alt + Enter` 进行导入的，IntelliJ IDEA 目前还无法智能到替我们做判断。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F8fc19ff8b1c420004fc63486e7c20491d5853b0e.jpg?generation=1592902564768147\&alt=media)

> * 如上图标注 1 所示，当我们 Java 类中导入的某个包下类超过这里设置的指定个数，就会换成用 `*` 号来代替。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Fcabae162174b9c230708596b14c617a1edfdc4c1.gif?generation=1592902565009554\&alt=media)

> * 如上图 Gif 所示，IntelliJ IDEA 默认是会折叠空包的，这样就会出现包名连在一起的情况。但是有些人不喜欢这种结构，喜欢整个结构都是完整树状的，所以我们可以去掉演示中的勾选框即可。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Fe1e749b9e75f53724998596a74e69823f2fd1e36.jpg?generation=1592902565165625\&alt=media)

> * 如上图标注 1 所示，IntelliJ IDEA 有一种叫做 `省电模式` 的状态，开启这种模式之后 IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般我也会认为这是一种 `阅读模式`，如果你在开发过程中遇到突然代码文件不能进行检查和提示可以来看看这里是否有开启该功能。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F5a33438759fd4166e9cff35208895c0032560bae.gif?generation=1592902564979997\&alt=media)

> * 如上图 Gif 所示，在我们按 `Ctrl + Shift + N` 进行打开某个文件的时候，我们可以直接定位到该文件的行数上。一般我们在调 CSS，根据控制台找空指针异常的时候，使用该方法速度都会相对高一点。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F100fb175c1711b0065fb0eaa15021ab351a603d6.jpg?generation=1592902565124519\&alt=media)

> * 如上图标注红圈所示，我们可以对指定代码类型进行默认折叠或是展开的设置，勾选上的表示该类型的代码在文件被打开的时候默认是被折叠的，去掉勾选则反之。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F823b3b2eb347b860f92e35bff9183c8437cf8b20.gif?generation=1592902565378291\&alt=media)

> * 如上图 Gif 所示，IntelliJ IDEA 支持对代码进行垂直或是水平分组。一般在对大文件进行修改的时候，有些修改内容在文件上面，有些内容在文件下面，如果来回操作可能效率会很低，用此方法就可以好很多。当然了，前提是自己的显示器分辨率要足够高。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Fcc2ae753269f2a8e681b6b11607a1e8c4bee4315.jpg?generation=1592902565731884\&alt=media)

> * 如上图箭头所示，IntelliJ IDEA 默认是开启单词拼写检查的，有些人可能有强迫症不喜欢看到单词下面有波浪线，就可以去掉该勾选。但是我个人建议这个还是不要关闭，因为拼写检查是一个很好的功能，当大家的命名都是标准话的时候，这可以在不时方便地帮我们找到代码因为拼写错误引起的 Bug。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F5062f7ab57f7ad4cb24bd5581429ef7789ca2ca8.gif?generation=1592902565112476\&alt=media)

> * 如上图 Gif 所示，我们可以对组件窗口的子窗口进行拖动移位，有时候设置过头或是效果不满意，那我们需要点击此按钮进行窗口还原。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F474e65bf5a884c4d4c68da977bbca64a5901aa0c.gif?generation=1592902565032855\&alt=media)

> * 如上图 Gif 所示，在没有对 `Ctrl + D` 快捷键进行修改前，此快捷键将是用来复制并黏贴所选的内容的，但是黏贴的位置是补充在原来的位置后，我个人不喜欢这种风格，我喜欢复制所选的行数完整内容，所以进行了修改，修改后的效果如上图 Gif 演示。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F8a479730823eb10398921a1f2d5a5d0d63d5e24a.gif?generation=1592902565337266\&alt=media)

> * 如上图 Gif 所示，默认 `Ctrl + 空格` 快捷键是基础代码提示、补充快捷键，但是由于我们中文系统基本这个快捷键都被输入法占用了，所以我们发现不管怎么按都是没有提示代码效果的，原因就是在此。我个人建议修改此快捷键为 `Ctrl + 逗号`。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F054cabf681ae1b67f9f2a138fec644a4d0c10e4c.gif?generation=1592902565255529\&alt=media)

> * 如上图 Gif 所示，IntelliJ IDEA 14 版本默认是不显示内存使用情况的，对于大内存的机器来讲不显示也无所谓，但是如果是内存小的机器最好还是显示下。如上图演示，点击后可以进行部分内存的回收。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Fe69ca7b7b70afa4e1918975edd5f3cb919aee341.jpg?generation=1592902565405963\&alt=media)

> * 如上图标注 1 所示，在打开很多文件的时候，IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行，多行效率比单行高，因为单行会隐藏超过界面部分 Tab，这样找文件不方便。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Fdf32a2c5dbd134ae506584892cbbbefed873ed9e.gif?generation=1592902565177059\&alt=media)

> * 如上图 Gif 所示，默认 IntelliJ IDEA 对于 Java 代码的单行注释是把注释的斜杠放在行数的最开头，我个人觉得这样的单行注释非常丑，整个代码风格很难看，所以一般会设置为单行注释的两个斜杠跟随在代码的头部。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F6827df5327cded443c34d808b0674d4cda9990b1.gif?generation=1592902565333355\&alt=media)

> * 如上图 Gif 所示，默认 Java 代码的头个花括号是不换行的，但是有人喜欢对称结构的花括号，可以进行此设置。对于此功能我倒是不排斥，我个人也是颇喜欢这种对称结构的，但是由于这种结构会占行，使得文件行数变多，所以虽然我个人喜欢，但是也不这样设置。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Ff41b3e652e21809fcd97997891db982f7700d259.jpg?generation=1592902565421476\&alt=media)

> * 如上图标注 1 所示，如果在 make 或 rebuild 过程中很慢，可以增加此堆内存设置，一般大内存的机器设置 `1500` 以上都是不要紧的。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Fad7a6b7ec5a8e8d303edbfc9c9b39b19d9a70a38.jpg?generation=1592902564959033\&alt=media)

> * 如上图标注 1 所示，勾选此选项后，启动 IntelliJ IDEA 的时候，默认会打开上次使用的项目。如果你只有一个项目的话，该功能还是很好用的，但是如果你有多个项目的话，建议还是关闭，这样启动 IntelliJ IDEA 的时候可以选择最近打开的某个项目。
>
> * 如上图红圈所示，该选项是设置当我们已经打开一个项目窗口的时候，再打开一个项目窗口的时候是选择怎样的打开方式。
>
> > - `Open project in new window` 每次都使用新窗口打开。
> > - `Open project in the same window` 每次都替换当前已打开的项目，这样桌面上就只有一个项目窗口。
> > - `Confirm window to open project in` 每次都弹出提示窗口，让我们选择用新窗口打开或是替换当前项目窗口。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F9c4d6c7586f766c2a387abe52df4be188c2f1615.gif?generation=1592902565102738\&alt=media)

> * 如上图 Gif 所示，对于横向太长的代码我们可以进行软分行查看。软分行引起的分行效果是 IntelliJ IDEA 设置的，本质代码是没有真的分行的。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F30930514df1469de245a2058b76bde4ecad06b94.jpg?generation=1592902565415547\&alt=media)

> * 如上图箭头所示，该设置可以增加 `Ctrl + E` 弹出层显示的记录文件个数。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2F81e9e8689635c7955113d027dae9e5bc3b651deb.jpg?generation=1592902565099167\&alt=media)

> * 如上图箭头所示，该设置可以增加打开的文件 Tab 个数，当我们打开的文件超过该个数的时候，早打开的文件会被新打开的替换。

![常用设置](https://1794707452-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAVNxNDggEAkRU9MiMC%2Fsync%2Fd976b2f475465a5348f447089a079e31f6ab5feb.jpg?generation=1592902565472636\&alt=media)

> * 如上图标注 1 所示，该区域的后缀类型文件在 IntelliJ IDEA 中将以标注 2 的方式进行打开。
> * 如上图标注 3 所示，我们可以在 IntelliJ IDEA 中忽略某些后缀的文件或是文件夹，比如我一般会把 `.idea` 这个文件夹忽略。
