📑

【備忘録】Django-htmlのformatterにdjLintを使用する

2024/11/04に公開

背景

普段formatterにPrettierを使用しているが、Django-html(正式名称はDjango Template Language?)ではうまくformatできず困っていた。
以下で紹介する方法が正しいかわからないが、とりあえずうまくいったので備忘録として残しておく。

流れ

  1. デフォルトのformatterにはPrettierを指定する
  2. Django-htmlではdjLintを指定する
  3. 初期状態では、両者の拡張機能をインストールしただけではPrettierが干渉してdjLintが有効にならない
  4. Django-htmlではPrettierを無効にし、djLintを有効にするように設定する

方法

  • djLintを導入する
    コマンドラインでdjlintをインストール後にVS codeCursorの拡張機能(djLint)をインストール
bash
python -m pip install -U djlint
  • エディタの設定ファイルsettings.jsonに以下を追記
settings.json
//デフォルトのformatterにprettierを指定
"editor.defaultFormatter": "esbenp.prettier-vscode",
 //保存するごとにformatを実行
  "editor.formatOnSave": true,
 //django-htmlではprettierを無効にし、djLintを指定する
  "[django-html]": {
    "editor.defaultFormatter": "monosans.djlint"
  }

Discussion