LoginSignup
8
2

More than 5 years have passed since last update.

ale.vimを通して、PSR-2での静的解析を行う

Last updated at Posted at 2018-01-10

概要

こちらの記事のale版です。
https://qiita.com/hidelafoglia/items/7f42b83788acab9a60ba

aleというvimの非同期lintプラグイン上で、
PHP_CodeSnifferというPHPのコード静的解析チェッカーを通す。
そのときのコーディング規約を「PSR-2」とします。

前提条件

下記インストール済み

  • vim
  • ale.vim
  • PHP_CodeSniffer

設定

説明

通常状態だと、aleから、phpcs(PHP_CodeSnifferを呼び出すコマンド)を呼び出してくれないことがあるので、.vimrcでパスを指定。
また、phpcsは複数のコーディング規約でチェックすることが出来るため、どの規約でチェックさせるのかを.vimrcで設定しなければならない。

phpcs確認

zsh
まず、phpcsがどこにあるか確認して下さい。
pearで入れているとこんな感じになります。

$ which phpcs
/Users/ユーザ名/pear/bin/phpcs

次に、現在インストール済みのphpcsが使えるコーディング規約を確認して下さい。

$ phpcs -i
The installed coding standards are MySource, PEAR, PSR1, PSR2, Squiz and Zend

PSR2がなければ、アップデートお願いします。

.vimrc設定

.vimrc
" 今回はglobal設定を想定します。
" phpで使うチェッカーの種類を指定
" デフォルト設定だと、phpcs以外のチェッカーも動いてしまいます。
let g:ale_linters                  = {
\    'php': ['phpcs'],
\}
" phpcsコマンドの設定
" どこからphpcsを実行するのか。
" which phpcsの結果を入れます。
let g:ale_php_phpcs_executable = '/Users/ユーザ名/pear/bin/phpcs'
" コーディング規約の指定 
" phpcs -i で返ってきた値を使えます。
let g:ale_php_phpcs_standard = 'PSR2'
" グローバルで設定する
let g:ale_php_phpcs_use_global = 1

動作確認

PSR2

スクリーンショット 2018-01-10 16.04.00.png

PSR2.Classesから呼び出されている!

PEAR

.vimrc
let g:ale_php_phpcs_standard = 'PEAR'

に切り替えて、PEARになるのか動作確認

スクリーンショット 2018-01-10 16.06.40.png

PEAR.Classesから呼び出されている!

参考

ale/doc/ale-php.txt
https://github.com/w0rp/ale/blob/7086586b1776d2b5f3bf87a7f0c25595a5d7e1b0/doc/ale-php.txt

8
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2