VS Code で phpcs と phpcbf を使ってWordPressのコーディングスタンダードで自動整形する

前提事項・概要

  • phpcs : コーディング規約に沿っていない場合にエラーを表示する
  • phpcbf : コーディング規約を利用して自動整形など修正を行う
  • VSCode にプラグインはあるが、あくまで「プラグイン」であって実行する phpcs/phpcbf は composer でインストールする必要がある(そもそもComposer が入っていない場合は brew install composer
  • phpcs/phpcbf ともにどのコーディング規約を適用するのか別途 コーディング規約をインストールする必要がある
  • phpcs/phpcbf ともにどのコーディング規約を適用するのか、コーディング規約のパスを指定する必要がある

phpcs と phpcbf をインストール

CodeSnifferをインストール

composer global require "squizlabs/php_codesniffer=*"

基本的には以下の場所に phpcs と phpcbf が入るはず

/Users/{ユーザー名}/.composer/vendor/squizlabs/php_codesniffer/bin/phpcs
/Users/{ユーザー名}/.composer/vendor/squizlabs/php_codesniffer/bin/phpcbf

インストールできているかコマンドで確認したい場合

/Users/{ユーザー名}/.composer/vendor/bin/phpcs --version

成功していれば以下のような表示

PHP_CodeSniffer version 3.6.1 (stable) by Squiz (http://www.squiz.net)

phpcs --version など出来るようにパスを登録

echo 'export PATH=$HOME/.composer/vendor/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile

インストール状況を確認

phpcs -i

WordPressのコーディング規約をインストール

CodeSnifferで使うWordPressコード規約をインストール

composer global require wp-coding-standards/wpcs

↑で入れたWordPressのコード規約をセット

phpcs --config-set default_standard WordPress

インストール状況確認

phpcs -i

こんな感じでWordPress関連を含むはず

The installed coding standards are PEAR, Zend, PSR2, MySource, Squiz, PSR1, PSR12, WordPress, WordPress-Extra, WordPress-Docs and WordPress-Core

コマンドで動作チェック

phpcs {チェック対象のファイル}

コマンドで自動整形

phpcbf {チェック対象のファイル}

VSCodeの機能拡張 phpcsをインストール

Ioannis Kappas の方をインストール

VCodeの機能拡張 phpcbf をインストール

Per Soderlind の方をインストール

設定

VScodeの共通のsetting.jsonに以下追加

※ 保存して走らなかったら VSCodeのウィンドウを閉じて開き直す

	"editor.detectIndentation": false, // インデントの初期指定を解除
	"editor.insertSpaces": false, // スペースのインデント挿入をしないように
	"editor.tabSize": 4,
	"files.eol": "\n", // 改行コードを\n指定
	"phpcs.executablePath": "/Users/kurudrive/.composer/vendor/squizlabs/php_codesniffer/bin/phpcs",
	"phpcbf.executablePath": "/Users/kurudrive/.composer/vendor/squizlabs/php_codesniffer/bin/phpcbf",
	"phpcs.standard": "WordPress",
	"phpcbf.standard": "WordPress",
	"phpcbf.onsave": true,

うまく走らない場合

MacのPHPのバージョンが合っていないかもしれない。PHPのバージョンは以下で切り替えられる

php -v で 8系になっていたら 7.4に戻してみる。

brew unlink php@8.1
brew link php@7.4

参考

VSCode + phpcs + phpcbf でワードプレスコーディングルールを楽々自動適用 | だえうワードプレス

今回は VSCode で phpcs と phpcbf を利用して、ソースコードにワードプレスのコーディングルールを自動的に適用する方法について解説します。 コーディングルール ...

投稿者プロフィール

kurudrive
名古屋のウェブ制作会社数社に10年程度務めた後、株式会社ベクトル設立。
企画・運営・コンサルティング〜WordPressを中心としたシステム開発まで幅広く携わる。
[ 著書 ]
・いちばんやさしいWordPressの教本(共著)
・現場でかならず使われているWordPressデザインのメソッド(共著)
[ 最近のWordPressコミュニティでの活動 ]
2018 WordCampOsaka セッションスピーカー
2017 WordCampKyoto セッションスピーカー
2016 WordCampTokyo LT
2016 WordCampKansai ハンズオン世話役
2015 WordCampTokyo セッションスピーカー
2015 WordCampKansai セッションスピーカー
2014 WordFesNagoya 実行委員 & セッションスピーカー
2013 WordCampTokyo セッションスピーカー(パネラー)
2013 WordFesNagoya 実行委員 & セッションスピーカー
2013 WordCrabFukui セッションスピーカー

Follow me!

シンプルでカスタマイズしやすいWordPressテーマ

Lightningは twitter Bootstrap ベースのシンプルでカスタマイズしやすいWordPressテーマです。
プラグイン VK All in One Expansion Unit とセットで使う事でビジネスサイトにもブログにも活用できます。