VSCode で Markdown を書く時に閉じ引用符を自動入力したい

最近使ってみている VSCode で、 Markdown を書いていると " を入力したら自動で "" まで入力されないことがわかったのでなんとかしてみたメモ。

VSCode は他の多くのエディタ同様に、[, (, { などの括弧類は入力とともに自動で閉じ括弧まで入力される。", ' も C などのプログラミング言語モードでは閉じてくれるが、Markdown だと editor.autoClosingQuotesalways に設定しても閉じられない。

これは自動入力に対応した文字の組が言語ごとに設定されており、VS CodeMarkdown では引用符がペアとして登録されていないため。自動入力に対応してるペアは、各言語の定義ファイル language-configuration.json 中の autoClosingPairs によって定められる。

今回は暫定で /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/markdown-basics/language-configuration.json に追加することで Markdown でも閉じ引用符を自動入力するようにした。

$ diff /tmp/language-configuration.json.orig "/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/markdown-basics/language-configuration.json"
33a34,54
>        },
>        {
>            "open": "'",
>            "close": "'",
>            "notIn": [
>                "string"
>            ],
>        },
>        {
>            "open": "\"",
>            "close": "\"",
>            "notIn": [
>                "string"
>            ],
>        },
>        {
>            "open": "`",
>            "close": "`",
>            "notIn": [
>                "string"
>            ],

ただ、この方法は明らかにハックなので、できればもっとスマートな解決方法を知りたいところ。

参考: Language Configuration Guide | Visual Studio Code Extension API