【问题标题】:PHP CodeSniffer: ERROR: The specified sniff code "Generic.Files.LineEndings.InvalidEOLChar" is invalidPHP CodeSniffer:错误:指定的嗅探代码“Generic.Files.LineEndings.InvalidEOLChar”无效
【发布时间】:2019-08-01 14:03:31
【问题描述】:

我尝试在我的 Windows 机器上排除对 EOL 字符的检查总是会导致以下错误消息:

>vendor\bin\phpcs.bat --standard=PSR2 --exclude=Generic.Files.LineEndings.InvalidEOLChar src\version.php
ERROR: The specified sniff code "Generic.Files.LineEndings.InvalidEOLChar" is invalid

Run "phpcs --help" for usage information

无法弄清楚我做错了什么。我已经通过 composer 安装了 PHP CodeSniffer,并且正在运行 3.4.0 版。

【问题讨论】:

    标签: codesniffer phpcs phpcodesniffer


    【解决方案1】:

    --exclude CLI 参数接受由 3 部分组成的嗅探代码,但您已传入 4 部分错误代码。

    在您的情况下,嗅探代码是 Generic.Files.LineEndings,并且该嗅探仅生成一个错误代码,因此您可以忽略整个嗅探:

    vendor\bin\phpcs.bat --standard=PSR2 --exclude=Generic.Files.LineEndings src\version.php
    

    如果您想排除个别错误代码,或者您只是想为您的项目锁定一个标准,您需要使用 ruleset.xml 文件:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-Ruleset

    【讨论】:

    • 假设用户不只是神奇地知道嗅探代码的名称,那么某人如何从显示的错误/警告中找到特定的嗅探代码,以便知道要排除哪个?跨度>
    • 使用 -s 命令行参数运行 PHPCS。错误信息代码将显示在每条错误信息之后,格式为Standard.Category.Sniff.Error。如果您想排除或更改该单个错误消息,请使用该 4 部分代码。如果您想排除 while 嗅探,请仅使用前 3 个部分。
    • @GregSherwood 恕我直言,很遗憾,这条规则(--exclude 接受 3 部分嗅探代码)没有在任何地方明确记录......不应该在这里添加:github.com/squizlabs/PHP_CodeSniffer/wiki/… 吗?
    猜你喜欢
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多