You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过VSCode API获取指定命令的用户自定义快捷键

VSCode API 获取指定命令已注册快捷键的方法

VSCode 提供了官方API可以直接获取包含用户自定义配置在内的所有生效快捷键,不需要手动解析package.json文件。

可用API说明

直接调用vscode.keybindings.getKeybindingsForCommand()方法即可,传入目标命令的ID作为参数,返回值是当前环境下所有绑定到该命令的、实际生效的快捷键配置数组。

  • 返回结果已经自动按VSCode内部的快捷键优先级规则排序,覆盖所有来源的配置:
    • 扩展预置的默认快捷键
    • 用户在快捷键设置面板/keybindings.json中自定义的快捷键
    • 其他扩展对该命令覆盖设置的快捷键
    • 每个快捷键对应的when触发条件、来源等元信息

注意:手动解析扩展package.json中contributes.keybindings字段的方式只能拿到扩展自带的默认快捷键,完全无法获取用户自定义、其他配置覆盖的内容,不建议使用。

调用示例

import * as vscode from 'vscode';

// 替换为你需要查询的命令ID,例如格式化文档命令是editor.action.formatDocument
const commandId = "your.target.command.id";
const activeKeybindings = vscode.keybindings.getKeybindingsForCommand(commandId);

// 遍历拿到所有绑定的快捷键
activeKeybindings.forEach(binding => {
  console.log(`生效快捷键:${binding.key},触发条件:${binding.when}`);
});

如果需要实时感知快捷键配置变化,可以订阅vscode.workspace.onDidChangeConfiguration事件,检测到快捷键相关配置更新时重新调用上述API获取最新绑定关系即可。

内容的提问来源于stack exchange,提问作者vanowm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:54:15