Windows10のVS CodeでPHPのコードフォーマット(PSR-2)を自動で行う方法。細かく丁寧に説明。

OS PHP VS Code Windows ツール プログラミング

VS CodeでPHPのコードフォーマットを自動的に行うには、「PHP-CS-Fixer」というエクステンションを使います。

SPR-2に準拠したコードフォーマットが可能になります。

Windows10で使えるようにする方法について書きますが、基本的な流れはどのOSでも同じかと思います。

VS CodeでPHP-CS-Fixerを使えるようにするまでの流れ

PHP-CS-FixerはVS Codeのエクステンションをインストールしただけでは動かないので注意が必要です。

以下の手順でインストールと設定が必要です。

  1. PHP-CS-FixerのVS Codeエクステンションをインストールする
  2. VS Codeを動かしているOS上(今回はWindows)にPHPをインストールする
  3. PHP-CS-Fixer本体をインストールする
  4. PHP-CS-Fixerエクステンションの設定をしてVS Codeで動くようにする

それでは手順を説明します。

VS CodeでPHP-CS-Fixerを使えるようにする

PHP-CS-FixerのVS Codeエクステンションをインストールする

左側メニューのエクステンションのアイコンを選び、「PHP-CS-Fixer」を検索してインストールボタンを押します。

「php cs fixer」とか「PHP CS Fixer」とか似たものがありますが、ここでは「PHP-CS-Fixer」を選んでいるのでご注意ください。

インストール後、VS Codeを再起動するとエクステンションが有効になります。

エクステンションの説明ページには以下のように「ファイルを保存するだけでフォーマットされる」と書かれています。

Just by saving your file PHP-CS-Fixer takes care of the code formatting for you.

ファイルを保存するだけで、PHP-CS-Fixerがコードの書式設定を処理します。

ですがエクステンションをインストールしただけだとエラーになります。

PHP-CS-Fixer: An error occurred.

PHP-CS-Fixerを動かすにはVS Codeを使っているPCにPHPをインストールし、php-cs-fixer.pharにパスを通しておく必要があります。

VS Codeを動かしているOS上(Windows)にPHPをインストールする

php-cs-fixerを動かすためにphpが必要です。すでにインストール済の場合、以下はスキップしても大丈夫です。

Windowsの場合は以下からphpをダウンロードします。

PHP:ダウンロード

スレッドセーフ版(VC15 x64 Thread Safe)のzipをダウンロード。

ダウンロードしたzipを解凍して、cドライブ直下に「php」というフォルダー名でコピーします。

「php.ini-production」をコピーして「php.ini」を作っておきます。

あとはC:\phpをパスに追加してphpコマンドが使えるようにしておきます。

システム環境変数の編集画面を開き…

Pathを編集します。

「新規」ボタンを押して、「C:\php」を追加しOKボタンを押して設定を完了します。

PowerShell等でphpコマンドが使える事を確認できればOKです。

> php -v
PHP 7.4.3 (cli) (built: Feb 18 2020 17:29:46) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

PHP-CS-Fixer本体をインストールする

GitHubのページから「php-cs-fixer.phar」をダウンロードし、C:\Users\ユーザー名\.vscode\php-cs-fixer.pharなど任意の場所に配置します。

FriendsOfPHP/PHP-CS-Fixer: A tool to automatically fix PHP Coding Standards issues

PHP-CS-Fixerエクステンションの設定をしてVS Codeで動くようにする

ダウンロードしたphp-cs-fixer.pharをVS Codeで実行できるようにバッチファイルを作ってC:\Users\ユーザー名\.vscode\php-cs-fixer.batとして保存しておきます。

@echo off
php C:\Users\yuuki\.vscode\php-cs-fixer.phar %*

次にVS Codeの設定をします。

VS CodeでCtrl+,とショートカット入力して設定を開き、「PHP-CS」で検索してPHP-CS-Fixerの設定項目を見つけます。

PHP-cs-fixer: Executableの項目を見つけたら先ほど作ったバッチファイルのパス「C:\Users\ユーザー名\.vscode\php-cs-fixer.bat」を入力します。

設定が完了したらVS Codeを再起動またらリロードします。

リロードは「Ctrl+p」→「>Reload window」で出来ます。

これでファイルを保存するとPSR-2形式でフォーマットされるようになると思います。

少し面倒ですが、がんばってください。

WindowsのVS CodeでPHPのコードフォーマットをする方法は以上です。

コメント/ピンバック

タイトルとURLをコピーしました