gpt4 book ai didi

c# - 获取正确的VS2017实例用于自开发扩展

转载 作者:太空宇宙 更新时间:2023-11-03 14:48:27 24 4
gpt4 key购买 nike

我正在开发一个 Visual Studio 扩展来替换当前事件 .cs 文件中的文本,使用从代码窗口中右键单击上下文菜单调用的自定义命令。

到目前为止访问文档是有效的,但是如果我启动了多个 VS2017 实例,那么我希望在新实例中完成的更改将在第一个打开的实例中进行。

是否有可能让正确的实例无论打开多少个实例都只访问当前事件文档?

目前我得到了以下代码的实例:

dte = (EnvDTE.DTE)System.Runtime.InteropServices.Marshal
.GetActiveObject("VisualStudio.DTE.15.0");

有人知道如何解决这个问题吗?

最佳答案

您需要在您的包的类中使用(从 AsyncPackage 基类继承):

EnvDTE.DTE dte = (EnvDTE.DTE) base.GetService(typeof(Microsoft.VisualStudio.Shell.Interop.SDTE));

您使用的代码会返回一些在您的系统上运行的 DTE 实例,不一定是托管您的扩展的实例。

关于c# - 获取正确的VS2017实例用于自开发扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53010117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com