はじめに
VS Codeを快適に使うためにやってることを紹介したい.順次更新予定.
サイドバーでの選択時にサイドバーが自動で閉じるようにする
動機
サイドバーで何かを選択した時(ファイルとか拡張機能とか)
サイドバーが開きっぱになっているのはうれしくない
やったこと
サイドバーで何かを選択したのに連動してサイドバーを閉じるようにした
用いた拡張機能
multi-command
https://marketplace.visualstudio.com/items?itemName=ryuta46.multi-command
実現するのに用いた拡張機能
これは複数のVS Codeのコマンドを新たに一つのコマンドとして登録してくれる拡張機能.
シンプルな拡張機能だが効果は絶大
やり方
上記の拡張機能を用いて「サイドバーでの選択」と「サイドバーを閉じる」を行うコマンドを新たにVS Codeに登録する
「サイドバーでの選択」はlist.select,「サイドバーを閉じる」はworkbench.action.toggleSidebarVisibilityという名前のコマンドで行われてるので以下をsetting.jsonに追記する.
"multiCommand.commands": [
{
"command": "multiCommand.listSelect_and_closeSidebar",
"sequence": [
"list.select"
,
"workbench.action.toggleSidebarVisibility"
]
}
]
これで「選択」と「サイドバーを閉じる」を順次実行してくれるコマンドが"multiCommand.listSelect_and_closeSidebar"という名前でVS Codeに登録された(ちなみに自分はsequenceの順番を逆にしている.先にサイドバーが閉じるほうが自然な挙動に思えたからだ.)
あとはこれにショートカットキーを割り付ける
もともとサイドバーでの選択にはenterキーが割り付けられているので,それをctrl+enterに変更し新たに作ったコマンドにenterを割り付ける
具体的には以下をkeybindings.jsonに追記することとなる
{
"key": "ctrl+enter",
"command": "list.select",
"when": "listFocus && !inputFocus"
},
{
"key": "enter",
"command": "multiCommand.listSelect_and_closeSidebar",
"when": "listFocus && !inputFocus"
},
これでファイルや拡張機能をenterで選択したとき,自動でサイドバーを閉じてくれる(やった!)