gpt4 book ai didi

php - 如何设置扩展 WordPress 编码标准的 PHP CodeSniffer + VSCode 中的自动修复错误?

转载 作者:可可西里 更新时间:2023-11-01 01:11:42 25 4
gpt4 key购买 nike

如何使用扩展 WordPress 编码标准的个人规则为项目设置 PHP CodeSniffer + 保存时自动修复 VSCode 中的错误?

我有installed CodeSniffer globally

composer global require "squizlabs/php_codesniffer=*"

WordPress coding standards are installed在主题文件夹中(因此在项目中它们位于 /wp-content/themes/bideja/wpcs)

git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wpcs

在主题文件夹中,我创建了 phpcs.xml,它应该继承 WordPress 标准,以便我可以进一步自定义它

<?xml version="1.0"?>
<ruleset name="Bideja">
<description>Sniffs</description>

<config name="installed_paths" value="wpcs" />

<arg value="s"/>

<exclude-pattern>assets/*</exclude-pattern>
<exclude-pattern>node_modules/*</exclude-pattern>
<exclude-pattern>vendor/*</exclude-pattern>

<rule ref="WordPress-VIP">
<exclude name="Generic.Files.EndFileNewline.NotFound" />
<exclude name="WordPress.PHP.YodaConditions.NotYoda" />
</rule>

</ruleset>

在主题内的 Bash 终端中,我可以扫描页面中的错误并修复它们

phpcs page.php
phpbcf page.php

但是 VSCode 如何在保存时修复它们?我收到弹出错误:

phpcs: Referenced sniff "WordPress-VIP" does not exist

我应该在 User settings.json 中放置什么?

"phpcs.enable": true,
"phpcs.standard": "WordPress", // ?

我试过设置

phpcs --config-set installed_paths wpcs

当我使用 phpcs -i 检查已安装的标准时,我可以看到列出了 WordPress 标准

 The installed coding standards are MySource, PEAR, PSR1, PSR12, PSR2, Squiz, Zend, WordPress, WordPress-Core, WordPress-Docs, WordPress-Extra and WordPress-VIP

此外,CodeSniffer 是否能够自动缩进 PHP 和 HTML,或者这超出了它的能力范围?我正在为 VSCode 中的良好缩进而苦苦挣扎

最佳答案

我已将 WordPress 编码标准 git 克隆到 C:/wamp64/www/tools/phpcs 中,并在 C:/中创建了自定义 ruleset.xml wamp64/www/tools/phpcs/bideja

<?xml version="1.0"?>
<ruleset name="Bideja">

<arg value="s"/>

<exclude-pattern>assets/*</exclude-pattern>
<exclude-pattern>node_modules/*</exclude-pattern>
<exclude-pattern>vendor/*</exclude-pattern>

<rule ref="WordPress">
<exclude name="WordPress.PHP.YodaConditions.NotYoda" />
<!-- exclude other stuff as you wish -->
</rule>

</ruleset>

安装新标准

phpcs --config-set installed_paths C:/wamp64/www/tools/phpcs/wp-coding-standards/wpcs,C:/wamp64/www/tools/phpcs/bideja

检查是否安装了标准

phpcs -i

设置默认标准

phpcs --config-set default_standard bideja

安装phpcbf扩展,根据你的文件夹路径在Windows中为Path添加环境变量

 C:\Users\User\AppData\Roaming\Composer\vendor\bin

并使用正确的标准路径和名称修改 User settings.json

"phpcbf.executablePath": "C:\\Users\\User\\AppData\\Roaming\\Composer\\vendor\\bin\\phpcbf.bat",
"phpcbf.executablePathWindows": "C:\\Users\\User\\AppData\\Roaming\\Composer\\vendor\\bin\\phpcbf.bat",
"phpcs.standard": "bideja",
"phpcbf.standard": "bideja",
"phpcs.enable": true,
"phpcbf.onsave": true,

我希望我没有忘记一些东西,因为我把它弄乱了几个小时,但现在终于在保存文件后 VSCode 修复了它可以修复的东西。

关于php - 如何设置扩展 WordPress 编码标准的 PHP CodeSniffer + VSCode 中的自动修复错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53635328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com