Open4
VSCodeで検索結果を前後するためのショートカットを作成する

目的
- デフォルトで F4, Shift+F4 でも移動できるのけど、別の
ctrl+⌘+n,p
にバインドする - リファレンス(参照)検索ともバッティングしているので、通常検索→リファレンス検索みたいな優先度にしたい
結論
以下をkeybidings.jsonに足す。
// start: ctrl+cmd+n,pで検索結果を移動する
{ // 優先度1
"key": "ctrl+cmd+n",
"command": "goToNextReference",
"when": "inReferenceSearchEditor || referenceSearchVisible"
},
{
"key": "ctrl+cmd+p",
"command": "goToPreviousReference",
"when": "inReferenceSearchEditor || referenceSearchVisible"
},
{
"key": "f4",
"command": "-goToNextReference",
"when": "inReferenceSearchEditor || referenceSearchVisible"
},
{
"key": "shift+f4",
"command": "-goToPreviousReference",
"when": "inReferenceSearchEditor || referenceSearchVisible"
},
{ // 優先度2
"key": "ctrl+cmd+n",
"command": "search.action.focusNextSearchResult",
"when": "(searchViewletVisible || inSearchEditor) && !(inReferenceSearchEditor || referenceSearchVisible)"
},
{
"key": "ctrl+cmd+p",
"command": "search.action.focusPreviousSearchResult",
"when": "(searchViewletVisible || inSearchEditor) && !(inReferenceSearchEditor || referenceSearchVisible)"
},
{
"key": "f4",
"command": "-search.action.focusNextSearchResult",
"when": "hasSearchResult || inSearchEditor"
},
{
"key": "shift+f4",
"command": "-search.action.focusPreviousSearchResult",
"when": "hasSearchResult || inSearchEditor"
},
{ // 優先度3
"key": "ctrl+cmd+n",
"command": "references-view.next",
"when": "reference-list.hasResult && references-view.canNavigate && !searchViewletVisible"
},
{
"key": "ctrl+cmd+p",
"command": "references-view.prev",
"when": "reference-list.hasResult && references-view.canNavigate && !searchViewletVisible"
},
{
"key": "f4",
"command": "-references-view.next",
"when": "reference-list.hasResult && references-view.canNavigate"
},
{
"key": "shift+f4",
"command": "-references-view.prev",
"when": "reference-list.hasResult && references-view.canNavigate"
},

referenceSearchVisible というのは、エディタ内のやつリファレンス検索が見えてる状態
searchViewletVisible というのは、左側の検索タブ?が見えてる状態
reference-list.hasResult というのは、左側のリファレンスタブ?が見えてる状態。~Visibleというフラグは見つからなかった
参考

このショートカットを設定することで、検索結果に対して上から編集していく作業が捗る
つまり、今までは
- 左のタブから検索(⌘ shift f)→カーソル移動してクリック→エディタで編集→カーソル移動して(略)
だったのが
- 左のタブから検索(⌘ shift f)→
ctrl ⌘ n
で検索結果を選択→エディタで編集→ctrl ⌘ n
で(略)
となり、カーソル移動が減る