如何为IntelliJ IDEA创建XML Scala代码格式架构

时间:2019-03-27 10:28:24

标签: xml scala intellij-idea

intellij-java-google-style.xml是格式化intelliJ IDEA的Java代码的好方法,它具有google的所有功能,但也允许您自定义某些选项,例如,更改为Tab而不是空格缩进。 XML格式解决方案使我也想为Scala代码创建XML代码格式架构。但是,我还没有找到任何解决方案。

背景:基于Scala的项目,我们整个团队都需要一个XML代码架构,就像google提供的intelliJ-java-google-style.xml一样,我的问题是:如何创建或生成这样的XML架构?至少如果我必须编写XML文件,Scala的规则是什么?还是应该将其放入XML文件中的哪个选项,与google java XML代码架构相同吗?

对于板条箱,我更喜欢:是否有任何工具可以简单地将键值对放入,它将解析为IntelliJ IDEA的正确XML模式文件

例如,对于generate,我的意思是,我可以导入一些格式插件工具(例如Scalafmt)并将规则导出为XML模式,以便其他人可以通过导入模式简单地使用它。

1 个答案:

答案 0 :(得分:0)

编辑:由于OP的明确说明,此答案已过时。不幸的是,不能在他们的项目中使用scalafmt,而需要IntelliJ本机解决方案。

我建议您看一下 scalafmt 项目。
它是基于语法的基于scalameta的scala代码格式化程序。

它提供了IntelliJ格式化程序插件,并与sbt很好地集成在一起,使您可以测试源代码以在CI构建中进行正确的格式化。

它有很多不同的选项,使您可以自定义所需的样式规则,这些规则可以存储在项目基础的.scalafmt.conf文件中,或者如果您需要特殊的子项目,请嵌套在子项目中文件夹。

可以在这里找到该项目:https://scalameta.org/scalafmt/
或在github上,在这里:https://github.com/scalameta/scalafmt

很抱歉,如果这不能完全回答您的问题,但是目前恐怕还没有intellij-native配置文件可用。

为了让您入门,这是我用于个人项目的样式文件:

align = more
maxColumn = 120
docstrings = ScalaDoc
align.tokens = [
  {code = "=>",      owner = "Case"},
  {code = ":",       owner = ".*"},
  {code = "=",       owner = ".*"},
  {code = "extends", owner = ".*"},
  {code = "%",       owner = "Term.ApplyInfix"},
  {code = "%%",      owner = "Term.ApplyInfix"}
]
align.openParenDefnSite = false
optIn.configStyleArguments = true