【AstroJS】 Tailwind CSS のクラス名を自動的にソートする 【VSCode】
1. はじめに
Tailwind CSS は、クラス名を自動的にソートしてくれる Prettier Plugin 1 を公式が提供してくれています。React 系のプロジェクトでは、prettier
パッケージと prettier-plugin-tailwindcss
パッケージをインストールして設定することで、クラス名を自動的にソートすることが出来ます。更に、VSCode と組み合わせることで、ファイル保存時に自動的にクラス名をソートする開発環境も構築することが出来ます。
AstroJS + Tailwind CSS + VSCode の組み合わせで、クラス名を自動的にソート機能を有効にするには、prettier
パッケージと prettier-plugin-tailwindcss
パッケージに加えて prettier-plugin-astro
パッケージの導入が必要など、追加の設定が必要になります 2 。本記事では、その手順について記述します。また、本記事は Node.js と Yarn がインストールされている前提で記述しています。
2. テンプレートを生成する
まず初めに、公式ドキュメント 3 4 に従って AstroJS と Tailwind CSS の環境を構築します。具体的には yarn create astro
と yarn astro add tailwind
を実行するだけで、自動的にテンプレートを生成してくれます。
3. パッケージをインストールする
次に、パッケージをインストールします。具体的には、prettier
、prettier-plugin-tailwindcss
、prettier-plugin-astro
をインストールします。Yarn を使ってインストールする場合は、以下のコマンドでパッケージをインストールすることが出来ます。
prettier-plugin-tailwindcss
と prettier-plugin-astro
は Prettier のプラグインなので、パッケージをインストールだけでは動作しません。プラグインを読み込むために、.prettierrc
というファイルを AstroJS が生成したディレクトリの直下に作成し、以下のコードを追加します。
prettier-plugin-astro
と prettier-plugin-tailwindcss
の順番を逆にすると正常に動作しないので、順番も大事です。
4. VSCode を設定する
ここからは、VSCode 上での作業になります。まず、VSCode 拡張機能の Prettier をインストールします。本記事では、拡張機能の具体的なインストール手順については割愛します。次に、VSCode の設定ファイル (settings.json) に以下のコードを追加します。以下のコードを追加することで、.astro ファイルのデフォルトコードフォーマットを Prettier に設定する + Prettier が .astro ファイルをコードフォーマット対象と認識するように設定出来ます。
5. おわりに
以上で作業は全て完了です。あとは、適当な .astro ファイル内に Tailwind CSS のコードを記述して、ソート機能が正常に動作するか確認してください。もし正常に動作しない場合は、以下のリストで抜けが無いか確認してみてください。
-
@astrojs/tailwind
パッケージとtailwindcss
パッケージをインストールされている -
astro.config.mjs
ファイルに Tailwind CSS の設定コードが追加されている - Prettier に関する以下のパッケージがインストールされている
- prettier
- prettier-plugin-tailwindcss
- prettier-plugin-astro
-
.prettierrc
を作成してプラグインを読み込んでいる - VSCode の
settings.json
で設定コードが追加されている
-
GitHub, tailwindlabs/prettier-plugin-tailwindcss:https://github.com/tailwindlabs/prettier-plugin-tailwindcss ↩
-
Setup Astro 3.0 with Tailwind CSS Prettier Plugin:https://webreaper.dev/posts/astro-prettier-tailwind-setup/ ↩
-
Astro Docs, Install Astro with the Automatic CLI:https://docs.astro.build/en/install/auto/ ↩
-
Astro Docs, @astrojs/tailwind:https://docs.astro.build/en/guides/integrations-guide/tailwind/ ↩