代码之家  ›  专栏  ›  技术社区  ›  Mr Baloon

在Checkstyle中使用IntelliJ代码样式

  •  17
  • Mr Baloon  · 技术社区  · 9 年前

    基本上, 我想从IntelliJ导出代码样式设置 (默认值是好的),并在Checkstyle中使用它们。(这是针对一种已经设置好的maven构建验证,但我们希望使用IntelliJ的代码风格,而不是Sun或Google)

    第一步应该是导出IntelliJ代码样式。似乎说起来容易做起来难。

    现在,我知道SO和其他地方都有很多关于这方面的材料,但是 我在任何地方都找不到代码样式的xml文件 ,即使在IntelliJ设置代码样式对话框中使用“复制到项目”或“另存为…”后也不会。

    我还尝试通过IntelliJ文件菜单导出代码样式 ,但它只会从已更改的区域导出代码样式(例如,将选项卡空间从4更改为2,并且只会导出代码样式的“OTHER_INDENT_OPTIONS”部分)。

    我应该补充一下,我使用的是IDEA 14.1.4。

    是否可以导出完整的IntelliJ代码样式?

    2 回复  |  直到 9 年前
        1
  •  11
  •   skomisa    7 年前

    不幸的是,你不可能做你想做的事,至少有三个原因,其中前两个你已经提出了:

    1. 虽然可以使用 文件->设置->代码样式->Java->{单击设置图标}->从弹出菜单中选择导出 ,导出的XML文件仅包含您从默认设置所做的更改。

    2. 这些导出的设置所采用的格式仅对Intellij有意义,因此即使您可以将每个Java代码样式设置导出到XML文件,也必须对该文件进行大规模编辑,使其对CheckStyle有意义。

    3. 最后,请注意,Intellij有一个开放的请求,可以完全按照您的要求进行操作。看见 IDEA-149529:

    当前缺少代码样式的导出功能。仅有用 用于IntelliJ的其他用户或作为备份。仅导出差异 在用户定义的设置和内置默认值之间。 这使得它 很难为其他人创造出一种匹配的风格 格式化/美化工具。

    如果出口可以选择出口所有 IDEA使用的设置。

    然而,有一种替代方法。不是向Checkstyle提供Intellij IDEA文件,而是向Intellij IDEA提供Checkstyle文件。。。

    1. 安装Checkstyle插件,然后在Intellij IDEA中打开两组一个或多个重复文件,一组配置为使用IDEA的格式,另一组配置用于Checkstyle的格式。

    2. 反复调整Checkstyle设置,直到其打开的文件被格式化为符合IDEA格式化的相应文件。当文件集匹配时,创建Checkstyle XML规则文件。单调乏味,但只是一次活动。

    3. 最后,您可以使用 导入方案->CheckStyle配置 如下图所示(如果且仅当您安装了 检查样式IDEA 插件)。创建OP时,此功能不存在。有关详细信息,请参阅以下错误报告: IDEA-61520 Codestyle from Checkstyle 特别是2016年2月8日JetBrains的回复。

    另请参见:

    Checkstyle import menu

        2
  •  0
  •   user2910265    4 年前

    我也在寻找答案。我想您应该像我一样将其添加到构建过程中。由于我认为强制执行一些无法自动化的东西没有任何价值,所以我决定(尚未实现)将样式格式化程序作为预提交钩子(我使用git)执行 https://www.jetbrains.com/help/idea/command-line-formatter.html 针对变更列表中的所有文件。我也使用默认值,这就足够了。

    由于我没有任何自定义设置,我不知道导出的代码样式xml除了xml中的diff之外是否还会运行默认值。无论哪种方式,强制执行不能自动化的代码样式规则都没有意义。