【问题标题】:How to sync search term between tab groups?如何在标签组之间同步搜索词?
【发布时间】:2020-11-30 13:35:56
【问题描述】:

打开两个选项卡组以并排比较内容对我来说很常见,但是当我搜索一个词时,我发现两个编辑器不共享该搜索词有点烦人。例如我在左侧文件中的一个单词上按 ctrl-F3 开始搜索,然后移动到右侧的文件,我只想按 F3 以继续搜索同一个单词,但它有它自己的已保存以供搜索的字词。

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

【问题讨论】:

    标签: visual-studio-code vscode-settings


    【解决方案1】:

    更新:请参阅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 组,所以它也适用于任何两个相邻的组。它可以很容易地推广到三个组 - 除此之外,制作扩展以与您打开的尽可能多的组一起工作可能会更容易。

    【讨论】:

    • 这太棒了!我没有过多地定制东西,所以我真的不知道从哪里开始这样的事情。看到一个可能的例子非常酷。它看起来非常接近我想要的,但我肯定会尝试一些可用的命令。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 2015-09-04
    • 1970-01-01
    • 2022-08-16
    • 2023-01-09
    • 1970-01-01
    • 2015-06-11
    相关资源
    最近更新 更多