- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Sublime Text 3
中,我通过 Package Manager
安装了以下软件包:
问题是 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 -
我对这两行特别感兴趣:
我试图解决这个问题的方法是编辑用户配置文件:Sublime text 3:首选项 -> 包设置 -> sublime linter -> 设置 - 用户
然后添加 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"
}
如您所料 - 这并没有解决问题。我还尝试在末尾写上没有/的路径,还尝试使用\delimeter 代替/。而且我还尝试直接指定 PFAM 文件。还尝试使用 ${project} 变量而不是整个 C:/路径。 ST3 重启后我仍然收到警告。
我的另一个问题是 - 如何在调试窗口中输出“${project}”目录?因为我不确定它是否设置正确所以我想测试它。
更多信息:
Sublime 项目目录为:C:\xampp\htdocs\web\test.sublime-project
这里是 phpmd
和 phpcs
安装:
编辑:
看来我做错了。我在项目目录中添加了一个 composer.json
,内容如下:
{
"require-dev": {
"squizlabs/php_codesniffer": "2.*",
"phpmd/phpmd" : "@stable",
"mongodb/mongodb" : "@dev"
}
}
在使用 composer install
命令安装所有内容后 - 我为我创建了 vendor
文件夹,里面有很多目录,包括 bin
文件夹。它现在拥有所有必要的文件,但我仍然遇到同样的错误。由于某种原因找不到模块。
最佳答案
好的,
我不确定这是错误还是功能,但我找到了问题的解决方案。
pear
安装 phpcs
和 phpmd
!没有这个 - 你会看到来自初始帖子的警告。phpcs: pear install PHP_CodeSniffer
phpmd: instructions here: http://pear.phpmd.org/ (I do not remember the name of another repository but during the first installation you will encounter the error that some lib is missing and you will be prompted with a text to add one more repository which has missing dependencies for phpmd pear installation. All easy)
启动ST3
并检查。无需编辑配置。这两个模块都应该在 Sublime Text 3
中工作!但是我们现在使用的是 pear
模块而不是 composer
模块。我最初的想法是使用 conmposer
。更易于维护和更新。
如果您不熟悉它 - 谷歌。在项目目录中,您应该有一个名为 composer.json
的文件,其内容类似于:
{
"require-dev": {
"squizlabs/php_codesniffer": "2.*",
"phpmd/phpmd" : "@stable"
}
}
然后使用 Windows 命令提示符
和 composer install
命令安装所有模块
如初始帖子中所述 - 在 SublimeLinter
的用户配置中使用以下配置:
"phpcs": {
"@disable": false,
"args": [],
"cmd": "${project}/vendor/bin/phpcs.bat",
"excludes": [],
"standard": "${project}/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/ruleset.xml"
},
"phpmd": {
"@disable": false,
"args": [],
"cmd": "${project}/vendor/bin/phpmd.bat",
"excludes": [],
"rulesets": "cleancode,codesize,controversial,design,naming,unusedcode"
}
现在重新启动 Sublime test 3
并打开调试并打开 PHP
文件。结果是:
reloading plugin SublimeLinter-phpcs.linter
SublimeLinter: phpcs linter loaded
reloading plugin SublimeLinter-phpmd.linter
SublimeLinter: phpmd linter loaded
...
reloading settings Packages/User/SublimeLinter.sublime-settings
SublimeLinter: phpcs activated: C:\xampp\php\phpcs.bat
SublimeLinter: phpmd activated: C:\xampp\php\phpmd.bat
...
SublimeLinter: phpcs: index.php ['C:/xampp/htdocs/web/vendor/bin/phpcs.bat', '--report=checkstyle', '--standard=C:/xampp/htdocs/web/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/ruleset.xml']
SublimeLinter: phpcs output:
.. errors in PHP file listed
Package Control: Skipping automatic upgrade, last run at 2016-09-05 17:12:20, next run at 2016-09-05 18:12:20 or after
...
SublimeLinter: phpmd: index.php ['C:/xampp/htdocs/web/vendor/bin/phpmd.bat', '@', 'text', 'cleancode,codesize,controversial,design,naming,unusedcode']
SublimeLinter: phpmd output:
.. errors in PHP file listed
如您所见 - SublimeLinter
首先加载 PHP
目录中的 pear
bat
!但是当提交 PHP
文件进行分析时 - 它正在使用项目目录中的新 bat
。
我的解释是 SublimeLinter
在使用 之前总是需要安装
等价物。这很愚蠢,如果你问我......但我找不到任何其他解决方案。pear
phpcs
和 phpmd
composer
关于sublimetext3 - SublimeLinter:模块 phpcs 和 phpmd 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39291264/
我是 OS X 上 Sublime Text/Sublime Text 3 的新用户。 我安装了插件 SublimeLinter。我还在我的本地机器上安装了 xampp。 接下来我应该安装哪个 lin
据我所知,CodeSniffer 遵循一组特定的编码标准,并检查您的代码是否遵循所述标准。但是 sublimelinter-php 也这样做。它们是不同的还是相同的?因为我在 Sublime Text
在Sublime Text Editor 3.x中编辑javascript文件时,出现错误: Oops! Something went wrong! :( ESLint: 6.0.1. ESLint
是否可以配置 sublimelinter 以检查具有特定设置的特定文件夹。 对于初学者,我想将它用于使用“javascript_linter”的 js 文件:“jshint”并为不同的文件夹设置“js
我在我的一个节点应用程序中使用基于非分号的编码样式,但问题是 SublimeLinter 正在记录所有丢失的分号,并最终因“错误太多”错误而停止,并停止检查其余部分脚本。 我尝试将 ignore_ma
每次出现错误时,Sublimelinter 都会启动,标记错误,然后弹出一个显示第一个错误的窗口。 如何设置,只标记错误而不弹出窗口? 如何让它标记所有错误,而不仅仅是第一个错误 我目前在 Ubunt
我希望可以问这个问题,即使它不是专门的编程问题。我在 Sublime Text 3 中安装了 SublimeLinter 和 SublimeLinter-flake8 包。我执行了 pip insta
我在使用 SublimeLinter3 时遇到了一些问题。我最近使用包控件安装了 JSHint 和 Sublime Linter 3,当我从命令面板手动使用 JSHint 时,它工作正常。但是,我的
我需要帮助获取 SublimeLinter去工作。 我已经使用包安装程序安装了 SublimeLinter。但是我看不到 lint 在我的 js 文件中工作。另外,当我执行 command + shi
如果我在终端运行 flake8,它会为每个错误提供字母数字错误代码 - 例如 F401 表示未使用的导入: $ flake8 ~/test.py /Users/markamery/test.py:1:
当我将 SublimeLinter 用于带有 javascript 的 Sublime Text 2 时,只要有尾随空格,它就会显示红色感叹号图标,这不应该是 javascript 的问题。 我做了一
我希望 SublimeLinter 忽略 PEP-8 E402 错误消息。我已将包用户设置更改为 "pep8_ignore": [ "E402" ] 并关闭并重新打开 Sublime Text。 Su
我开始为 SublimeLinter 写一个插件到目前为止,linting 本身正在运行。但是,我还没有设法突出显示工作。由于我的 linter(实际上是一个编译器)不输出列,如果突出显示失败的行,我
我有一个 Spring 产品,我正在尝试使用 sublimLinter-javac,并且项目中分散了一些包。问题是 sublimeLinter-javac 无法识别这些包或其中的类。所以我最终发现每个
我正在使用 SublimeLinter 来检查 Python,并且按照 Setting Up Sublime Text 3 for Full Stack Python Development 上这篇
我最近安装了 Sublime Text 3,我正在尝试让 SublimeLinter 为 C++ 工作。我已经使用包控制安装了“SublimeLinter-contrib-clang”linter,并
我对 Go 有点陌生,我一直在尝试使用 SublimeLinter-contrib-gotype包来整理我的文件。它在大多数情况下运行良好,但出于某种原因,如果我尝试从 GitHub 导入 Go 包,
我一直在尝试设置 SublimeLinter (Mac),但一定是出了问题,因为 php lint 根本不起作用。我已经多次安装和删除该软件包,尝试按照我发现的不同教程添加/删除对 php 的支持,但
我正在使用 SublimeLinter-clang 和 Sublime 3 在 MacOS Mojave 上检查 C++ 代码。我收到有关 C++ 更高版本代码的警告和错误。如何将默认 linting
我试过: { "settings": { "SublimeLinter": { "pep8_ignore": ["W191"]
我是一名优秀的程序员,十分优秀!