NetBeans + PHP CodeSniffer プラグインのインストール

NetBeans + PHP CodeSniffer プラグインのインストール
あぱーブログ
2014年9月26日  カテゴリー:プログラム PHP  タグ: , ,
Pocket
LINEで送る

NetBeansは無償で使えるIDE(統合開発環境)です。NetBeansはプラグインを追加することにより機能を拡張できるのですが、その一つに、プログラムコードがコーディング規約に則っているかを自動チェックできる、PHP CodeSniffer(PHPコードスニファー)用のプラグインあります。
 

NetBeansに、PHP CodeSnifferプラグインを追加すれば、プログラムを書いているそばからコーディング規約に則っているかを自動チェックし、違反があればすぐに表示してくれます。

インストール先の構成

  • MacOS10.9.5
  • NetBeans8.0.1

インストールの流れは、まずPHP CodeSnifferの本体 phpcsコマンドをインストール、続いてNetBeansにプラグインを追加して、もろもろの設定をします。

PHP CodeSniffer のインストール

PEAR経由のインストールになりますので、まずはPEARをインストールしておきます。

 

続けて、PHP CodeSniffer(phpcs)をインストールします。

PEARの設定

そのまま phpcsコマンドを実行すると、PEARディレクトリにパスが通っていないためエラーが発生します。

 

そこで、PEARディレクトリにパスを通します。

 

エラーなく phpcsコマンドが実行できるようになります。

NetBeans phpcsmdプラグインのインストール

NetBeansがインストールされていない場合は、ダウンロードサイトからインストーラーをダウンロードし、インストールしておきます。2014/9/25時点の最新バージョンは8.0.1でした。

NetBeansの[ツール]メニューから、[プラグイン]→[使用可能なプラグイン]タブを選択します。
netbeans-plugin

 

「phpcsmd」でプラグインを検索し、[インストール]をクリックします。
netbeans-phpcsmd

 

プラグインのインストールが終了すると、NetBeansの再起動を促されますので、
そのまま再起動します。
netbeans-reboot

 

NetBeansメニューから、[Preferences]→[PHP]→[PHPCSMD]タブを選択し、赤枠内を設定します。
netbeans-phpcsmd-setting

「General」はお好みで設定してください。上から4つチェックがおすすめです。

・try threading analysis
規約チェックをバックグラウンドで実行する

・check file on open
ファイルを開いた時に、規約チェックを実行する

・update on save
保存時に規約チェックを実行する

・show notification icon
規約チェック結果を、通知アイコンで表示する

・show annotations in error stripe
右側のストライプ部分にエラーを表示する

・also scan in non PHP projects
PHPプロジェクト以外で、規約チェックを実行する

「PHPCS」:チェックします

「--standard=」:コーディン規約を指定します。[show standards]ボタンをクリックすると、右どなりのプルダウンメニューで選択できます。

「show Warnings」:今回選択したZendのコーディング規約では、1行の長さが80文字を超えると、Warning表示されるため外しておきました。

 

試しに規約違反のコードを書いてみると、違反している行を赤で表示してくれました。
netbeans-phpcsmd-sample

1行目は、変数名がキャメルケースになっていない、3行目は、if と ( の間に半角スペースがないことで、規約違反となっています。

 

PHP CodeSnifferは基本的にはコマンドラインで使うため、ある程度プログラムを書き終えてからチェックを実行し、エラーがあればコードを修正といった流れになります。
NetBeans+PHP CodeSnifferプラグインを使えば、コーディング規約に則っているかをチェックしながらプログラミング作業ができますので、プログラミング作業を終えれば、コーディング規約対応も完了!といったことができるのではないでしょうか

スポンサーリンク
Pocket
LINEで送る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です