Visual Studio代码:无法找到phpcs

时间:2017-11-08 07:35:37

标签: php visual-studio-code

我在Visual Studio Code中遇到此问题。我已经尝试重新安装phpcs扩展但仍面临这个问题。

this is the image

  

无法找到phpcs

     

请将phpcs添加到您的全局路径或使用作曲家依赖项管理器在Visual Studio Code

中本地安装它

15 个答案:

答案 0 :(得分:18)

在终端中打开项目并运行此命令

composer global require squizlabs/php_codesniffer

希望有所帮助!

答案 1 :(得分:14)

我认为卸载它并不能解决问题。

我有同样的问题。所以,

  1. 转到扩展程序并安装插件....“phpcs”。
  2. 如果已安装,请搜索扩展程序。
  3. 停用扩展程序。
  4. 它解决了我的VS代码中的问题。

答案 2 :(得分:7)

来自GitHub comment

  

如果仍然有人需要有关此“无法找到phpcs ...”的帮助   错误消息,请尝试以下操作:您只需要全局安装phpcs   通过Composer。

     
      
  1. 如果没有,请从this resource安装Composer,
  2.   
  3. 在安装Composer之后,在任意位置打开命令提示符并运行此命令

    composer global require squizlabs/php_codesniffer
    
  4.   

答案 3 :(得分:6)

在基于Debian的系统上,以root身份运行:

apt-get install php-codesniffer

答案 4 :(得分:6)

就我而言,在Windows 10中,位于以下位置的作曲家:

C:\Users\{user_name}\AppData\Roaming\Composer\vendor\bin\

当我在PHP CodeSniffer部分将其添加到VSCode设置中时,这解决了我的问题。

答案 5 :(得分:2)

我遇到了同样的问题,我做了以下修复:

  1. 将Composer与composer global require squizlabs/php_codesniffer

  2. 结合使用来安装phpcs
  3. Command + ,(单击代码->首选项->设置)

  4. 选择用户设置并找到“ PHP CodeSniffer
  5. 滚动到“ Executatble Path”并放入

    / Users /您的用户名/.composer/vendor/bin/phpcs

这为我解决了这个问题,我希望它也为您解决。干杯!

答案 6 :(得分:2)

我的解决方案无需全局安装php_codesniffer。

只需转到VSCode设置并定义本地路径./vendor/squizlabs/php_codesniffer/bin/phpcs

enter image description here

或者您可以直接在settings.json中设置路径

"phpcs.executablePath": "./vendor/squizlabs/php_codesniffer/bin/phpcs"

答案 7 :(得分:2)

我遇到了同样的问题,我这样做是为了在我的窗口中修复它:

  1. 您将下载 Composer(来自 here

  2. 转到 Vs 代码并打开终端并运行此命令

    composer global require squizlabs/php_codesniffer
    
  3. 转到(设置-->用户设置),然后搜索PHP CodeSniffer

  4. 滚动到可执行路径并输入

    \Users\{user_name}\AppData\Roaming\Composer\vendor\bin\phpcs
    

    并重新启动 VS 代码。

这对我有用,我希望它也对你有用 :D

答案 8 :(得分:1)

将以下内容粘贴到您的终端中以进行系统范围的安装

composer global require squizlabs/php_codesniffer

这阻止了我的弹出错误消息。

答案 9 :(得分:0)

我在Mac上的Visual Studio Code中遇到了同样的问题(我使用PEAR来安装PHPCS)。 我不知道为什么但是PHPCS找不到CodeSniffer的autoload.php。 您可以尝试在终端命令行上输入:

$ phpcs

我收到了一个错误:

  

警告:include_once(PHP / CodeSniffer / autoload.php):无法打开   stream:/ Users / david / pear / bin / phpcs中没有这样的文件或目录   第14行

     

警告:include_once():打开'PHP / CodeSniffer / autoload.php'失败   在/ Users / david / pear / bin / phpcs中包含(include_path =':')   第14行

<强>解决方案:

在您的用户文件夹中打开Pear Bin文件夹,例如就我而言:Finder中的/Users/david/pear/bin/

在里面找到phpcs文件并对其进行编辑(例如在Visual Studio代码中),

你会在那里找到这些线:

if (is_file(__DIR__.'/../autoload.php') === true) {
    include_once __DIR__.'/../autoload.php';
} else {
    include_once 'PHP/CodeSniffer/autoload.php';
}

在那里添加两条新行,其中包含CodeSniffer / autoload.php文件的正确位置(将其放在} else {行之前,并根据您的需要修改路径 - 将“david”替换为您的用户名...) :

} else if (is_file('/users/david/pear/share/pear/PHP/CodeSniffer/autoload.php')) {
    include_once '/users/david/pear/share/pear/PHP/CodeSniffer/autoload.php';

所以条件的最终代码是:

if (is_file(__DIR__.'/../autoload.php') === true) {
    include_once __DIR__.'/../autoload.php';
} else if (is_file('/users/david/pear/share/pear/PHP/CodeSniffer/autoload.php')) {
    include_once '/users/david/pear/share/pear/PHP/CodeSniffer/autoload.php';
} else {
    include_once 'PHP/CodeSniffer/autoload.php';
}

然后保存并重新启动Visual Studio代码。就是这样。

答案 10 :(得分:0)

你说你已经卸载了它,所以我假设你试图摆脱扩展和错误。

如何解决:

  1. 卸载扩展程序。
  2. 从VS Code文件夹中删除整个phpcs文件夹。
  3. 来自VS Code文档:

    问:扩展安装在哪里?

    A:根据您的平台,全球位置位于以下文件夹中:

    Windows %USERPROFILE%\.vscode\extensions
    
    Mac ~/.vscode/extensions
    
    Linux ~/.vscode/extensions
    

答案 11 :(得分:0)

安装PHP Sniffer 而不是phpcs

PHP Sniffer 无需任何额外配置即可即时运行

尽管安装了已配置的PATH,Composer和PHPCS,但

phpcs 无法识别我的命令。

命令在终端中被识别,但插件无法识别 (在Windows 10下)

答案 12 :(得分:0)

我在Drupal中遇到了同样的问题,解决方案是指定编码标准。 因此,创建phpcs.xml并启用下一个选项。

enter image description here

答案 13 :(得分:0)

"phpcs.standard": "PSR2",
"phpcs.enable": true,
"phpcs.executablePath": "/home/<username>/.config/composer/vendor/squizlabs/php_codesniffer/bin/phpcs",
"phpcs.autoConfigSearch": true

答案 14 :(得分:0)

我也遇到了同样的错误,我注意到phpcs在命令行中运行,但在vscode中不工作。我必须阅读(vscode扩展名的)linter.js文件,以查看此错误的来源。此修补程序更多是信息。

因此,要解决此问题,请执行以下操作:首先,运行命令phpcs --version,并在输出类似于PHP_CodeSniffer version x.x.x (stable) by Squiz (HTTP://www.squiz.net)的行之前检查该命令是否不显示任何警告或错误。

如果在显示phpcs版本的行之前引发了任何错误或警告(通常与phpcs不相关),请首先修复该警告或错误。根据linter.js,它期望第一个输出(执行phpcs.bat时)必须以PHP_CodeSniffer version字符串开头。因此,如果在 PHP_CodeSniffer版本.... 之前应打印任何内容,则会引发错误。

因此,如果您希望phpcs在VSCode中工作,则必须修复在phpcs版本之前打印的所有警告或错误。我希望此修复程序对您有用。欢呼!