【发布时间】:2021-12-02 18:15:04
【问题描述】:
我有一个 Drupal 8 安装,我想在其中使用 squizlabs/php_codesniffer 和 PhpStorm。
我按照 Drupal 本身的文档https://www.drupal.org/docs/contributed-modules/code-review-module/installing-coder-sniffer#s-composer-installer-plugin 安装了带有 Composer 的 phpcs。我用这个命令composer global require drupal/coder dealerdirect/phpcodesniffer-composer-installer 安装了它,它也安装了squizlabs/php_codesniffer。此时一切正常,phpcs 已安装在我的用户 .composer 文件夹中。
当我执行phpcs --config-show 时,我得到以下输出:
(版本 3.6.1)
Using config file: /Users/myusername/.composer/vendor/squizlabs/php_codesniffer/CodeSniffer.conf
installed_paths: /Users/myusername/.composer/vendor/drupal/coder/coder_sniffer,/Users/myusername/.composer/vendor/sirbrillig/phpcs-variable-analysis
在我看来还不错。
PhpStorm 版本 2021.2.2
下一步是在 PhpStorm 中设置 CodeSniffer,我这样做了:
CodeSniffer 已经过验证,似乎没问题。正如您在此处看到的,PhpStorm 也认可 Drupal 编码标准:
当我保存所有设置并打开文件时,我在 PhpStorm 事件日志中收到此错误消息:
11:51 PHP_CodeSniffer
phpcs: ERROR: the "/Users/myusername/Sites/projects/features/vendor/squizlabs/php_codesniffer/CodeSniffer.conf.dist" coding standard is not installed. The installed coding standards are PEAR, Zend, PSR2, MySource, Squiz, PSR1, PSR12, Drupal, DrupalPractice and VariableAnalysis
Open PHPCodeSniffer Inspection Settings
我完全不知道为什么它需要检查项目 php_codesniffer 以及为什么需要安装这个编码标准。有人知道为什么会发生这种情况吗?我尝试清除 PhpStorm 缓存,但没有帮助。
提前谢谢你!
【问题讨论】:
-
检查这些票 (cmets) - 它们似乎与您的问题有关:youtrack.jetbrains.com/issue/WI-42964 和 youtrack.jetbrains.com/issue/WI-43028尝试将 PHP_CS 安装为特定于项目的依赖项,而不是全局依赖项——更好吗?
-
嗨@LazyOne。首先对格式感到抱歉,这是我在stackoverflow上的第一个问题。感谢您的评论和快速回复。我将研究这两个问题,并让您知道它是否有帮助。在我的 drupal 安装中,我安装了 phpcs,并尝试在 Phpstorm 中设置项目 phpcs,但遗憾的是错误仍然出现。
-
嗨@LazyOne 我看过这些问题,并没有真正得到我需要做的事情。我已经这样做了
phpcs --config-set installed_paths /path/to/standard,但这并没有解决我的错误消息。我还将 phpcs 可执行文件的路径更改为项目特定路径,但这也没有解决错误消息。我现在通过删除项目并重新设置来修复它。
标签: phpstorm drupal-8 phpcodesniffer