ctrl-P 面板的 "When" 和 "Command" 是什么?

What is the "When" and "Command" for ctrl-P panels?

我正在尝试创建自己的快捷键作为 Visual Studio 代码中的箭头键。

当我点击 "ctrl-p" 时,它会弹出一个我可以导航的 window。但是,当我使用我设置为

的特殊键绑定时
{
    "key": "alt+i",
    "command": "cursorUp",
    "when": "textInputFocus"
}

它不会像按向上箭头那样移动到下一个选项。

我猜这是由于错误的命令或错误的 "when" 导致在 window 打开时触发键盘映射。

通常在 Atom 中我只使用键绑定解析器,但是 Visual Studio 代码似乎没有 have that yet

在 Visual Studio 代码中的 "ctrl-p" 面板等面板中导航的正确命令和 "when" 是什么?

当您单击 Ctrl-P 时,您位于文件选择器中,因此您需要一个命令,然后在文件选择器中上下移动文件选择器。花了一点时间,因为我认为只要搜索 UpArrow 绑定就会很明显。但它没有。

再次查看 Ctrl-P 绑定的内容,揭示了另一个也绑定到 Ctrl[=38 的命令=]-P : workbench.action.quickOpenNavigateNextInFilePicker 所以试试:

  {
    "key": "alt+i",
    "command": "workbench.action.quickOpenNavigateNextInFilePicker",
    "when": "inFilesPicker && inQuickOpen"
  },
  {
    "key": "ctrl+p",
    "command": "-workbench.action.quickOpenNavigateNextInFilePicker",
    "when": "inFilesPicker && inQuickOpen"
  },
  {
    "key": "alt+j",
    "command": "workbench.action.quickOpenNavigatePreviousInFilePicker",
    "when": "inFilesPicker && inQuickOpen"
  },
  {
    "key": "ctrl+shift+p",
    "command": "-workbench.action.quickOpenNavigatePreviousInFilePicker",
    "when": "inFilesPicker && inQuickOpen"
  }

现在选择 Alt-IAlt-J 恰好避免了通常的 Alt 菜单栏打开项的按键触发,例如 Alt-D 将打开 Debug 菜单。如果您想要使用的 Alt-Something 有冲突,您可以禁用菜单栏 Alt 行为:

// If enabled, the main menus can be opened via Alt-key shortcuts. Disabling mnemonics allows to bind these Alt-key shortcuts to editor commands instead.

"window.enableMenuBarMnemonics": false