ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

Phpcs

作者: benmatselby 所有 需要审查 top 100

🔍 PHP CodeSniffer, PHP Coding Standard Fixer, Linter 和 Mess Detector 对 Sublime Text 的支持

详细信息

  • 7.0.0
  • github.com
  • github.com
  • 10个月前
  • 54分钟前
  • 12年前

安装

  • 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

源代码
raw.githubusercontent.com

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) 应用程序

需求

此插件的需求,如果您想所有选项都工作

此插件已在以下操作系统上进行了测试:

  • 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_execute
  • phpcs_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组合更改为您想要的任何组合。