使用Webstorm和Idea等IDE代码开发工具编辑代码时,有时会发现IDE自动的进行一部分的代码格式化,例如自动去掉空格、在代码最底部自动插入一个空白行的情况。首先要声明的是,这个自动格式化的出发点从代码规范来讲,是一个正确的做法,能够自动的帮助我们有效的规范代码。我们当让推崇项目组成员都能够按照统一的代码规范进行代码编写,并且通过IDE的默认和强制约束来达成目的。
但是,具体到实际的工作场景中,这种自动格式化会带来一个困扰:当我们修改一个历史代码,而这个历史代码由于各种原因未进行代码格式化。我们因为修改某个bug、或者功能迭代对代码进行调整,提交代码后会发现提交了很多自动的格式化的内容,自动格式化的内容往往比我们要修改的bug要多的多。这样带来的一个问题就是,当我们通过git修改日志回溯问题时,发现我们真正修改的关键代码被一堆格式化修改的变更给“埋没”起来了, 给我们代码回溯带来特别大的麻烦。因此有时候需要人为“关闭”这个“自动格式化”的开关。按照经验而言,对于历史代码,最好不要动,如果非要动,那动的越少越好。
原因说清楚了,现在说下具体做法。自动格式化有多种途径,如下:
一、IDE全局配置和配置文件:
本次重点 !!!在配置文件这里,可以明显看到有两个属性,和我们本次的问题相关。因此只要把这里设置为false即可
二、IDE格式化插件(当IDE手工配置了这些插件后,这些插件的自动格式化也会生效,因此需要手工关闭)
-
Prettier:可以使用这个插件来自动格式化JavaScript、CSS和HTML代码。
-
Beautify:这个插件可以格式化HTML、CSS、JavaScript和JSON代码。
-
ESLint:可以使用ESLint插件来检查JavaScript代码中的语法错误和不良习惯,并自动修改。