自定义Checkstyle检查嵌套问题

问题描述 投票:0回答:1

我正在尝试创建一个自定义的 Checkstyle 检查,该检查在 Java 中强制执行一条规则,即在左大括号之后有一个新的空行。我尝试了几种方法,但我不断遇到的问题是我的检查仅适用于顶层代码。

例如,在 Java 文件中,它仅对类强制执行规则,但不会在类中强制执行方法本身。

我尝试了两种主要的方法来编写检查,一种是通过检查所有大括号标记来检查行,另一种是查看整个文件内容并检查行号,类似于此 Github 问题,https: //github.com/checkstyle/checkstyle/pull/11525/files.

无论哪种情况,我都会扩展 puppycrawl Checkstyle 工具并使用访问令牌方法来实现。然后在 checkstyle.xml 中,我将检查添加到

TreeWalker
模块的
Checker
模块中。另请注意,我正在尝试在 Intellij Checkstyle 插件中使用此检查。

java nested checkstyle intellij-plugin
1个回答
0
投票

我认为 LeftCurly 检查是最接近您意图的实现。

我将首先基于 LeftCurlyCheck 代码创建一个新的检查器(您已经完成的操作)并修改 verifyBrace 方法。

您可以在左大括号之后找到该行(例如

String lineAfterBrace = getLine(brace.getLineNo());
)并检查它是否为空。

© www.soinside.com 2019 - 2024. All rights reserved.