我尝试使用谷歌搜索,但一直无法找到解决方案。我正在为Java Luna运行Eclipse。使用Sun Eclipse样式,我将左侧卷曲支撑位置修改为“nl”,并将“右侧卷曲支撑位置”修改为“单独使用”。这一切都很好,除非正确的大括号后面跟着“其他”,或者“抓住”#39; (也许其他人如“终于' ......我还没有检查过”)。在这种情况下,我有一个看起来像
的代码部分 ...
}
catch ( whatever )
{
...
}
在捕获之前的大括号会出现错误,指出'}'应该在同一行。如果我将右大括号移动到前一行的末尾,我得到:
Multiple markers at this line
'}' should have line break before.
'}' should be on the same line.
'}' should be on a new line.
'if rcurly' have incorrect indentation level XXX, expected level
如果我移动' catch'和'}'在同一行,我得到:
'}' should be alone on a line.
我是CheckStyle的新手,我认为我已经错误地设置了其他一些必需的选项。我找到的文件没有给我任何指示如何解决这个问题。我搜索了StackOverflow上的checkstyle标签,但没有发现类似的问题。任何帮助或指向我可以获得帮助的地方都将不胜感激。
配置文件显示为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<!--
This configuration file was written by the eclipse-cs plugin configuration editor
-->
<!--
Checkstyle-Configuration: Sun Eclipse With Personal Checks
Description:
Based on the Sun Eclipse but with values that I prefer
-->
<module name="Checker">
<property name="severity" value="warning"/>
<module name="TreeWalker">
<module name="LeftCurly">
<property name="option" value="nl"/>
</module>
<module name="RightCurly"/>
<module name="Indentation"/>
<module name="RightCurly">
<property name="option" value="alone"/>
</module>
</module>
</module>
答案 0 :(得分:0)
重新检查您是否使用最新的checkstyle并尝试在CLI上重现该基础 - http://checkstyle.sourceforge.net/cmdline.html
$ cat checkstyle_checks.xml
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="TreeWalker">
<module name="LeftCurly">
<property name="option" value="nl"/>
<property name="tokens" value="LITERAL_CATCH"/>
<property name="tokens" value="LITERAL_ELSE"/>
<property name="tokens" value="LITERAL_FINALLY"/>
<property name="tokens" value="LITERAL_IF"/>
<property name="tokens" value="LITERAL_TRY"/>
</module>
<module name="RightCurly">
<property name="option" value="alone"/>
</module>
</module>
</module>
$ cat PropertyCacheFile.java
final class PropertyCacheFile
{
PropertyCacheFile()
{
if (true)
{
//code
}
else
{
//code
}
try
{
// NCODE
}
catch (final IOException e)
{
// SMTH
}
finally
{
/// VALUES
}
}
}
$ java -jar checkstyle-6.5-all.jar -c checkstyle_checks.xml PropertyCacheFile.java
Starting audit...
Audit done.