VS CodeでPHPの開発をするのに導入した拡張機能

アドベントカレンダー5日目になりました。（All About的には3日目ですが)
Qiita初投稿の@cflat0528です。

私は入社してからPHPの開発をVisual Studio Codeを利用して行っているのですが、入社してから現在まで利用して、便利だと感じたVS Codeの拡張機能について書きたいと思います。

# [1. PHP Intelephense](https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client)
PHPのコード補完、参照の検索や定義への移動などいろいろな機能を提供してくれます。
類似の拡張機能に[PHP IntelliSense](https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-intellisense)が存在します。
導入を検討していた時に、useを利用したときの補完がこちらのほうがいい、といったことが書かれており、実際比較してみてよさそうだったのでこちらを利用しています。
![phpintelephense.gif](https://qiita-image-store.s3.amazonaws.com/0/311027/2090e6bc-8ae7-166c-dac4-84d4ec3c4ee2.gif)


# [2. php cs fixer](https://marketplace.visualstudio.com/items?itemName=fterrag.vscode-php-cs-fixer)
エディタでのファイルの保存時などにphp-cs-fixerを使ってPHPのファイルのフォーマットを行ってくれます。
.php_csや.php_cs.distにルールを定義しておけばそれにそって整形をしてくれるため、プロジェクト内で共有しておくといいと思います。
PHP-CS-Fixer自体の利用方法は[GitHubのページ](https://github.com/FriendsOfPHP/PHP-CS-Fixer#config-file)を参照。

![phpcsfixer.gif](https://qiita-image-store.s3.amazonaws.com/0/311027/4a3f4404-0a3a-d221-8922-8b255bba692d.gif)


# [3. phpcs](https://marketplace.visualstudio.com/items?itemName=ikappas.phpcs)
PHP Code Snifferを用いて、ソースコード内のルールに沿わない箇所に警告を表示してくれます。
基本は上記のphp cs fixerで自動整形されますが、PSR-2の文字数のソフトリミット120文字などは整形できなかったためこちらを導入しています。
<img width="439" alt="スクリーンショット 2018-12-04 23.49.14.png" src="https://qiita-image-store.s3.amazonaws.com/0/311027/a7979507-360d-19b3-751e-1bbaf1a787dd.png">


# [4. PHP DocBlocker](https://marketplace.visualstudio.com/items?itemName=neilbrayfield.php-docblocker)
以下のようにDocコメントの入力を補完してくれます。
タイプヒントをつけておくとそれに応じて`@param`や`@return`も追加してくれるので便利です。
また、User.settingsに`php-docblocker.author`の設定をしておくと`@author`を書いた際に自身の名前とメールアドレスを自動補完もしてくれます。
![phpdoc.gif](https://qiita-image-store.s3.amazonaws.com/0/311027/09ea76ab-2830-d648-cd4c-88d54083ec46.gif)



# [5. Bracket Pair Colorizer](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer)
対応する括弧に同じ色をつけてくれる拡張機能です。
設定をすれば現在のカーソルがある箇所の括弧の強調表示もしてくれます。
下記画像では括弧の強調表示のためにUser Settingsに`bracketPairColorizer.activeScopeCSS`などの設定を行っております。各設定の詳細は[MarketPlace](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer)を参照。

<img width="170" alt="スクリーンショット 2018-12-03 23.32.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/311027/0b7b3b62-1357-ce97-4954-018114650e07.png">

# [6. Dot ENV](https://marketplace.visualstudio.com/items?itemName=mikestead.dotenv)
Laravelで利用している.envファイルにシンタックスハイライトをつけてくれます。
All AboutではフレームワークとしてLaravelを利用しているため導入しました。
<img width="216" alt="スクリーンショット 2018-12-03 22.05.09.png" src="https://qiita-image-store.s3.amazonaws.com/0/311027/d0739552-bd29-438e-586e-8f3683ac2f4d.png">


# [7. Material Icon Theme](https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme)
下記画像のように初期アイコンよりアイコンが綺麗になります。
Visual Codeのアイコンは[vscode-icons](https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-icons)とかSetiとかいろいろあるのでお好みで。

![スクリーンショット 2018-12-02 22.07.21.png](https://qiita-image-store.s3.amazonaws.com/0/311027/e9c32310-13a7-343a-b683-94d38fb05af9.png)

# [8. Vim](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim)
操作に慣れていれば導入するだけで幸せになれます。
正直なところWindowsでVS code利用時にこの拡張機能を導入するともともとのショートカットキーとvimの操作が衝突して少し辛いような気がします。


# おわりに
使用歴が浅いので今回書きませんでしたが、[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)とかもコミットの比較を行ったりコミット履歴を見たりするのにはおすすめですし、[PHP Debug](https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug)もXdebugの導入が少々面倒ですが、デバッグ作業が格段に楽になると思います。
今回便利だと感じたものを上げたらよく利用されているものばかりになりましたが、拡張機能も紹介記事も山程あるので色々試してみるのも面白いと思います。