更新:请参阅https://stackoverflow.com/a/65851872/836330“仅在打开的编辑器中搜索”可能对您有用。
我不认为有一个选项可以将这些发现在这样的组之间联系在一起。但是使用宏你可以很容易地做到这一点。使用 multi-command 之类的宏扩展将其放入您的设置中:
"multiCommand.commands": [
{
"command": "multiCommand.findAcrossGroups",
"sequence": [
"editor.action.addSelectionToNextFindMatch",
"editor.action.clipboardCopyAction",
"workbench.action.focusNextGroup",
"actions.find",
"editor.action.clipboardPasteAction",
"editor.action.nextSelectionMatchFindAction",
"workbench.action.focusPreviousGroup" // to return to first group
]
}
]
以及触发它的键绑定(在 keybindings.json 中):
{
"key": "alt+s", // whatever binding you wish
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.findAcrossGroups" },
"when": "editorTextFocus"
}
当您触发键绑定时,您将如何使用它,第 1 组中光标下的任何单词都将转移到第 2 组中的查找小部件(焦点将返回到第 1 组,不要使用最后一个命令"workbench.action.focusPreviousGroup" 如果您想在移动到下一个组时使用它。然后 F3 在您切换到第 2 组时按预期工作。
这种方法的一个缺点是它需要使用剪贴板来传输光标下的单词,这对你来说可能不是问题。
我让它主要用于两个组,虽然它确实使用next/previous 组,所以它也适用于任何两个相邻的组。它可以很容易地推广到三个组 - 除此之外,制作扩展以与您打开的尽可能多的组一起工作可能会更容易。