gist
#要点
Macはdefaultのキーボード設定だと、重要なinterisenseのコードが死んでます。
なので、ctrl+mによってsuggestを呼びやすくしています。
{
// ...抜粋
{
"key": "ctrl+m",
"command": "-editor.action.toggleTabFocusMode"
},
{
"key": "ctrl+m",
"command": "editor.action.triggerSuggest",
"when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly"
},
{
"key": "ctrl+m",
"command": "toggleSuggestionDetails",
"when": "suggestWidgetVisible && textInputFocus"
},
}
また、デフォルトの設定ではsubbestion選択のトリガーはEnterを押すと補完が発火します。これを防ぐには、shift+Enterを押す必要があるのですが、これは、改行が入ってしまうため、spaceなどで入力を続行したい場合に煩わしいので、ctrl+Enterでsuggestionをクローズするようにしています。
またVisualStudio風にtab or shift+tabによって、suggestionの移動が出来るように変更しています。
{
// ...抜粋
{
"key": "shift+tab",
"command": "selectPrevSuggestion",
"when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
},
{
"key": "tab",
"command": "selectNextSuggestion",
"when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
},
{
"key": "tab",
"command": "-acceptSelectedSuggestion",
"when": "suggestWidgetVisible && textInputFocus"
},
}
これによって、snippetなどの入力決定はすべてEnterで行うことになりますが、実は、デフォルトの設定だとsnippet使用時にtabを使用している場合、subbestionが表示されているとjumpと同時に補完してしまうため、本来入力したかったものと異なる文字入力をされてしまうことがあります。これを防ぐために、先程のctrl+Enterおよび補完による入力確定をした後はtab及び、Enterによるjumpを有効になるため、デフォルトのまま使い勝手を持続する事ができます。
後は好みの問題になりますが、個人的に小指が短く \や[]に押しづらさを感じているので、
{
// ...抜粋
{
"key": "ctrl+o ctrl+p",
"command": "editor.action.jumpToBracket",
"when": "editorTextFocus"
},
{
"key": "ctrl+o ctrl+o",
"command": "editor.action.selectToBracket"
},
}
などにbracket選択とjumpを設定しています。
また、expand selectionを
{
{
"key": "ctrl+shift+cmd+o",
"command": "bookmarks.expandSelectionToPrevious",
"when": "editorTextFocus"
},
{
"key": "shift+alt+j",
"command": "-bookmarks.expandSelectionToPrevious",
"when": "editorTextFocus"
},
{
"key": "ctrl+cmd+o",
"command": "bookmarks.expandSelectionToNext",
"when": "editorTextFocus"
},
{
"key": "shift+alt+l",
"command": "-bookmarks.expandSelectionToNext",
"when": "editorTextFocus"
}
}
Function key系は、HHKBだと押しやすいので、特に変更をしていません。
今回は個人的に使っているkeybindの紹介をしました。
なにかおすすめの設定あったら教えてください。