AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

VScode で pragma mark を使う

こういうやつ。

VScode の minimap

大元

へ〜、Xcode でたまにみてたやつ〜という程度の認識だったけど、 VScode でも minimap 上に表示できるらしい。 そしてこいつ、本来の Objective-C/Swift (Xcode) での名前は pragma mark というらしい、知らなかった。

qiita.com

2020 年頃に言及していた大元の人が // MARK 記法 と仰ってるので、そういう名前なのかな、と思ってずっと調べていた。 のだけど Markdown しか出てこないし、なんなら「現代日本人四文字に省略しがち (ドラゴボのように)」で Mark 記法、と略している人とかも引っかかって「グワァァァ!」となっていた。

こういうの AI くんに聞いたら良かったんかねえ。

使い方

現代の VScode にはもう取り込まれている。

github.com

以下のような記述を見つけると、冒頭のように自動でミニマップ上にクソデカ表示をしてくれる。

// MARK:

haml で試しているのでコメントアウトに -# をつけていますがちゃんと認識されていますね

ちなみに TODO とかがハイライトされているのは、以下の拡張機能を入れているから。

marketplace.visualstudio.com

有効になる記述

上記のスクリーンショットは以下の記述でやっている。 クソデカ表示なので、行間が狭いと表示が重なってしまう。

-# // MARK: - mark





-#// TODO: message





-#// FIXME: message





-#// MARK: - mark





-#// !!!: !!!





-#// ???: ???

どうやらサポートしている pragma mark は // MARK: のみで、罫線などは引けないようだ。 また、利用している言語のコメントアウト方式に左右されない (// MARK: を検出して minimap に反映する) ようだった。

現代の Swift も、このあたりの pragma mark サポートは Objective-C の頃と比べるとだいぶシュッとなっている様子。

qiita.com

とはいえ、vscode わりと普及している所もそうだし、リポジトリ.vscode を突っ込む程度には管理されているトコも多いと思うので、コメントする時に雑に付与しておくのはよさそう、という感じ。

おわり

以上だ……。

VScode 知らない機能がいつの間にか追加されてて多すぎるッピ! (もはや、毎回 release note を読む気力が沸かない)。