首页 > 解决方案 > VSCode“快速打开”菜单更改“最近使用”排序过于急切

问题描述

当我单步执行 VSCode 快速打开菜单时,我希望它不会在编辑器之间自动切换,直到我选择了我感兴趣的文件(并点击enter)。但是最近(4 月?)对 VSCode 进行了更改,当我逐步浏览菜单时,它会自动显示每个文件。如何禁用该行为?


对于那些感兴趣的人,这是我的动机:

使用 VSCode 的“快速打开”菜单的一种(常见?)方法是像电视遥控器上的“最后一个频道”按钮一样使用它。我想打开一个编辑器,然后打开另一个,然后在两者之间快速来回切换。由于它们是我当前和最近的编辑器,它们应该出现在快速打开菜单的顶部,因此它们之间的切换速度很快。

这曾经工作得很好,但最近(4 月?)对快速打开菜单的更改似乎破坏了此功能。现在,它会为我在菜单中单步执行的每个文件自动激活编辑器,从而更改我的“最近”排序。它不能再像“最后一个频道”按钮一样使用。

这是一个演示问题的短视频。在这里,我从one.txt. 我想five.txt通过快速打开菜单进行选择,然后在两者之间快速切换。但它会一路打开所有其他文件!

(事实上​​,如果你仔细观察,这种行为会更奇怪:它不会显示当前选择的文件——它会打开每个文件的编辑器,因为它被取消选中。也许这只是一个错误?)

快捷菜单行为动画

FWIW,这里是 my 的相关部分keybindings.json,以明确我指的是哪些命令:

// keybindings.json
[
  // Trigger quick open menu and pre-select the previously used editor.
  // (With either cmd+left/cmd+right)
  {
    "key": "cmd+left",
    "command": "workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup",
    "when": "!inEditorsPicker"
  },
  {
    "key": "cmd+right",
    "command": "workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup",
    "when": "!inEditorsPicker"
  },

  // Once the menu is open, scan through the choices.
  // (Forward with cmd+right, backward with cmd+left)
  {
    "key": "cmd+left",
    "command": "workbench.action.quickOpenNavigatePreviousInEditorPicker",
    "when": "inEditorsPicker && inQuickOpen"
  },
  {
    "key": "cmd+right",
    "command": "workbench.action.quickOpenNavigateNextInEditorPicker",
    "when": "inEditorsPicker && inQuickOpen"
  }
]

标签: visual-studio-codevscode-settings

解决方案


问题是我选择的键绑定与 VSCode 中的硬编码键绑定冲突。一种解决方法是只使用箭头以外的right键。

此处说明:https ://github.com/microsoft/vscode/issues/98479#issuecomment-633378132


推荐阅读