0

我通过composer正确安装了所有东西,并将codesniff脚本路径添加到环境中。当我在命令行上运行它时:

phpcs --report=checkstyle --standard=Joomla -n C:\xampp\htdocs\myfile.php

我得到了正确的 XML 代码嗅探输出。

问题是我无法让它与 Sublime 3 一起运行。我安装了 phpcs 包并将其添加到用户设置中:

{
    "show_debug": true,
    "phpcs_additional_args": {
        "--standard": "Joomla",
        "-n": ""
    }
}

当我尝试嗅探文件时,我在控制台中得到了这个:

[Phpcs] phpcs --report=checkstyle --standard=Joomla -n  C:\xampp\htdocs\myfile.php
[Phpcs] phpcs --report=checkstyle --standard=Joomla -n  C:\xampp\htdocs\myfile.php
[Phpcs] cwd:  C:\xampp\htdocs\myfile.php
Traceback (most recent call last):
  File "./python3.3/subprocess.py", line 1104, in _execute_child
FileNotFoundError: [WinError 2] System can't find the file

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 818, in run_
    return self.run(edit)
  File "phpcs in C:\Users\xxx\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 661, in run
  File "phpcs in C:\Users\xxx\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 479, in run
  File "phpcs in C:\Users\xxx\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 149, in get_errors
  File "phpcs in C:\Users\xxx\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 231, in execute
  File "phpcs in C:\Users\xxx\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 234, in parse_report
  File "phpcs in C:\Users\xxx\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 176, in shell_out
  File "./python3.3/subprocess.py", line 819, in __init__
  File "./python3.3/subprocess.py", line 1110, in _execute_child
FileNotFoundError: [WinError 2] System can't find the file
4

1 回答 1

0

解决方案是:

  1. 虽然我设置了 phpcs 路径环境变量,但我可以从任何我必须设置phpcs_executable_path为完整路径的地方调用 phpcs 命令,例如 "phpcs_executable_path": "c:\\Users\\xxx\\AppData\\Roaming\\Composer\\vendor\\squizlabs\\php_codesniffer\\scripts\\phpcs.bat"

  1. 我不得不将--no-patcharg 添加到 phpcbf 因为在香草窗口下不存在这样的diff命令

"phpcbf_additional_args": { "--standard": "Joomla", "--no-patch": "", "-n": "" },


  1. 我必须编辑 phpcs.bat 文件并替换@php_bin@为 PHP 可执行文件的完整路径。不知何故,在作曲家 Prozess 那些应该被替换但它没有发生: if "%PHPBIN%" == "" set PHPBIN=c:\xampp\php\php.exe

所以要做很多废话。Seams to me windows 在所有安装过程中都没有得到很好的支持。

于 2017-09-27T15:33:57.380 回答