Visual Studio CodeでDart Sassのコンパイルができる拡張機能「DartJS Sass Compiler and Sass Watcher」

Sassをコンパイルする方法は様々です。
案件レベルでがっつりする場合は開発環境を整える必要がありますが、ちょっと1人でSassを触りたいレベルであればVisual Studio Codeの拡張機能を使うとラクです。
今回はVisual Studio CodeでDart Sassのコンパイルができる「DartJS Sass Compiler and Sass Watcher」を紹介します。
DartJS Sass Compiler and Sass Watcher

下記2つの機能が使える拡張機能です。
- Sassのコンパイル
- Auto Prefix(CSSのベンダープレフィックス自動付与)
「Live Sass Compiler」という拡張機能も有名ですが、こちらはDart Sassには対応していません。
これから勉強するのであれば、Dart Sassを使うようにした方がいいでしょう。
基本的な使い方
インストールすれば、ワークスペース内でSassの.scssファイルを保存すると自動でコンパイルされます。
しかし、デフォルトの設定のままだと、CSSファイルはSassファイルと同じディレクトリに生成されます。

Sassは管理しやすいように別フォルダで管理することの方が多いので、設定を変えて使います。
設定の変更
Visual Studio Codeの設定を変更したり、settings.jsonファイルにコードを追加して設定を変更します。
CSSファイルの生成場所を変更
「dartsass.targetDirectory」でCSSファイルの生成場所を変更できます。
開いているフォルダのルートディレクトリに生成したい場合は「./」と設定します。
「assets」フォルダ内の「css」フォルダに生成したい場合は「assets/css/」とします。
{
"dartsass.disableAutoPrefixer": "assets/css/"
}これで生成場所が変更されました。
圧縮版のminファイルを生成するかどうかの設定
デフォルトでは通常のCSSに加えて、改行やスペースを全て除いて容量を節約した「○○.min.css」も一緒に生成されます。
通常版だけでいいか、それとも圧縮版だけ生成するかなどの設定ができます。
| 設定値 | 内容 |
|---|---|
| both | 通常版も圧縮版も両方生成する |
| cssonly | 通常版のCSS(○○.css)のみ生成する |
| minified | 圧縮版のCSS(○○.min.css)のみ生成する |
{
"dartsass.outputFormat": "both"
}不要な機能の無効化
デフォルトで有効化されている機能の中から、不要なものは無効化できます。
| 設定項目 | 内容 | 備考 |
|---|---|---|
| dartsass.disableAutoPrefixer | Autoprefixerを無効にする | マルチブラウザに対応するためのベンダープレフィックスを CSS生成時に自動で付与してくれる機能 |
| dartsass.disableCompileOnSave | ファイル保存時にコンパイルしてくれるのを無効化 | |
| dartsass.disableSourceMap | ソースマップの生成を無効化 | 一緒に生成される「style.css.map」ファイルで、これがあると、ブラウザの開発者ツールで、元の .scssファイルの何行目の記述か分かる |
| dartsass.enableStartWithUnderscores | 名前がアンダースコア(_)から始まるファイルもコンパイルを有効にする | 一般的にアンダースコアから始まるファイルはインポート用 |


Google Maps APIをローカル開発環境で使用するときの制限設定方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
WordPressのヘッダーにツールバーが表示されないときは、wp_headやwp_footerが入っているか確認
効率的なマークアップが出来るようになるEmmetでHTMLを書く時の基本
CSSのz-indexの確認や管理を便利にする方法
CodeAnywhereでターミナルに触る練習をする
EmmetのWrap with Abbreviationで複数行のマークアップを効率的に行う
Google Maps APIでピンのアクティブ時にピン画像を変える方法
ブログに見出しを設置できるjQueryプラグイン「TOC | jQuery Table of Contents」
Vue CLIのプロジェクト管理用のGUI機能から環境を構築する
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」
Keyboard Maestroの「Macro Debugger」で複雑なマクロのデバッグを行う方法
無料版でも高機能なランチャーアプリ「Raycast」の基本機能と環境設定
OnyXでターミナルを使わずにmacOSの詳細設定を行う
軽量で高速なターミナルエミュレーター「Ghostty」の設定方法
Eagleで実現するクリエイティブ素材の簡単管理
かゆいところに手が届く「Supercharge」でMac環境を便利にカスタマイズする
超軽量なコードエディタ 「Zed」をサブエディタとして活用する
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する