Phpcs
🔍 PHP CodeSniffer, PHP Coding Standard Fixer, Linter 和 Mess Detector 对 Sublime Text 的支持
详细信息
安装
- 总 427K
- Win 265K
- Mac 80K
- Linux 81K
8月7日 | 8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README
sublime-phpcs
这是 Sublime Text 的一个插件,使用以下工具(全部是可选的)提供检查风格报告:
- PHP_CodeSniffer (
phpcs
) - Linter (
php -l
) - PHP Mess Detector (
phpmd
)
您也可以配置插件使用以下任一工具修复问题:
- PHP Coding Standards Fixer (php-cs-fixer)
- PHP Code Beautifier (phpcbf) 应用程序
需求
此插件的需求,如果您想所有选项都工作
- PHP_CodeSniffer 3.5+
- PHPMD 2.8+
- PHP CS Fixer 2.6+
此插件已在以下操作系统上进行了测试:
- Mac OS X 10.8.2
- Ubuntu 11.10
- Windows 7
- Sublime Text 2
- Sublime Text 3
- Sublime Text 4
可能与其他版本兼容,但我们无法确认。
安装
使用 Sublime Text 的包控制(工具 -> 命令面板 -> 包控制:安装包 -> Phpcs)安装此插件。这是推荐的安装路径。
或者
只需将 git 仓库检出到“~/Library/Application Support/Sublime Text/Packages/”,或在 Windows 或 Linux 上相应的文件夹中。
cd ~/Library/Application\ Support/Sublime\ Text/Packages/
git clone git://github.com/benmatselby/sublime-phpcs.git Phpcs
在两种情况下,您可能需要使用实际应用程序路径配置以下参数
- “phpcs_php_path”
- “phpcs_executable_path”
- “phpmd_executable_path”
- “php_cs_fixer_executable_path”
它们对于插件是可选的。路径需要包含应用程序,例如 /usr/local/bin/phpcs
。
为了获取应用程序路径(在基于 Mac/Linux 的环境中),您可以使用
which phpcs
which phpmd
which php-cs-fixer
which phpcbf
功能
- 运行 PHP_CodeSniffer 的能力
- 在打开的文件上运行 php -l 的能力
- 在打开的文件上运行 PHP Mess Detector 的能力
- 在打开的文件中显示PHP_CodeSniffer缓存的搜索结果
- 在快速面板中显示错误
- 在侧边栏中显示错误
- 在编辑器中突出显示错误
- 在状态栏中显示给定行的错误
- 指定代码检查器错误的高级表达式
- 指定PHP_CodeSniffer应用的存放位置
- 指定PHP Mess Detector应用的存放位置
- 指定PHP编码标准修复工具的位置,此工具可以修复大多数编码标准问题,以便遵循PSR-1和PSR-2文档中定义的PHP编码标准
- 指定PHP代码美化工具的位置,此工具可以修复大多数编码标准问题,以便遵循PHP编码标准
在文件上右键单击并选择“PHP CodeSniffer”>“检查此文件…”后,您将获得以下输出(具体取决于您定义的设置)
配置
您还可以定义以下设置的项目配置,无论是项目设置、用户设置还是默认设置
插件
show_debug
– 您是否希望将调试信息发送到控制台?extensions_to_execute
– 插件应针对哪种文件类型执行?extensions_to_blacklist
– 如果您有一个子扩展,如twig.php等,则覆盖extensions_to_executephpcs_execute_on_save
– 您是否希望当保存PHP文件时运行代码检查器插件?phpcs_show_errors_on_save
– 您是否希望在保存时在快速面板中显示错误?phpcs_show_gutter_marks
– 您是否希望在侧边栏中显示错误?phpcs_outline_for_errors
– 您是否希望在编辑器中突出显示错误?phpcs_show_errors_in_status
– 您是否希望在单击带有错误的行时在状态栏中显示错误?phpcs_show_quick_panel
– 您是否希望在快速面板中显示错误?phpcs_php_prefix_path
– 在Windows上用于基于phar的应用程序。如果无法将phar设置为可执行程序,请尽可能避免使用phpcs_commands_to_php_prefix
– 您希望将php路径作为前缀的命令列表。如果您有一些命令作为phar运行时需要php前缀,而其他命令使用原生命令,则这可能很有用。phpcs_icon_scope_color
- 设计图标的颜色。这需要对Sublime Text的主题知识,因为它使用主题中的颜色范围来“调整”点状图标。请参阅此处
PHP_CodeSniffer
phpcs_sniffer_run
– 您是否想要运行PHPCS检查器?phpcs_command_on_save
– 您是否希望在保存时执行命令?phpcs_executable_path
– phpcs可执行文件的路径。如果为空字符串,则使用PATH搜索它phpcs_additional_args
– 这是您想要传递给phpcs命令的额外信息。例如,您要运行的“标准”以及是否显示警告
PHP代码检查修复器
php_cs_fixer_on_save
– 您是否希望在文件保存时运行修复器?php_cs_fixer_show_quick_panel
– 您是否希望在执行时显示快速面板?php_cs_fixer_executable_path
– php-cs-fixer应用程序的路径php_cs_fixer_additional_args
– 这是您想要传递给php-cs-fixer命令的额外信息。例如,您要运行的“修复器”
PHP代码美化工具
phpcbf_on_save
– 您是否希望在文件保存时运行修复器?phpcbf_show_quick_panel
– 您是否希望在执行时显示快速面板?phpcbf_executable_path
– phpcbf应用的路径phpcbf_additional_args
– 这是您想要传递给phpcbf命令的额外信息。例如,修复问题时使用的“标准”
PHP编码检查器
phpcs_linter_run
– 您是否希望运行PHP编码检查器?phpcs_linter_command_on_save
– 您是否希望在保存时执行命令?phpcs_php_path
– PHP可执行文件的路径。如果为空字符串,则使用PATH来查找phpcs_linter_regex
– PHP代码检查程序输出的正则表达式
PHP Mess Detector
phpmd_run
– 您想要运行PHPMD吗?默认关闭phpmd_command_on_save
– 是否希望在保存时执行命令?phpmd_executable_path
– phpmd可执行文件的路径。如果为空字符串,则使用PATH来查找phpmd_additional_args
– 这是您想传递给phpmd命令的额外信息。例如,您想要运行的“规则集”
基于项目的设置
您的 .project 文件可能看起来像这样
{
"folders": [{}],
"settings": {
"phpcs": {
"phpcs_additional_args": {
"--standard": "/path/to/.composer/vendor/drupal/coder/coder_sniffer/Drupal"
}
}
}
}
当然,这是一个示例,用于应用Drupal代码检查。这可以是任何东西。您可以在包设置中拥有的任何内容都可以在设置 -> phpcs 下覆盖
常见问题解答
当我遇到“OSError: [Errno 8] Exec format error”时,我该怎么做?
- 这可能是您可能会遇到与包装脚本相关的问题。
- 请确保您引用的应用程序/脚本具有正确的shebang行,具体请参阅 GH-79
当我遇到“OSError: [Error 2] No such file or directory”时,我该怎么做?
- 首先,您需要检查您是否已安装PHP_CodeSniffer,以及是否正在使用phpmd应用程序。
- 如果您已安装这些应用程序,那么看起来这些应用程序不在您的PATH中,或者Python运行时无法在PATH中找到它们,因此使用实际的应用程序路径配置“phpcs_php_path”,“phpcs_executable_path”,“phpmd_executable_path”和“php_cs_fixer_executable_path”
当我遇到“OSError: [Errno 13] Permission denied”时,我该怎么做?
- 这听起来像是您的路径设置不正确。
- 您需要确保指定路径时包含完整的路径,包括应用程序
$ which phpcs
/usr/local/bin/phpcs
- 以上输出即为您的配置中所需的路径
如果我使用Homebrew安装了应用程序呢?
如果您通过homebrew安装了php-cs-fixer,phpmd或phpcs,请务必确保您定义的“_executable_path”选项是.phar应用程序,而不是放置在您的bin文件夹中的包装脚本,因为这将导致异常行为。
我可以设置哪些其他键盘快捷键?
以下是可以绑定到键盘快捷键的命令列表
- phpcs_fix_this_file
- phpcs_clear_sniffer_marks
- phpcs_goto_next_error
- phpcs_show_previous_errors
- phpcs_sniff_this_file
为了实现这一点,您需要将以下内容添加到您的一个键盘快捷键设置文件中
{ "keys": ["ctrl+super+t"], "command": "phpcs_clear_sniffer_marks" }
要决定使用哪个“修复程序”,您可以这样做
{ "keys": ["super+k", "super+f"], "command": "phpcs_fix_this_file", "args": {"tool": "CodeBeautifier"}},
或
{ "keys": ["super+k", "super+f"], "command": "phpcs_fix_this_file", "args": {"tool": "Fixer"}},
然后,您可以将ctrl+super+t组合更改为您想要的任何组合。