我正在开发一个 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 实例,不一定是托管您的扩展的实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)