Cod*_*tic 10 java formatting groovy intellij-idea
我目前在codestylesettings中遇到问题,即IntelliJ中的"重新格式化代码"功能.
NECESARRY信息:
我正在编写groovy脚本,它使用一些Java功能(例如泛型)
似乎我的groovy版本(由于各种原因无法更改)在具有如下定义的变量时会遇到编译问题:
非工作:
final List<Map<String, Object>> listOfMaps = a["b"] as List<Map<String, Object>>
Run Code Online (Sandbox Code Playgroud)
问题是如果编译器之间有空格,编译器只能正确解释最后2个关闭尖括号.
工作方式:
final List<Map<String, Object>> listOfMaps = a["b"] as List<Map<String, Object> >
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的groovy版本中的已知错误.
问题:
"重新格式化代码"功能总是删除空格,我在结束尖括号之间添加空格以使脚本可编辑.
题:
我如何教IntelliJ不删除空间?
尝试:
此设置确实存在于java文件(设置 - >编辑器 - >代码样式 - > JAVA - >空格 - >内 - >角度括号).
导出的XML设置:
<JavaCodeStyleSettings>
<option name="SPACES_WITHIN_ANGLE_BRACKETS" value="true" />
Run Code Online (Sandbox Code Playgroud)
但不是groovy,所以我尝试将它添加到groovy中,如下所示:
<codeStyleSettings language="Groovy">
<option name="SPACES_WITHIN_ANGLE_BRACKETS" value="true" />
Run Code Online (Sandbox Code Playgroud)
重新格式化时只会冻结一分钟左右,然后再次移除空格.
也许cuz groovy不知道那些尖括号因此它是这里使用的Java功能.
我检查了反编译的源代码,似乎不SPACES_WITHIN_ANGLE_BRACKETS
支持Groovy
. 每个格式化程序都有单独的格式化规则和配置。现有的配置都无法帮助您完成任务
正如 @ybedrov 提到的,您需要向他们提出增强请求
现有选项无法帮助您
正如所@daniel
指出的,确实存在一种方法,那就是创建您自己的自定义语言
http://www.jetbrains.org/intellij/sdk/docs/tutorials/custom_language_support_tutorial.html
但如果你只关心一个空间,那么这个选项就存在于童话世界中。我只想sed
通过运行 bash 脚本来解决问题
$ find . -name "*.groovy" | xargs sed 's|>>|> >|g' -i
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
154 次 |
最近记录: |