VSCode键盘快捷键,用于在使用quickOpen时有选择地触发keepEditor吗?

时间:2018-10-04 14:41:59

标签: visual-studio-code vscode-settings

VSCode默认情况下将cmd+p绑定到workbench.action.quickOpen。没关系我唯一的问题是,当您使用quickOpen确认文件上的enter时,它将以“预览”模式打开文件(由带有斜体的标签名称表示)。这种“预览”模式意味着,如果我使用cmd+p连续打开两个文件,则打开第二个文件的操作将接管“预览”插槽,从而有效地关闭了第一个文件的预览。

VSCode具有一个名为workbench.editor.enablePreviewFromQuickOpen的设置,可用于全局更改此行为。但我不想在全球范围内进行更改。您还可以使用workbench.action.keepEditor手动将文件移出预览模式,默认情况下绑定到cmd+k+enter。但这是一个令人讨厌的额外步骤。

我想有选择地决定何时以“预览”模式或“编辑”模式打开。理想情况下,我想绑定类似shift+enter的东西来做到这一点。在我的keybindings.json中尝试了

{
    "key": "shift+enter",
    "command": "workbench.action.keepEditor",
    "when": "inFilesPicker && inQuickOpen"
}

但没有运气:(

这个问题的答案ALMOST可以满足我的要求: vscode: Open file instead of previewing file from quick open

使用alt+enter的建议解决方案在新窗口中打开文件。没有布宜诺斯艾利斯。

使用向右箭头键打开文件的建议解决方案确实可行...但是,它不能像按Enter那样关闭Command Palette。没有布宜诺斯艾利斯。

1 个答案:

答案 0 :(得分:0)

我相信您将必须使用像multi-command这样的宏扩展名。在您的settings.json中:

"multiCommand.commands": [
  {
    "command": "multiCommand.openFileNotInPreview",
    "sequence": [
      "workbench.action.acceptSelectedQuickOpenItem",
      "workbench.action.keepEditor",
    ]
  }
]

在keybindings.json中有一些键绑定:

{
  "key": "shift+right",
  "command": "multiCommand.openFileNotInPreview",    
  "when": "inFilesPicker && inQuickOpen"
},

我在这里使用"shift+right",您的"shift+enter"似乎遇到冲突,无法正常工作。

这将在同一编辑器组中的新编辑器中的 Ctrl - P 面板中打开您选择的文件,并且不会处于预览模式。