我想按照googlejava风格指南标准化我的java代码风格。我下载了intellij-java-google-style.xml,进行了一些自定义调整,并将其导入intellij中的global ide部分:
首选项…>>编辑器>>代码样式>>齿轮图标>>导入方案>>intellij代码样式xml
这将代码样式应用于当前项目。但是,现有的intellij项目保持其现有的代码样式。我可以在其他项目的下拉菜单中看到新的google样式,但是我必须为每个项目手动重新选择它。我的问题是我有数百个项目。
我想为所有现有的项目自动选择新的google代码样式,而不必检查每个项目的首选项。但是怎么做呢?
注意:我不想在我的项目中自动格式化代码,那将是git的噩梦。
2条答案
按热度按时间flvtvl501#
intellij不提供自动更改现有本地repo上的代码样式的方法。所以我们需要跳出框框思考。
递归搜索和替换
结果是intellij将活动代码样式存储在
.idea/codeStyles/codeStyleConfig.xml
:我们可以对文件夹中的所有代码样式配置文件进行递归搜索和替换,并替换
value
每个字段中的字段。首先,确保将google风格的xml导入到intellij中,如问题中所述,并调用它GoogleStyle
.这是你的答案
bash
命令。find
递归地搜索到的所有路径codeStyleConfig.xml
.sed
将当前代码样式替换为GoogleStyle
.此命令已在macos 11和intellij 2020.2上进行了测试。我没有在linux上测试过。要了解该命令的工作原理,请参见此处和此处。对于windows,可以使用notepad++执行regex查找和替换,安装bash库,如
Cygwin
或者找到PowerShell
等价物(参见此处和此处)。pinkon5k2#
如果已将样式xml文件导入
Stored in IDE
从scheme下拉菜单中,它应该被用作所有项目的默认值。如果您使用apachemaven或gradle,那么可以使用gogglejava格式格式化所有现有项目。
在我看来,对现有项目自动应用代码格式不是一个好主意,因为它会影响这些项目的变更日志。它使代码比较变得毫无意义。