はじめに
私事で恐縮ですが,先日LaTeXの執筆環境をTeXstudioからVS Codeに乗り換えました.TeXstudioではctrl+shift+m
のキーボードショートカットでインライン数式モードの$ (カーソル位置) $
を出力することができ,便利に使っていました.前の環境で使っていた機能を新しい環境でも使いたいと思うのが世の常だと思います.VS Codeでこの機能を実現するためにはスニペットをキーボードショートカットで呼び出す必要がありました.
VS Codeのバージョンは1.28.2
でWindowsです.
スニペットの設定
latex.json
に以下を追加.タブストップを使ってカーソルの位置を指定しています.また,このスニペットはキーボードショートカット専用にしたいので"prefix"
には半角スペースだけを入力してサジェストに表示されないようにしています.
latex.json
"inline_math":{
"prefix": " ",
"body": "\\$ $1 \\$$0",
"description": "インライン数式"
}
キーバインドの設定
keybindings.json
に以下を追加."args"
の"langId"
に言語を指定して,"name"
に設定したスニペットの名前をつけてやる.また,デフォルトで割り当てられていたキーボードショートカットを無効にしています.
keybindings.json
{
"key":"ctrl+shift+m",
"command":"editor.action.insertSnippet",
"args":{
"langId": "latex",
"name": "inline_math"
},
"when": "editorTextFocus && editorLangId == 'latex'"
},
{
"key": "ctrl+shift+m",
"command": "-workbench.actions.view.problems"
}
おわりに
VS Codeにおいてctrl+shift+m
で$ (カーソル位置) $
を出力できるようになりました.
ちなみにキーボードショートカットで単純にテキストを出力するだけなら以下をkeybindings.json
に追加すれば良いです.ただし,カーソルの位置の指定などは出来ないようです.
keybindings.json
{
"key":"ctrl+shift+m",
"command":"type",
"args":{"text":"Hello, World!"},
"when": "editorTextFocus"
}
コメント