【问题标题】:How to call other extensions in a extension on vscodevscode如何在一个扩展中调用其他扩展
【发布时间】:2019-10-19 20:44:08
【问题描述】:

这是我的要求,我想用一些动态参数启动一个调试会话。 所以我需要开发一个扩展,首先收集参数并将调试器包装器注册到 vscode,然后我必须找到一种方法来使用我的参数调用目标扩展的调试器。

vscode.extensions.getExtension可以获取扩展信息,并且只能激活它。

我在 vscode 的源码中发现了一个名为“debug.startFromConfig”的命令,所以我可以使用vscode.commands.executeCommand 用我自己的配置来执行它。 但不幸的是,我不能在调试适配器上使用 vscode 的 api,因为它不是一个扩展主机,它只是一个单节点程序。

以下是我所期望的,我有一个名为asd 的调试器包装器

我将通过我自己的调试器覆盖 python 调试器的一些配置。(下面的这些代码不能工作,我在上面解释过)

之后我可以运行我的自定义调试器来调用 python 调试器

【问题讨论】:

    标签: visual-studio-code vscode-extensions


    【解决方案1】:

    为什么不使用官方的 startDebugging 扩展 API?请参阅https://github.com/microsoft/vscode/blob/31221e62995c7040400051c2353c3c7c8b303c16/src/vs/vscode.d.ts#L8874

    或者,您可以为您感兴趣的调试类型注册一个 DebugConfigurationProvider 并拦截“resolveDebugConfiguration”方法以动态调整启动配置。请看https://github.com/microsoft/vscode/blob/31221e62995c7040400051c2353c3c7c8b303c16/src/vs/vscode.d.ts#L8544

    是的,vscode.d.ts 是你的朋友...

    【讨论】:

    • 太好了,我再次阅读了调试器文档并解决了它。是的,我也用DebugConfigurationProvider,我只是想自己回答,看到你的回答,非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-05
    • 2019-08-26
    相关资源
    最近更新 更多