Markdownのインデントは半角スペース4つ

Obsidianでブログ記事を触っていると、TABキーでのインデントが半角スペース4つ。
VS Codeだと半角スペース2つなんですよね。

Obsidian気持ち悪いなと思って、ネットで4つにする方法を調べていたら、
Markdownのインデントは 正式には半角スペース4つ だそうで・・・。

たしかに半角スペース2つで改行の意味を持つしね。

ということで、VS Code側を直しましょう。

VS Codeのインデント設定

ん?

ところがですよ、設定をチェックしたら4つなんです。

ネットやAIを駆使して、情報収集しながら、あーでもないこーでもないと試しまくりましたが、記事のファイルでインデントすると半角スペース2つ・・・。
厳密にはステータスバーに「スペース:2」って出ているので、その時点で結果は分かります。

VS Codeが持つデフォルト設定、ワークスペース設定、ユーザー設定、言語ごとの設定、すべてチェックしたのにさ・・・。

今日、settings.jsonと友達になりましたよ。

新規に作成したMarkdownは「スペース:4」って出ます。
そこに記事データを貼り付けてから開き直すと、「スペース:2」ってなります。

意味不明!

あっ

Markdown形式のファイルですが、フロントマターがYaml形式だから、Yamlの設定が怪しい!

ついに気付いちゃったね。

デフォルト設定を見ると、Yamlのインデントは半角スペース2つになっています。
直接この設定はイジれないので、ユーザー設定のほうで半角スペースを4つに上書きするよう変更!(たぶんユーザー設定が優先されると思う)

変化なし!

ああっ

やっと分かりました。
新規で作ると4つで、記事になったあとは4つになる理由。

ファイル内のインデント優先。

フロントマター部分はTemplateで使いまわしなんですけど、その中で半角スペース2つのインデントが存在していたんです。

フロントマター 一部抜粋
disableShare: false
cover:
  image: "images/it.webp" ←ココ、行頭半角スペース2つ
  alt: "itのイメージ画像" ←ココ、行頭半角スペース2つ
comments: true

するとVS Codeはお利口なので、「本当は半角スペース4つがインデントだけど、このヒトは2つでインデントしているからそれに合わせてあげよう・・・」となるようです。

ということで諸悪の根源であるTemplateのインデントはすべて半角スペース4つに直しました。
あとはイジくりまわった関係のない設定を元に・・・。

さて

いまは、これまでに作成したファイルのインデントを直すのか、見なかったことにするのかを考えるフェーズです。

「行頭の半角スペースが2つだったら4つに」という置換コマンド一発でいけるとは思いますが、疲れたのでまた今度考えよう。
そのまま放置でも、自分が若干気持ち悪いだけで動作に支障はないのよね。