如何从 vscode 扩展中按名称指定/启动启动配置

问题描述 投票:0回答:1

我正在开发一个 vscode 扩展,我想从该扩展启动一个调试会话。在我的 launch.json 中,我定义了两个单独的启动配置(调试配置 A、调试配置 B)

是否可以从扩展启动特定配置?

从扩展中,我可以调用以下命令,但这会打开一个快速选择来指定配置,但我不希望这样:

await vscode.commands.executeCommand('workbench.action.debug.start');

我想要这样的命令,

await vscode.commands.executeCommand('workbench.action.debug.start', 'Debug Configuration A');

这里有一个有点相关的 PR,但这不允许我指定我想要的确切启动配置,并且仍然会弹出一个快速选择 https://github.com/microsoft/vscode/pull/193156

debugging configuration launch
1个回答
0
投票

我设法通过这样做解决了这个问题:

export function getLaunchConfigurations() {
  let rootPath = getRootPath();
  if (rootPath) {
    const config = vscode.workspace.getConfiguration("launch", rootPath);
    const configurations = config.get<any[]>("configurations");

    return configurations;
  }
}

export function getLaunchConfigurationByName(configName: string) {
  let configurations = getLaunchConfigurations();
  if (!configurations) {
    return;
  }

  for (var config of configurations) {
    if (config.name === configName) {
      return config;
    }
  }
}

let debugConfig = getLaunchConfigurationByName(debugTarget);
if (debugConfig) {
    await vscode.commands.executeCommand('debug.startFromConfig', debugConfig);
}
© www.soinside.com 2019 - 2024. All rights reserved.