sublime Text2下安装php code sniffer插件

时间:2023-11-28 14:25:02

为了跟团队保持开发规范的一致性,需要安装sublime Text2的php code sniffer插件,之前是用的phpfmt插件,发现两个规范还是有点不一样,需要再安装php code sniffer.

参考网址: http://blog.chinaunix.net/uid-26374858-id-5039120.html

http://fengzheng369.blog.163.com/blog/static/7522097920155342169

https://github.com/squizlabs/sublime-PHP_CodeSniffer

安装步骤:

1) 下载php code sniffer (https://github.com/squizlabs/PHP_CodeSniffer)

我用了下面的步骤安装:

cd /usr/local
git clone git://github.com/squizlabs/PHP_CodeSniffer.git
cd PHP_CodeSniffer
php scripts/phpcs -h
php scripts/phpcbf -h

2)

brew install phpmd
sudo curl http://get.sensiolabs.org/php-cs-fixer.phar -o /usr/local/bin/php-cs-fixer
sudo chmod a+x /usr/local/bin/php-cs-fixer

3) 安装sublime phpcs插件

安装方法(Ctrl+Shift+P->pi(package install)->phpcs,安装成功后右键即可看到PHP Code Sniffer选项).刚刚安装好的插件,sniff this file 显示的是灰色的,修改下配置文件(这是 Sublime 2的配置)

preferences->package settings->php code sniffer->setting-default

{
// Plugin settings // Turn the debug output on/off
"show_debug": false, // Which file types (file extensions), do you want the plugin to
// execute for
"extensions_to_execute": ["php"], // Do we need to blacklist any sub extensions from extensions_to_execute
// An example would be ["twig.php"]
"extensions_to_blacklist": [], // Execute the sniffer on file save
"phpcs_execute_on_save": true, // Show the error list after save.
"phpcs_show_errors_on_save": true, // Show the errors in the gutter
"phpcs_show_gutter_marks": true, // Show outline for errors
"phpcs_outline_for_errors": true, // Show the errors in the status bar
"phpcs_show_errors_in_status": true, // Show the errors in the quick panel so you can then goto line
"phpcs_show_quick_panel": true, // The path to the php executable.
// Needed for windows, or anyone who doesn't/can't make phars
// executable. Avoid setting this if at all possible
"phpcs_php_prefix_path": "", // Options include:
// - Sniffer
// - Fixer
// - Mess Detector
//
// This will prepend the application with the path to php
// Needed for windows, or anyone who doesn't/can't make phars
// executable. Avoid setting this if at all possible
"phpcs_commands_to_php_prefix": [], // What color to stylise the icon
// https://www.sublimetext.com/docs/3/api_reference.html#sublime.View
// add_regsions
"phpcs_icon_scope_color": "comment", // PHP_CodeSniffer settings // Do you want to run the phpcs checker?
"phpcs_sniffer_run": true, // Execute the sniffer on file save
"phpcs_command_on_save": true, // It seems python/sublime cannot always find the phpcs application
// If empty, then use PATH version of phpcs, else use the set value
"phpcs_executable_path": "/usr/local/PHP_CodeSniffer/scripts/phpcs", // Additional arguments you can specify into the application
//
// Example:
// {
// "--standard": "PEAR",
// "-n"
// }
"phpcs_additional_args": {
"--standard": "PSR2",
"-n": ""
}, // PHP-CS-Fixer settings // Fix the issues on save
"php_cs_fixer_on_save": false, // Show the quick panel
"php_cs_fixer_show_quick_panel": false, // Path to where you have the php-cs-fixer installed
"php_cs_fixer_executable_path": "/usr/local/bin/php-cs-fixer", // Additional arguments you can specify into the application
"php_cs_fixer_additional_args": { }, // phpcbf settings // Fix the issues on save
"phpcbf_on_save": true, // Show the quick panel
"phpcbf_show_quick_panel": false, // Path to where you have the phpcbf installed
"phpcbf_executable_path": "/usr/local/PHP_CodeSniffer/scripts/phpcbf", // Additional arguments you can specify into the application
//
// Example:
// {
// "--level": "all"
// }
"phpcbf_additional_args": {
"--standard": "PSR2",
"-n": ""
}, // PHP Linter settings // Are we going to run php -l over the file?
"phpcs_linter_run": true, // Execute the linter on file save
"phpcs_linter_command_on_save": true, // It seems python/sublime cannot always find the php application
// If empty, then use PATH version of php, else use the set value
"phpcs_php_path": "/usr/local/PHP_CodeSniffer/scripts/phpcs", // What is the regex for the linter? Has to provide a named match for 'message' and 'line'
"phpcs_linter_regex": "(?P<message>.*) on line (?P<line>\\d+)", // PHP Mess Detector settings // Execute phpmd
"phpmd_run": false, // Execute the phpmd on file save
"phpmd_command_on_save": true, // It seems python/sublime cannot always find the phpmd application
// If empty, then use PATH version of phpmd, else use the set value
"phpmd_executable_path": "", // Additional arguments you can specify into the application
//
// Example:
// {
// "codesize,unusedcode"
// }
"phpmd_additional_args": {
"codesize,unusedcode,naming": ""
}, // PHP Scheck settings // Execute scheck
"scheck_run": false, // Execute the scheck on file save
"scheck_command_on_save": false, // It seems python/sublime cannot always find the scheck application
// If empty, then use PATH version of scheck, else use the set value
"scheck_executable_path": "", // Additional arguments you can specify into the application
//
//Example:
//{
// "-php_stdlib" : "/path/to/pfff",
// "-strict" : ""
//}
"scheck_additional_args": {
"-strict" : ""
}
}
  • ALT + S: Runs PHPCS command for the open buffer.
  • ALT + SHIFT + S: Runs PHPCBF command for the open buffer.