vscode phpcs: 引用的嗅探 Universal.WhiteSpace.DisallowInlineTabs 不存在

vscode phpcs: referenced sniff Universal.WhiteSpace.DisallowInlineTabs does not exist

我在设置 phpcsvscode 时遇到了很多问题 — 它们在一段时间内运行良好,但在重新组织了一些文件夹之后,我将我的 wpcs 存储库移到了某个地方别的。现在试图重新配置 phpcs 并且无法弄清楚问题是什么。我不断收到 Universal.WhiteSpace.DisallowInlineTabs 不存在的错误消息。这是截图

知道发生了什么事吗?

几个月前,现有的 WordPress 嗅探器被更强大的 Universal 嗅探器(PHPCSExtra 包的一部分)所取代。

提交:https://github.com/WordPress/WordPress-Coding-Standards/commit/8997d689294fbf880b427873e7fa254237f3b87f

尽管 PHPCSExtra 包是 WordPress-Coding-Standards 所必需的,但它并没有自动为我安装。我认为我的问题是默认的 "minimum-stability": "stable" 设置阻止了 PHPCSExtra(仍在 alpha 中)安装。

我通过手动安装以下软件包解决了这个问题。

注意: 我在全球范围内使用 PHPCS + WPCS。如果尝试为单个项目在本地安装,请删除 global

composer global require phpcsstandards/phpcsutils:@alpha
composer global require phpcsstandards/phpcsextra:@alpha

为每个包添加 @alpha 标志会覆盖您的默认 minimum-stability 设置。

希望对您有所帮助!

我使用自制软件安装 phpcs 而不是 composer。因为我不想切换到作曲家,所以我开始使用 PHPCSUtils'Non-Composer based integration',但我意识到我不想每次发布新版本时都必须手动更新包。

相反,我将 PHPCSUtilsPHPCSExtras 克隆到与 WPCS 目录相同的父文件夹中的目录中。然后我将它们符号链接到 WPCS 文件夹

git clone git@github.com:WordPress/WordPress-Coding-Standards.git wpcs
git clone git@github.com:PHPCSStandards/PHPCSExtra.git
git clone git@github.com:PHPCSStandards/PHPCSUtils.git
cd wpcs
ln -s ../PHPCSUtils/PHPCSUtils PHPCSUtils
ln -s ../PHPCSExtra/Universal Universal
ln -s ../PHPCSExtra/NormalizedArrays NormalizedArrays