使用COM连接到正在运行的VisualStudio2003实例,生成并读取输出

2024-09-25 06:36:38 发布

您现在位置:Python中文网/ 问答频道 /正文

对于Visual Studio 6.0,我可以连接到正在运行的实例,如:

o = GetActiveObject("MSDev.Application")
  • 我应该为VisualStudio2003使用什么程序ID?在
  • 一旦有了引用VS2003实例的COM对象,如何执行“构建解决方案”?在
  • 如何在执行生成解决方案命令后获取生成输出窗口的字符串内容?在

是的,我知道我可以从命令行构建解决方案。但在这种情况下,我需要连接到一个正在运行的visualstudio实例。在

编辑:找到并提交了答案,见下文。在


Tags: 对象实例字符串命令程序comidapplication
1条回答
网友
1楼 · 发布于 2024-09-25 06:36:38

经过一番研究(主要是查看EnvDTE文档),我自己找到了解决方法:

要构建当前解决方案(Python中的代码):

def build_active_solution(progid="VisualStudio.DTE.7.1"):
    from win32com.client import GetActiveObject
    dte = GetActiveObject(progid)
    sb = dte.Solution.SolutionBuild
    sb.Build(True)

    output = dte.Windows['Output'].Object.ActivePane.TextDocument.Selection
    output.SelectAll()
    return output.Text

相关问题 更多 >