WordPressのテーマを制作しているときなどはHTMLの中に直接PHPのコードを書いていきますが、PrettierではPHPのファイルのフォーマットができません。
まぁそもそもフォーマッターを使う人がそこまで多くないかもしれませんが、HTMLの中に書かれたPHPもフォーマットしたいときにはかなり役に立つはずです。
大前提として、VSCodeでコーディングしていて、さらに拡張機能のPrettierを使ってフォーマットしたい方に向けた記事です。
CONTENTS
フォーマッターとは?
そもそもフォーマッターとは、書いたコードの見栄えを整えてくれるものです。
コーディングは人によってクセというものが出るものなので、Aさんが書いたものは見やすいけどBさんが書いたものは見にくい…なんてことが起こってしまいます。
そういった、コーディングする人の差異を無くしてみましょう!というのがフォーマッターの役割ですね。
例えば適当に書いたコードはこんな感じ。
<main class="post">
<div class="eyecatch">
<?php the_post_thumbnail('full'); ?>
<div class="eyecatch-plus"><button></button></div>
</div>
<div class="article">
<div class="title-container">
<div class="title"><?php the_title( ); ?></div>
<div class="cat">
<?php $categories = get_the_category(); if ( $categories ) { echo $categories[0]->name;} ?> WORKS
</div>
</div>
<?php the_content(); ?>
</div>
</main>
これをフォーマットするとこんな感じになります。
<main class="post">
<div class="eyecatch">
<?php the_post_thumbnail('full'); ?>
<div class="eyecatch-plus"><button></button></div>
</div>
<div class="article">
<div class="title-container">
<div class="title"><?php the_title(); ?></div>
<div class="cat">
<?php $categories = get_the_category();
if ($categories) {
echo $categories[0]->name;
} ?> WORKS
</div>
</div>
<?php the_content(); ?>
</div>
</main>
おぉー!これは美しい!
…となるわけですね。
コードが見やすくなるので、コーディングのミスにも役立ちそうな気がします。
まぁ気のせいかもしれませんけど。
VSCodeにフォーマッターをインストールする
では早速やっていきましょうー!
フォーマッターで有名なのはPrettierです。PrettierはHTMLとかCSSをフォーマットしてくれますが、WordPressのようなHTML内に書いたPHPはフォーマットしてくれません。
ということで、まずはHTMLとかCSSとかをフォーマットするために「Prettier」をインストールします。すでにインストールしていたら何もしなくてだいじょうぶです。
VSCodeを開いて → 表示 → 拡張機能を開きます。

ぼくはすでにPrettierをインストールしていますので「Installed」になっていますが、赤枠付近のボタンの「Install」となっているボタンをクリックしてインストールしてください。

次にPHPをフォーマットするために「PHP Intelephense」をインストールします。Prettierをインストールしたときと同じく拡張機能から「PHP Intelephense」を検索して、インストールしてください。

フォーマッターを設定する
VSCodeに拡張機能をインストールしたら、設定していきます。
デフォルトのフォーマッターを無効化する
まずはデフォルトのフォーマッターを無効化しておかないといけません。
Ctrl+,で設定画面を開いて下記を検索します。
Default Formatter
デフォルトのフォーマッターに何か設定されている場合、例えばPrettierなどがすでに設定されている場合はうまくフォーマットできなくなりますので、「none」もしくは「null」にしておきます。

ファイル別にフォーマッターを設定する
で、ここからが本番です。
VSCodeは言語別にフォーマッターを設定することができるので、普段使っているファイルごとに設定していきます。
例えばHTMLのフォーマッターはPrettierを使うので、Ctrl+,で下記を検索します。
@lang:html Default Formatter
こちらをPrettierに設定すると、HTMLファイルでフォーマットできるようになります。

こんな感じで「@lang:言語 Default Formatter」で検索 → 適切なフォーマッターを設定すればいいだけなので、下記のようにしていきましょう。
| HTML | @lang:html | Prettier |
|---|---|---|
| CSS | @lang:css | Prettier |
| Sass(SCSS) | @lang:scss | Prettier |
| JavaScript | @lang:javascript | Prettier |
| PHP | @lang:php | PHP Intelephense |
フォーマッターはPrettierとかに限らないので、PythonだったらBlack、C++だったらclang-format、みたいに設定しておくこともできます。
上書きしたら自動でフォーマットさせる
これは任意ですが、ファイルを上書きしたら自動でフォーマットさせるようにしておくと便利です。
Ctrl+,で設定画面を開いて下記を検索します。
Format On Save
チェックを入れます。

こうしておくと、ファイルをCtrl+Sで上書きしたら自動でPrettierとかがフォーマットしてくれるようになります。
さいごに
VSCodeはそのままでも便利に使えるコードエディタですが、拡張機能を活かすことで本領を発揮することができます。ぜひ自分仕様にカスタマイズしてコーディング環境を整えてみてくださいねー!










