如何忽略Eclipse上PHP Code Sniffer的一些验证?

时间:2014-02-04 12:46:34

标签: eclipse codesniffer

我开始使用Eclipse的PHP Code Sniffer扩展(Kepler SR1 Build id:20130919-0819),但我遇到了可用性问题。由于代码嗅探器在eclipse上的工作方式,它标记的文件与具有PHP编码错误的文件具有相同图标的错误。同样适用于警告。

我的问题是,由于我正在处理的代码库上的一些东西,我们确实有很多变量(我无法改变),这些变量不是驼峰格式,而是有下划线。因此,eclipse报告说项目中几乎每个页面都有问题。您可以查看指定的图像以获取示例。

所以,我的问题是,如何禁用此SNIFF的检查(变量不在有效的驼峰情况下)?

enter image description here

1 个答案:

答案 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>