我在开发过程中为了保持代码的整洁,经常会用到Idea的快捷键 Ctrl+Alt+L来格式化代码。这个功能很好用,所以我基本上每敲一段代码就会用这个快捷键格式化一下代码。但是由于在开发中是多人协作项目,因此这个快捷键总是会不小心把别人开发给格式化了。导致提交的时候总是不小心提交了不必要的空格和空行,这些格式化导致提交的空格在很多情况下会导致代码冲突。
因此 Idea 格式化这个功能必需要满足我的开发需要:
- 格式化代码
- 只格式化我修改的代码
- 不格式化未修改的代码
相信 Idea 强大如斯,应该是能够通过设置满足我的需求,于是在经过一段时间的不懈努力下,终于找到了配置方法,可以使用快捷键:Ctrl+Alt+Shift+L 调出格式化配置对话框: 在默认情况下,Scope 选项是 Whole file ,也就是格式化当前窗口的全部代码 。如果代码文件中包含别人提交的代码的话,如果格式与我们配置的格式不符的话就会格式化整个文件。也就会导致我们的提交会多出一些无用的空格和空行,这些为了格式化满足的空格和空行很多时候都是导致我们代码发生冲突的根源,而且在做代码审核的时候也不方便。
这里我们只需要将 Scope 设置为图中Only changes uncommitted to VCS 就可以啦。由于这个配置是具有记忆性的,因此我们只需配置一次,此时再使用 Ctrl+Alt+L 格式化的时候就会沿用这个配置从而实现 格式化自由 。
在新版本的 Idea 中我们还可以设置在自动保存的时候触发格式化操作。我们可以在 Preferences ->Settings ->Tools ->Actions on Save 中进行设置。 注意在勾选完Reformat code 之后后面的 Whole file 这里要改为 Changed lines 。
参考资料
Reformat File dialog 敖丙的描述
|