2013年1月20日日曜日

Sublime Text 2にPHPのCodeSnifferを追加。

PHPをPSR規約に準拠して書こうと思い立ったのでいくつかの規約を自分で選んで準拠チェックが出来るCodeSnifferを追加した。
このプラグインは他にもいくつか機能があり、自分はPSR準拠にフォーマットしてくれる機能も設定している。
プラグインはsublime-phpcs
プラグインの詳細はこちら

プラグインのインストールはいつも通りPackage Controlなので割愛。

このプラグインはPearのPHP_CodeSnifferライブラリが必要なので下記のコマンドで導入。

pear channel-update pear.php.net
pear clear-cache
pear install PHP_CodeSniffer
※1行目と2行目は念のため。

ついでにPSR準拠のソースに自動で変換してくれるPHP Coding Standards Fixerも使う。
これはsublime-phpcsのオプションとして対応している。
使用するためにはPHP Coding Standards Fixer本体ファイルが必要なので下記から導入。
PHP Coding Standards Fixer
これを適当な場所に置く。
自分はsublime Text 2の\Data\Packages\User\配下に設置。

追記(2013-08-03 17:44): どうやら以前書いたものは使えなくなったみたい。
どこかのアップデート時にsettingが変わったようで、新しいものにしないと動かなくなったので気づいた。
現在はExampleとして
Data\Packages\Phpcs\example-settings
にファイルが入っているのでそれを使った方が無難。

ユーザー設定は下記。参考程度にどうぞ。
設定するうえで必須なのはphp_cs_fixer_executable_path。
このパスはコマンドラインへそのまま渡すので"php "から書かないと動かないので要注意。
{
    // Execute the sniffer on file save
    "phpcs_execute_on_save": false,

    // PHP_CodeSniffer settings

    // Additional arguments you can specify into the application
    //
    // Example:
    // {
    //     "--standard": "PEAR",
    //     "-n"
    // }
    "phpcs_additional_args": {
        "--standard": "PSR2",
        "-n": ""
    },


    // Show the errors in the quick panel so you can then goto line
    "phpcs_show_quick_panel": false,

    // 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": true,

    // Path to where you have the php-cs-fixer installed
    "php_cs_fixer_executable_path": "php \"Sublime Text 2インストールパス\\Data\\Packages\\User\\php-cs-fixer.phar\"",

    // Additional arguments you can specify into the application
    //
    // Example:
    // {
    //     "--level": "all"
    // }
    "php_cs_fixer_additional_args": {
        "--level": "psr2"
    },


    // PHP Linter settings

    // Are we going to run php -l over the file?
    "phpcs_linter_run": false

}