ゆず日記

戦う Vimmer 兼 Dvorakユーザ 兼 Kinesisユーザ 兼 おぺらー が戦わないブログ

Vim の Syntastic で PSR-2 コーディング規約でチェックするお話。

Vim で PHP 書く時に PSR-2 コーディング規約に則ったチェックを行う方法。 Syntastic はインストール済み前提。

PHP_CodeSniffer をインストール

pear で PHP_CodeSniffer をインストールする

% pear install PHP_CodeSniffer # インストールコマンド

% phpcs --version # バージョンチェック
PHP_CodeSniffer version 1.5.4 (stable) by Squiz (http://www.squiz.net)

% phpcs -i # 利用可能なコーディング規約を出力 
The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz and Zend

Syntastic の設定

" for syntastic  -----------------------
let g:syntastic_mode_map = {
  \ 'mode': 'active',
  \ 'active_filetypes': ['php']
  \}
let g:syntastic_auto_loc_list = 1
let g:syntastic_php_checkers = ['phpcs']
let g:syntastic_php_phpcs_args='--standard=psr2’

php の checker はデフォルトで [‘php’, ‘phpcs’, ‘phpmd’] の計3つ。 上の .vimrc の場合は syntastic_php_checkers = [‘phpcs’] しか指定していないので PHP_CodeSniffer のみのチェックになる。

元々 phpcs コマンドは --standard=psr2 オプションでコーディング規約を指定可能。 Syntastic 実行時にこのオプションを渡す為に .vimrc 内の syntastic_php_phpcs_args をセットしている。

以上で終わり。

これで PSR-2 コーディング規約のチェックが可能になります。