如何在VS包项目中获取DTE对象实例?

如何在VS包项目中获取DTE实例? 它在addin项目中很简单,因为application作为onConnection方法的参数传递,但目前还不清楚如何在包中获取它。

从您的主要Package类:

 EnvDTE80.DTE2 dte = this.GetService(typeof(Microsoft.VisualStudio.Shell.Interop.SDTE)) as EnvDTE80.DTE2; 

如果shell未完全初始化,则可以获取获取SDTE服务的null实例。 请参阅此代码示例中的处理方法:

HOWTO:从包中获取EnvDTE.DTE实例