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