Intellij idea 在Checkstyle中使用IntelliJ代码样式

Intellij idea 在Checkstyle中使用IntelliJ代码样式,intellij-idea,checkstyle,Intellij Idea,Checkstyle,本质上,我想从IntelliJ导出代码样式设置(默认设置可以),并在Checkstyle中使用它们。(这是针对已经设置好的maven构建验证类型的东西,但我们希望使用IntelliJ的代码样式,而不是Sun或Google的) 第一步应该是导出IntelliJ代码样式。似乎说起来容易做起来难 现在,我知道在某地和其他地方都有很多关于这方面的资料,但我在任何地方都找不到代码样式xml文件,即使在IntelliJ设置代码样式对话框中使用“复制到项目”或“另存为…”后也找不到 我还尝试通过Intelli

本质上,我想从IntelliJ导出代码样式设置(默认设置可以),并在Checkstyle中使用它们。(这是针对已经设置好的maven构建验证类型的东西,但我们希望使用IntelliJ的代码样式,而不是Sun或Google的)

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

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

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

我应该补充一点,我正在使用IDEA 14.1.4


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

不幸的是,由于(至少)三个原因,无法执行您想要的操作,前两个原因您已经提出:

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

  • 这些导出的设置的格式仅对Intellij有意义,因此,即使可以将每个Java代码样式设置导出到XML文件中,也必须对该文件进行大量编辑,使其对CheckStyle有意义

  • 最后,请注意,Intellij有一个开放的请求,要求它完全按照您的要求执行。看

  • 当前缺少代码样式的导出功能。唯一有用的 用于IntelliJ的其他用户或作为备份。仅导出差异 在用户定义的设置和内置默认设置之间这就够了 很难为其他客户提供匹配的款式 格式化/美化工具。

    如果出口可以选择出口所有产品,这将是有益的 想法使用的设置

    然而,还有另一种方法。不要向Checkstyle提供Intellij IDEA文件,而是向Intellij IDEA提供Checkstyle文件

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

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

  • 最后,您可以使用如下屏幕截图所示的导入方案->检查样式配置将定制的检查样式XML规则文件导入Intellij Idea(如果且仅当您已安装检查样式Idea插件)。创建OP时,此功能不存在。有关更多详细信息,请参阅以下错误报告:特别是JetBrains 2016年2月8日的回复

  • 另见:

    • 智能想法错误

    • 邮政总局


    我也在寻找答案。我想您希望像我一样将其添加到构建过程中。由于我认为强制执行一些无法自动化的东西没有任何价值,所以我决定(尚未实现)对变更列表中的所有文件执行样式格式化程序作为预提交挂钩(我使用git)。我也使用默认值,这就足够了


    因为我没有任何定制,所以我不知道除了xml中的diff之外,导出的代码样式xml是否还会运行默认值。无论如何,强制执行无法自动执行的代码样式规则都没有意义。

    我在IntelliJ Github上找到了codeStyleSettings.xml。然而,它似乎没有很好地映射到checkstyle使用的是什么。我开始觉得我会输掉这场战斗。有没有其他的“代码风格验证器”可以满足我的要求?唉,我想这就是现在的答案。不过,这是很久以前的事了,现在不再需要解决方案。我甚至不记得我是怎么解决这个问题的。我认为这与你的答案类似=)