Visual Studio CodeでPHPファイルのフォーマッタを使う
公開日 更新日 2017/09/02
突然ですが、最近Visual Studio Codeを使ってPHPアプリの開発に適用しようとしてます。
早速インストールまで済ませましたが、これだけは欲しかったコードのフォーマッタ適用の設定でつまづいたので忘れないうちにメモしておこうと思います。
Visual Studio Codeのインストールは目をつぶっていてもOK
Visual Studio Code公式サイトにて「Download for Windows」ボタンからWindows用のセットアップインストーラをダウンロードして実行するだけです。
Visual Studio Codeはサクサク動くし、操作方法に迷うほど難しいインタフェースでもなさそう出しで、使いこなせそうな気がしてきました。
Gitとの連携機能もあるようですが、Git-Flowには対応してなさそうです。
あくまでソースツリーでの差分箇所を見やすくしてくれる程度の機能と思えばよいと思いました。
PHPファイルもサポート
欲しかった機能のうち、編集時の色分け表示、コマンド入力時にプルダウンウインドウでの補完、の2つは何もしなくても出来ました。
宣言箇所へのジャンプや呼び出し階層の検索といった難しい機能はPHPファイルに対しては実行できないのか、動かないものもあります。
しかしながらPHPファイルの開発環境はこれまでメモ帳系のアプリしか使ってなかったのでだいぶましになりそうな予感がします。
さらに欲を出して、この記事にあるコードのフォーマッタ機能を設定するにいたったのですが、少し悩んだ箇所が1つあり、そこをまとめておこうと思います。
PHPファイルのフォーマッタを拡張機能からインストール
Visual Studio CodeにはPHPファイルのフォーマッタ機能はないのですが、拡張機能よりPHP Formatterを導入すれば出来ることがわかりました。
フォーマッタ機能を使うには、PHP-CS-FixerとPHP Formatterの2つのツールをインストールする必要があり順に進めます。
PHP-CS-Fixerのインストール
PHP Formatterが前提にしているPHP-CS-Fixerを最初にインストールします。
私はComposerによるパッケージ管理をすでに設定済みだったので、今回はComposer経由でPHP-CS-Fixerをインストールしました。
Composer経由だったためか何も問題は起きず完了した模様です。
| 
					 1  | 
						composer global require friendsofphp/php-cs-fixer  | 
					
インストールはComposerのインストールフォルダにダウンロードされます。
私はWindowsでデフォルト設定でインストールしているので、この場合は↓のフォルダに入りました。
| 
					 1 2 3  | 
						%APPDATA%\composer\vendor\bin\php-cs-fixer %APPDATA%\composer\vendor\bin\php-cs-fixer.bat  | 
					
PHP Formatterのインストール
つぎにPHP FormatterのインストールですがVisual Studio Codeの機能で、比較的簡単にインストールできました。
- Visual Studio Codeを起動したら、左側のアイコンバーにある「拡張機能」を示すアイコンをクリック、もしくはキーボードショートカットの「Ctrl + Shift + X」。
 - 検索窓に「PHP Formatter」を入力してヒットしたものをインストール。
※よくわかってないのですが、いわゆる「亜種」もあるかもしれず公式サイトが提供するものかどうかをチェック。 
ファイルがどこに配置されているのかきちんと調べてませんが、とりあえずこのまま先に進めました。
Visual Studio Codeの設定
ここが今回悩んだ箇所になります。
公式サイトにある手順でやってもうまく動作しませんでしたが、こちらのフォーラム記事で無事解決。
一言で言うと、PHP-CS-Fixerのオプション引数の書式が変わったようで設定を1箇所増やす必要がありました。
設定方法は、Visual Studio Codeを起動して、「ファイル」-「基本設定」-「設定」からsettings.jsonを開き、次のように設定を入力します。
テキスト入力で面倒ですが、補完機能が働くので思ったほどしんどくは無かったです。
| 
					 1 2 3 4 5 6  | 
						{     "phpformatter.composer": true,     "phpformatter.arguments": [         "--rules=@PSR2"     ] }  | 
					
追加したのが「–rules=@PSR2」の設定箇所になります。
デフォルトだと「–level=psr2」が設定されてますが書式があってないんですね。
書式の確認方法ですが、コマンドプロンプトを起動し次のようにPHP-CS-Fixerを実行して表示されるマニュアルで確認できます。
| 
					 1  | 
						%APPDATA%\composer\vendor\bin\php-cs-fixer fix  --help | more  | 
					
フォーマッタの適用
PHPファイルの編集画面にて、マウスの右クリックから「Format Document」もしくはキーボードショートカット「Alt + Shift + F」。
うまく設定が出来ていればガサッと変換してくれるかと思います。
レスポンシブ広告
関連記事
-  
            
              - 
      
WindowsへGitとSmartGit/Hgのインストール&セットアップ
SourceTreeは綺麗で使いやすかったのですが、Git-Flow機能がどうし …
 
-  
            
              - 
      
Android Studioをインストール
せっかくタブレットをゲットしたので、勉強も兼ねてAndroidアプリ開発をはじめ …
 
-  
            
              - 
      
スマホやタブレットからパソコンを起動する
我が家のパソコンはリビングから離れた部屋にあるので、ちょっとした作業をするために …
 
-  
            
              - 
      
EclipseのGradleプロジェクトでJMockitを使う設定をする
Javaの開発で使うツールと言えば、EclipseとJUNITは絶対にはずすこと …
 
-  
            
              - 
      
SourceTreeのGit-Flow機能は納得の行かない動作をする
以前、こちらの記事(WindowsへGitとSourceTreeのインストール& …
 
-  
            
              - 
      
ログインページの表示を自分だけ許可することでセキュリティ確保
WordPressのログインページは、他一般的なWEBサービス同様にURLが固定 …
 
-  
            
              - 
      
GitHubへのWEBサイト作成用Markdown原稿をプレビューする環境をセットアップ
ソースリポジトリ管理サービスで一番有名であるGitHubにアカウントを取得後、G …
 
-  
            
              - 
      
PowerShellスクリプトを動かすための設定
PowerShellは最近のWindowsで追加されたスクリプト言語で、今のWi …
 
-  
            
              - 
      
WindowsへGitとSourceTreeのインストール&セットアップ
STINGERテンプレートへの独自の修正が多くなってしまったので、変更箇所の目的 …
 
- PREV
 - LEDの繋ぎ方がわかるシンプルな回路図を整理
 - NEXT
 - 「子ども見守りサービス」をDIYで自作する
 
