VSCode で Markdown を書く時に閉じ引用符を自動入力したい
最近使ってみている VSCode で、 Markdown を書いていると "
を入力したら自動で ""
まで入力されないことがわかったのでなんとかしてみたメモ。
VSCode は他の多くのエディタ同様に、[
, (
, {
などの括弧類は入力とともに自動で閉じ括弧まで入力される。"
, '
も C などのプログラミング言語モードでは閉じてくれるが、Markdown だと editor.autoClosingQuotes
を always
に設定しても閉じられない。
これは自動入力に対応した文字の組が言語ごとに設定されており、VS Code の Markdown では引用符がペアとして登録されていないため。自動入力に対応してるペアは、各言語の定義ファイル 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