VS Code launch.json中${command:*}命令变量是否有完整参考文档?
VS Code
${command:*} 命令变量参考说明 不存在覆盖所有${command:*}可用值的统一官方完整列表,这类变量的本质是直接调用VS Code环境中已注册的任意可返回值的命令,不是预定义的固定枚举集合。
核心运行逻辑
${command:命令ID}格式的变量解析时,会直接执行对应ID的命令,将命令返回值替换到变量所在位置。所有VS Code核心、内置扩展、第三方扩展注册的带返回值的命令,都可以作为这类变量的参数使用,安装的扩展越多,可用的命令变量就越多,这也是通用变量参考页面相关内容较少的原因。
你提到的两个进程选择命令的来源
${command:pickProcess}和${command:pickRemoteProcess}都不是VS Code核心内置的命令,而是官方C/C++扩展注册的调试专用命令,因此你在VS Code核心代码仓库搜索不到相关实现,在通用内置命令参考文档里也找不到对应说明:
${command:pickProcess}用于本地调试场景,触发后会弹出本地运行的进程列表,返回你选中进程的PID,供附加调试配置使用${command:pickRemoteProcess}和pipeTransport配置配套使用,触发后会通过配置的管道连接到远程环境拉取进程列表,返回选中的远程进程PID
这两个命令仅在C/C++扩展激活的调试场景下可用,未安装对应扩展时调用会触发“命令不存在”报错。
自行查询可用命令变量的方法
你可以通过两种方式获取当前环境下可调用的命令:
- 打开命令面板(默认快捷键
Ctrl+Shift+P/Cmd+Shift+P),执行Developer: Show All Commands,列表中展示的所有命令理论上都可作为${command:}的后缀使用,仅带返回值的命令替换后能得到有效内容,无返回值的命令执行后不会生成可替换的文本 - 特定场景的专用命令变量,可直接查阅对应功能所属扩展的文档,比如各语言调试相关的命令变量,都会在对应语言调试扩展的配置说明文档中提及。
内容的提问来源于stack exchange,提问作者Donghyeon Lee
相关产品推荐
相关产品推荐

