如何在sublime中使用phpcs来学习编码标准?

时间:2014-07-19 13:27:32

标签: php coding-style workflow sublimetext2

我想学习将PHP编写为标准。我发现this文章和(根据其建议)在崇高的文本2中安装了phpcs。如果我去工具 - > phpcode嗅探器 - >嗅探这个文件,它会发现语法错误,但不会编码标准偏差。 (这是我试图嗅探的代码,我认为它与标准https://codereview.stackexchange.com/questions/57045/simple-wrapper-for-an-api有许多偏差)。

docs say to configure phpcs to use a coding standard来自phpcs_additional_args。如果我转到sublimetext2-> preferences->包设置 - > phpcode sniffer->设置用户,我会看到以下代码:

   "phpcs_additional_args": {
        "--standard": "PSR2",
        "-n": ""
    },

这是我的full config file

我的工作流程是否合适?如果是这样,为什么不发现我的错误呢?我如何使用phpcs自学编码标准?即使知道我正在执行正确的步骤但插件没有输出编码标准标记也会有所帮助。

3 个答案:

答案 0 :(得分:9)

根据您的配置文件,您必须修复一些事项:

以下说明适用于linux(ubuntu)或mac

  1. 确保您已安装PEAR
  2. 安装php code sniffer

    pear install PHP_CodeSniffer

    重新加载你的bash或zsh然后执行命令,如果你不知道怎么做,只需重新启动你的终端应用程序

    which phpcs

    复制输出并粘贴到phpcs config

    "phpcs_executable_path":

    目前,你将"phpcs_executable_path":指向php,而不是phpcs,这就是为什么它不起作用

  3. 安装php mess detector

    pear channel-discover pear.phpmd.org pear channel-discover pear.pdepend.org pear install pdepend/PHP_Depend pear install --alldeps phpmd/PHP_PMD

    喜欢上面的phpcs

    重新加载环境并执行which phpmd,然后填写"phpmd_executable_path": "" phpcs config

  4. 安装php-cs-fixer

    sudo wget http://get.sensiolabs.org/php-cs-fixer.phar -O /usr/local/bin/php-cs-fixer sudo chmod a+x /usr/local/bin/php-cs-fixer

    "php_cs_fixer_executable_path": ""更改为"php_cs_fixer_executable_path": "/usr/local/bin/php-cs-fixer"

  5. 安装scheck

    cd /opt/ git clone --depth=1 https://github.com/facebook/pfff.git cd pfff/ ./configure make depend make make opt

    "scheck_executable_path"更改为"scheck_executable_path": "/opt/pfff/scheck"

  6. 注意:您可以使用sudo pear ...代替pear ...

答案 1 :(得分:1)

我将它与phpstorm一起使用,因为它足够接近开箱即用,但我想这可能是你找到答案:https://github.com/benmatselby/sublime-phpcs

答案 2 :(得分:-1)

保存.php文件后,右键单击并转到Php Code Sniffer,您将看到变体。

enter image description here