为什么 vscode 删除 PEAR 编码标准文件夹后 phpcs 扩展失败

why vscode phpcs extension fails after removing PEAR coding standard folder

我打算从我的 phpcs 中删除(卸载)PEARZend 标准(由 composer 安装提供)在我的 windows 11)

根据 this answer 我从以下位置手动删除了这两个文件夹(PEAR 和 Zend):

C:\Users\myusername\AppData\Roaming\Composer\vendor\squizlabs\php_codesniffer\src\Standards

现在 phpcs -i 命令的结果中没有 PEAR 和 Zend,正如预期的那样,但我遇到了以下 错误 每次我 运行 vscode:

错误:引用的嗅探“PEAR.Functions.ValidDefaultValue”不存在 运行“phpcs --help”获取使用信息

https://s21.picofile.com/file/8447163976/vscode_error.PNG

此外,“PHP 嗅探器”扩展不再工作,并且在我的 php 脚本中不再显示违规!

我检查了 vscode 的“settings.json”文件,但没有任何规则包含 PEAR 或 Zend!

更多信息:

使用 compower-setup.exe 文件安装 Composer windows 11.

vscode 版本 1.63.2

vscode 分机:php Sniffer by wongjn

这有什么问题吗?手动删除那些标准文件夹是否有正确的方法从系统中卸载这些标准?

包含的编码标准相互借鉴。 PEAR 是最古老的标准,因此大多数新标准都建立在它之上,包括 PSR2。 PSR12 然后建立在 PSR2 之上。所以这些标准参考了其他标准中的嗅探。

不要从核心 PHPCS 安装中删除任何文件夹,即使您不需要这些标准。尤其是 Generic、PEAR 和 Squiz 文件夹。如果删除其中任何一个,您将 100% 违反其他标准。

如果您想查看标准使用的嗅探器,可以运行 phpcs -e --standard=STANDARD

例如,运行ning phpcs -e --standard=PSR12 表明 PSR12 标准包括来自 6 个不同标准的 60 次嗅探。