WordPressのテーマを制作しているときなどはHTMLの中に直接PHPのコードを書いていきますが、PrettierではPHPのファイルのフォーマットができません。

まぁそもそもフォーマッターを使う人がそこまで多くないかもしれませんが、HTMLの中に書かれたPHPもフォーマットしたいときにはかなり役に立つはずです。

大前提として、VSCodeでコーディングしていて、さらに拡張機能のPrettierを使ってフォーマットしたい方に向けた記事です。

WordPressの表示速度No1!
初心者からからプロフェッショナルまで使えるロリポップサーバーは月額550円から!

フォーマッターとは?

そもそもフォーマッターとは、書いたコードの見栄えを整えてくれるものです。

コーディングは人によってクセというものが出るものなので、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はそのままでも便利に使えるコードエディタですが、拡張機能を活かすことで本領を発揮することができます。ぜひ自分仕様にカスタマイズしてコーディング環境を整えてみてくださいねー!