我想检查一下,这样当我检查我的代码时,任何打印命令都不会被检查到 svn 中。我在 Eclipse 上安装了“Checkstyle”插件,但问题是即使打印命令已被注释掉,它也会出错。
我的要求是忽略注释中的打印命令,而不是主代码中的打印命令。
这方面的任何信息都会对 gr8 有所帮助。
问候 Lokesh
我想检查一下,这样当我检查我的代码时,任何打印命令都不会被检查到 svn 中。我在 Eclipse 上安装了“Checkstyle”插件,但问题是即使打印命令已被注释掉,它也会出错。
我的要求是忽略注释中的打印命令,而不是主代码中的打印命令。
这方面的任何信息都会对 gr8 有所帮助。
问候 Lokesh
正如您在评论中告诉我的,您使用了使用正则表达式的自定义规则"System\.out\.println"
。这似乎匹配包含该字符串的每一行,即使它之前有注释。您必须更改您的正则表达式以仅匹配命令之前不包含//
的行。"(?!//).*System\.out\.println"
应该管用。
编辑
只记得 PMD 有一个使用的集成规则System.out.println()
。您可以将其用作自定义检查样式规则的替代方法。遗憾的是,Eclipse 插件还不适用于 Juno,但如果您使用早期版本,您应该没问题。
我可以通过使用“Miscellaneous”[Preferences -> checkstyle->Miscellaneous->Regex] 下的“Regex”选项来解决这个问题,因为它可以选择忽略注释。
谢谢大家的帮助。
我已经过滤了对“System.out”和“System.err”的调用,使用RegexpSingleLineJava检查并^System\.(out|err)\.print(ln|f){0,1}\(.*\)
作为正则表达式参数