如何在选项卡组之间同步搜索词?

How to sync search term between tab groups?

打开两个选项卡组来并排比较事物对我来说很常见,但是当我搜索一个词时,我发现这有点烦人,因为搜索词没有被两个编辑共享。例如我在左侧文件中的一个词上按 ctrl-F3 开始搜索,然后移至右侧的文件,我想按 F3 以继续搜索相同的词,但它有自己的词已保存以供搜索的字词。

我以为这会是某个地方的一个选项,但我没有在首选项的“文本编辑器”->“查找”部分中看到它。是我瞎了眼没看到还是 VS Code 中不存在这个选项?

更新:参见“仅在打开的编辑器中搜索”可能适合您。


我不认为有一个选项可以像这样将组间的发现联系在一起。但是使用宏你可以很容易地做到这一点。使用像 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 组中的查找小部件(并且焦点将 return 到第 1 组,不要如果你想在移动到下一组时使用最后一个命令 "workbench.action.focusPreviousGroup",请使用它。然后当你切换到第 2 组时,F3 将按预期工作。

这种方法的一个缺点是它需要使用您的剪贴板来传输光标下的单词,这对您来说可能不是问题。

虽然它实际上使用了 next/previous 组,但我将其主要用于两个组,因此它也适用于任何两个相邻的组。它可以很容易地推广到三个组——除此之外,进行扩展以与您打开的尽可能多的组一起工作可能会更容易。