Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

概要

こちらの記事の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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした