我开始使用Eclipse的PHP Code Sniffer扩展(Kepler SR1 Build id:20130919-0819),但我遇到了可用性问题。由于代码嗅探器在eclipse上的工作方式,它标记的文件与具有PHP编码错误的文件具有相同图标的错误。同样适用于警告。
我的问题是,由于我正在处理的代码库上的一些东西,我们确实有很多变量(我无法改变),这些变量不是驼峰格式,而是有下划线。因此,eclipse报告说项目中几乎每个页面都有问题。您可以查看指定的图像以获取示例。
所以,我的问题是,如何禁用此SNIFF的检查(变量不在有效的驼峰情况下)?
答案 0 :(得分:7)
您可以创建自己的ruleset.xml,但不包括您想要的嗅探,但包括其他嗅探。
<?xml version="1.0"?>
<ruleset name="My Standards">
<description>My Coding Standards enforcement rule set for PHP_CodeSniffer</description>
<rule ref="PSR2.Classes.PropertyDeclaration" />
<rule ref="PSR2.ControlStructures.ElseIfDeclaration" />
<rule ref="PSR2.Files.EndFileNewline" />
<rule ref="PSR2.Methods.MethodDeclaration" />
<rule ref="PSR2.Namespaces.NamespaceDeclaration" />
<rule ref="PSR2.Namespaces.UseDeclaration" />
<rule ref="Squiz.Arrays.ArrayBracketSpacing" />
<rule ref="Squiz.Arrays.ArrayDeclaration" />
<rule ref="Squiz.PHP.DisallowSizeFunctionsInLoops" />
<!-- Removing Sniffs from Generic as we do not want these -->
<rule ref="Generic">
<exclude name="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop" />
<exclude name="Generic.Commenting.Fixme" />
<exclude name="Generic.Commenting.Todo" />
<exclude name="Generic.Files.EndFileNoNewline" />
<exclude name="Generic.Files.LineEndings" />
<exclude name="Generic.Files.LineLength" />
<exclude name="Generic.Files.OneClassPerFile" />
<exclude name="Generic.Files.OneInterfacePerFile" />
<exclude name="Generic.Formatting.NoSpaceAfterCast" />
<exclude name="Generic.Functions.OpeningFunctionBraceKernighanRitchie" />
<exclude name="Generic.NamingConventions.CamelCapsFunctionName" />
<exclude name="Generic.PHP.ClosingPHPTag" />
<exclude name="Generic.PHP.LowerCaseConstant" />
<exclude name="Generic.VersionControl.SubversionProperties" />
<exclude name="Generic.WhiteSpace.DisallowSpaceIndent" />
<exclude name="Generic.WhiteSpace.DisallowTabIndent" />
<exclude name="Generic.Files.LowercasedFilename" />
</rule>
</ruleset>