是否有键盘快捷键可以在差异/比较两个文件编辑器的左侧和右侧之间切换?

问题描述 投票:0回答:4

我喜欢使用带有 vscode-vim 扩展的 VS Code,因为我无需鼠标即可完成大部分编辑工作。但是每当我查看差异视图(通过单击 SCM/git 窗格中发生更改的文件)或比较两个文件的编辑器(通过运行“比较活动文件与...”命令)时,我需要使用鼠标左右两侧切换(即“旧”和“新”版本的变化)。这很烦人,因为我经常比较两个文件,并希望通过将更改的片段从一个文件复制到另一个文件来合并它们,这需要我在比较视图中来回切换。有谁知道是否有键盘快捷键,或者我可以为此绑定新键盘快捷键的命令?

visual-studio-code keyboard-shortcuts diff
4个回答
13
投票

编辑(2020年11月11日,感谢@Mark):

workbench.action.compareEditor.focusPrimarySide
workbench.action.compareEditor.focusSecondarySide
workbench.action.compareEditor.focusOtherSide
已添加到 VS Code。应该是 v1.52


现在这是一个正式的功能请求,所以如果您想在 VS Code 中看到它,请投票: https://github.com/microsoft/vscode/issues/95068


4
投票

如果您要在两个文件之间进行

compare
,请参阅@psquid 的答案中的compareEditor命令。 但是,如果您正在进行比较 - 就像在 SCM/git 视图中单击更改的文件一样,那么您需要这个新命令:

Diff Editor: Switch Sides    // there is no default keybinding
diffEditor.switchSide

为此,您需要启用此设置:

Diff Editor > Experimental: Use Version 2

该功能在 Insiders Build v1.81 中默认启用,但在稳定版 v1.80 中禁用(也可能在 2023 年 8 月上旬发布的稳定版 v1.81 中默认禁用)。


1
投票

更改焦点时,两侧的光标都会重置为之前的状态。我发现这真的很烦人。以下按键绑定在更改焦点时将光标重置到当前视图的中心。

注意:为此需要多命令扩展。

https://marketplace.visualstudio.com/items?itemName=ryuta46.multi-command

"key": "alt+1",
"command": "extension.multiCommand.execute",
"args": {
  "sequence": [
    "workbench.action.compareEditor.focusOtherSide",
    {
      "command": "cursorMove",
      "args": {
        "to": "viewPortCenter"
      }
    }
  ]
},
"when": "textCompareEditorActive"

0
投票

tab

切换
 {
    "key": "tab",
    "command": "diffEditor.switchSide",
    "when": "inDiffEditor"
  }
© www.soinside.com 2019 - 2024. All rights reserved.