【发布时间】:2017-01-10 12:04:14
【问题描述】:
在Sublime Text 3 我已经通过Package Manager 安装了以下包:
- SublimeLinter
- SublimeLinter-phpmd
- SublimeLinter-phpcs
- 以及其他几个..
问题是phpmd 或phpcs 都不起作用。在 ST3 中打开 php 文件然后单击:ctrl 和 ` 我得到以下调试信息:
SublimeLinter: debug mode: on
SublimeLinter: temp directory: c:\users\alekspav\appdata\local\temp\SublimeLinter3-alekspav
SublimeLinter: annotations activated: <builtin>
SublimeLinter: json activated: <builtin>
SublimeLinter: WARNING: phpcs deactivated, cannot locate 'phpcs'
SublimeLinter: annotations activated: <builtin>
SublimeLinter: WARNING: jshint deactivated, cannot locate 'jshint'
SublimeLinter: php activated: C:\xampp\php\php.exe
SublimeLinter: WARNING: phpmd deactivated, cannot locate 'phpmd'
SublimeLinter: WARNING: htmltidy deactivated, cannot locate 'tidy'
SublimeLinter: WARNING: csslint deactivated, cannot locate 'csslint'
SublimeLinter: php: submitter.php ['C:\\xampp\\php\\php.exe', '-l', '-n', '-d', 'display_errors=On', '-d', 'log_errors=Off']
SublimeLinter: php output:
No syntax errors detected in -
我对这两行特别感兴趣:
- SublimeLinter:警告:phpcs 已停用,无法找到“phpcs”
- SublimeLinter:警告:phpmd 已停用,找不到“phpmd”
我试图解决这个问题是编辑用户配置文件:
Sublime text 3: Preferences -> package settings -> sublime linter-> settings - user
然后添加cmd键如下:
"phpcs": {
"@disable": false,
"args": [],
"cmd": "C:/xampp/htdocs/web/vendor/bin/phpcs/",
"excludes": [],
"standard": "PSR2"
},
"phpmd": {
"@disable": false,
"args": [],
"cmd": "C:/xampp/htdocs/web/vendor/bin/phpmd/",
"excludes": [],
"rulesets": "cleancode,codesize,controversial,design,naming,unusedcode"
}
如您所料 - 这并没有解决问题。我还尝试在末尾写不带 / 的路径,并尝试使用 \ 分隔符而不是 /。而且我还尝试直接指定 PFAM 文件。并且还尝试使用 ${project} 变量而不是整个 C:/ 路径。 ST3 重启后我仍然收到警告。
我的另一个问题是 - 如何在调试窗口中输出“${project}”目录?因为我不确定它是否设置正确所以我想测试一下。
更多信息:
Sublime 项目目录为:C:\xampp\htdocs\web\test.sublime-project
这里是phpmd 和phpcs 安装:
- “C:\xampp\htdocs\web\vendor\bin\phpcs\phpcbf.phar”
- “C:\xampp\htdocs\web\vendor\bin\phpcs\phpcs.phar”
- “C:\xampp\htdocs\web\vendor\bin\phpmd\phpmd.phar”
编辑:
好像我做错了。我在项目目录中添加了composer.json,内容如下:
{
"require-dev": {
"squizlabs/php_codesniffer": "2.*",
"phpmd/phpmd" : "@stable",
"mongodb/mongodb" : "@dev"
}
}
使用composer install 命令安装所有内容后 - 我为我创建了vendor 文件夹,其中包含许多目录,包括bin 文件夹。它现在拥有所有必要的文件,但我仍然遇到同样的错误。由于某种原因找不到模块。
【问题讨论】:
标签: sublimetext3 sublimelinter phpmd phpcs