通过命令 ID 或自定义字符串别名触发命令

Ame*_*ina 5 alias visual-studio-code

我想触发命令面板Default Keybindings视图中列出的命令。

例如,我希望能够从命令面板( )按名称(或我选择的字符串别名)触发下面列出的命令之一。Command + Shift + P

我怎么做?

// ---- From "Default Keybindings" -----
//
...
// - workbench.extensions.action.showExtensionsWithIds
// - workbench.extensions.action.showInstalledExtensions
// - workbench.extensions.action.showLanguageExtensions
// - workbench.extensions.action.showPopularExtensions
// - workbench.extensions.action.showRecommendedExtensions
// - workbench.extensions.action.stopExtensionHostProfile
// - workbench.extensions.action.updateAllExtensions
// - workbench.extensions.installMissingDepenencies
// - workbench.files.action.acceptLocalChanges
// - workbench.files.action.collapseExplorerFolders
// - workbench.files.action.compareFileWith
// - workbench.files.action.focusFilesExplorer
// - workbench.files.action.refreshFilesExplorer
// - workbench.files.action.revertLocalChanges
// - workbench.files.action.saveAllInGroup
// - workbench.files.action.showActiveFileInExplorer
// - workbench.output.action.clearOutput
// - workbench.userData.actions.continueSync
// - workbench.userData.actions.login
// - workbench.userData.actions.logout
// - workbench.userData.actions.stopSync
// - workbench.userData.actions.syncStart
// - workbench.view.extension.atlascode-drawer
// - workbench.view.extension.databaseExplorer
// - workbench.view.extension.gitlens
// - workbench.view.extension.references-view
// - workbench.view.extension.test
// - workbench.view.remote
// - workbench.view.search.focus
...
Run Code Online (Sandbox Code Playgroud)

Mar*_*ark 3

Default Keybindings列表不会显示命令面板中显示的每个命令的标题。您通常会使用该标题/别名在命令面板中进行搜索。使用普通命令workbench.extensions.action.showLanguageExtensions是一件痛苦的事情,因为您需要完全正确地键入整个命令才能在命令面板中找到它。

您还可以将该命令放入KeyBoard Shortcuts搜索中以了解其内置别名。


目前没有办法 - 但它已积压 - 请参阅https://github.com/microsoft/vscode/issues/50836 - 能够为命令创建自己的别名。

但是,我编写了一个扩展来执行此操作,该扩展处于预览状态,命令别名允许您为命令创建自己的别名。例如:

  "command aliases": {
    "explorer.newFile": "touch",
    "explorer.newFolder": "mkdir"
  },
Run Code Online (Sandbox Code Playgroud)

将在命令面板中为您提供一个touch和 一个mkdir列表/别名,分别触发explorer.newFileexplorer.newFolder

命令别名扩展演示