目录
问题现象:
问题分析:
温馨提示:
1、IDEA的代码样式配置
1.1、Use tab character - Smart tabs 配置:
1.2、Tab Size 配置:
1.3、Indent 配置:
1.4、Continuation Indent 配置
1.5、应用并保存
2、代码格式化快捷键配置
2.1、应用并保存:
2.2、快捷键的使用:
解决方法:
1、IDEA的代码样式配置
2、代码格式化快捷键配置
问题现象:
今天在项目中发现:我和其他同事格式化代码后的代码样式好像不太一样!然后就引出了本文主题:
如何修改IDEA的代码样式配置+代码格式化快捷键配置?
问题分析:
温馨提示:
不想看问题分析的,可以直接跳到解决方法中去看结论即可。
1、IDEA的代码样式配置
首先,简单地解释一下本文提到的“代码样式”是什么意思?
代码样式(Code Style)指的是:在IDEA中对某些代码使用代码格式化之后的代码书写风格。简单举个例子:
这是我格式化之后的Java代码(图一):
这是我同事格式化之后的Java代码(图二):
可以发现,区别在于:
在括号的前后是否分别存在1个空格。在图一中不管是左括号还是右括号,它们的前后都会存在1个空格;而在图二中,左括号的右边与右括号的左边,都不存在空格,是直接和括号内的代码紧挨在一起的。
IDEA的代码样式配置路径是:
Settings - Editor - Code Style
可以看到该菜单下列举了很多代码语言,这里就以Java语言为例来分析一下:
左边红框的Scheme选项中可以选择存在的所有配置项,右边的齿轮下拉列表中,有好几个选项,主要用于配置项的拷贝、创建、重置、导出导入功能,这些一般用不到,因为基本都是使用默认的代码样式,我相信几乎没有人会去频繁改动这个配置项。
上面的红框中列举了很多代码样式的配置项,这里我就不一一细述了,有兴趣的小伙伴请自行探索,不过一般是不建议和IDEA的默认代码样式有太大区别(甚至最好是不要去修改它),否则容易和其他开发同事的代码样式存在较大差异,影响代码整体样式的观感。
这里简单说一下:
1.1、Use tab character - Smart tabs 配置:
用于智能化地使用制表符,影响的是:需要用到空格符和制表符的地方。比如上面我举的简单例子的图一所示代码中,左右括号前后都会自动加入1个空格:
其实就是因为我没有用IDEA自带的Default(默认)代码样式,而是自己拷贝了一份,并勾选了 Smart tabs 这个选项导致的:
所以现在只要去掉了该选项;然后再次格式化代码,则会是图二所示代码的效果了:
1.2、Tab Size 配置:
用于指定1个制表符(Tab建)表示的空格符数,默认是1个制表符=4个空格符。
1.3、Indent 配置:
用于指定子代码块开头缩进时的需要用到的空格符数,默认是1个开头缩进=4个空格符。开头缩进一般是存在子代码的时候会用到。
举个例子:
比如class文件中第一行代码是顶格书写(用于描述该类),然后开始书写该class文件中会用到的类变量和类方法,由于存在父子关系(类中包含类变量和类方法),所以就相当于是第一行代码的子代码,此时为了代码美观,我们需要用到开头缩进。其它例子还有类方法中的子代码、do循环中的子代码、try代码块、if条件等的子代码;当详见下图:
绝大部分情况下,都是建议Tab Size 配置和Indent 配置的数值保持一样,这样有利于我们在开头缩进时,直接按下Tab键即可实现缩进,否则的话你可能需要使用代码格式化功能,才能看到开头缩进的效果和Tab键的区别。
1.4、Continuation Indent 配置
翻译可知,它的意思是连续缩进;
用于指定连续使用到缩进的时候,需要用到的空格数,这个没什么好分析的了,基本上就是设置为 Indent 配置 数值的2倍即可。
1.5、应用并保存
配置完成后,先点击右下角的Apply,在点击OK即可生效,顺序如图:
2、代码格式化快捷键配置
代码格式化快捷键的路径是:
Settings - Keymap - Main Menu - Code - Reformat Code
由于IDEA中可以设置快捷键的功能非常多,因此我建议你们直接在搜索框中键入“format”来查询结果,以便快速定位。
双击 Reformat Code 行,就会弹出Edit Shortcuts(编辑快捷键)小窗口,用于添加键盘快捷键、添加鼠标快捷键(没用过也不建议使用)、添加缩写(没用过也不建议使用)、水平线下面则可以删除已存在的快捷键,基本上我们只会用到删除已存在的快捷键、和添加键盘快捷键这两个功能,如图:
下图右边红框中的下拉列表,可对左边红框中指定的配置项进行拷贝、重命名、重置、删除操作,一般不会用到:
2.1、应用并保存:
配置完成后,先点击右下角的Apply,在点击OK即可生效,顺序如图:
2.2、快捷键的使用:
可以用鼠标框中需要格式化的代码,然后按下快捷键,效果如下:
格式化前:
格式化后:
如果不用鼠标框中任何代码,则会格式化当前文件的所有代码,效果如下:
格式化前:
格式化后:
解决方法:
1、IDEA的代码样式配置
依次点击 File - Settings - Editor - Code Style - Java - 下拉列表 - Default(默认) - Apply - OK 即可完成代码样式配置,如图:
2、代码格式化快捷键配置
依次点击 Settings - Keymap - Main Menu - Code - Reformat Code - AddKeyboard Shortcut - 按下快捷键 - OK - Apply - OK 即可完成代码样式配置,如图: