有没有办法让IntelliJ返回后缩进方法声明参数?

时间:2016-09-08 16:44:35

标签: java intellij-idea code-formatting intellij-idea-2016

这适用于IntelliJ 2016.2。

我正在清理一些导致CheckStyle违规并停止我们的CI构建的代码,并且由于IntelliJ的代码样式规则,它似乎正在发生。我可以手动修复这些问题,但有两个问题:编辑器不加区别地应用这些规则,并且需要手动修复。如果有人再次运行代码格式化,它会按照自己想要的方式设置缩进。

具体来说,多行方法签名的缩进如下所示:

indentation for multiline method signatures

我希望后续行中的参数在前一行的开头右侧缩进4个空格,而不是左括号。

enter image description here

有趣的是,format-as-you-type对我来说是正确的,但是当我使用代码格式化程序时,它会重新格式化它。

我可以通过在首选项中设置选项卡和缩进并设置" continuation indent"来获得一些方法。到0:

indentation with continuation=0

但是这条规则得到了普遍应用,使得其他东西看起来非常糟糕,并且它不会接受负值。

我已经去了" Editor.Code Style.Java.Wrapping和Braces.Method声明参数"在偏好中并尝试了几乎所有的东西。我已经"如果长了#34;,但由于缩进规则,这会使行更长。在任何地方我都没有看到一种方法来指定它应该从哪里开始缩进或者应该缩进该行。

这与观察到方法调用的格式化表现出预期的行为(但是,加剧的,不是构造函数调用!)相结合,让我觉得这是一个bug 。 IntelliJ的格式化程序似乎是硬编码的,可以使用左括号中的延续缩进,而不是方法声明本身。

我有什么遗漏或一些可行的解决方法吗?

1 个答案:

答案 0 :(得分:0)

现在必须可以导入"代码风格"来自checkstyle配置的intellij。

以下是official responsefeature request

的摘录
  
      
  1. 请安装CheckStyle-IDEA插件(http://plugins.jetbrains.com/plugin/1065?pr=idea),可以通过插件存储库(设置|插件|浏览存储库)找到它。
  2.   
  3. 转到设置|编辑器|代码样式,选择要将CheckStyle配置导入的代码样式。
  4.   
  5. 点击管理... |导入..,选择" CheckStyle配置"并选择相应的CheckStyle配置文件。单击确定。   最后,您将看到一条消息" CheckStyle配置设置已导入... scheme"。
  6.   

有了这个,Idea应该维护checkstyle定义的格式规则。