【发布时间】:2019-05-07 04:49:41
【问题描述】:
如何使用扩展 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 中的良好缩进而苦苦挣扎
【问题讨论】:
标签: php wordpress visual-studio-code codesniffer