帮助使用 EnvDTE - 一个简单的小型库






3.60/5 (36投票s)
一个可以帮助使用 Visual Studio 编辑器来搜索、编写、直接在代码中修改代码的库。

引言
本文档展示了如何控制当前运行的 Visual Studio IDE 实例。您可以获取对 DTE 对象的引用 - Visual Studio 自动化对象模型中的顶级对象。一旦您获得了对该对象的引用,您就可以查询有关解决方案的信息、解决方案中的项目、启动构建等。
我的代码是一个非常简单的库,重点是演示如何使用 DTE 对象。有关更详细的自动化示例,您可以查阅 MSDN 文档,但本文档应该可以帮助您开始使用该对象模型。
DTE 对象
DTE 代表“开发工具可扩展性”,是对象的代码类。它实现了接口“_DTE
”。您可以在 Visual Studio 文档的“DTE 对象”下,以及“引用 DTE 对象”文档中找到有关 DTE 对象的更多信息。
Using the Code
文件库包含一个类 VisualStudioIdea
,该类定义了一些相关的方法。我们需要做的第一件事是能够访问系统的运行对象表。为此,我们需要访问一些位于 ole32.dll 中的函数。
[DllImport("ole32.dll", EntryPoint = "GetRunningObjectTable")]
static extern uint GetRunningObjectTable(uint res, out UCOMIRunningObjectTable ROT);
[DllImport("ole32.dll", EntryPoint = "CreateBindCtx")]
static extern uint CreateBindCtx(uint res, out UCOMIBindCtx ctx);
现在您可以可以使用 Connect
了。
public static bool Connect()
public static Project GetCurrentProject()
more...
public static bool Disconnect()
历史
这是该库的第一个原始版本,诞生于 2007 年 3 月左右。
关于 Elia Conchione
Elia Conchione 是一位居住在瑞士卢加诺的软件工程师。当前的编程兴趣包括 C、C++、C#、Linux、Unix、Mac OS X、安全代码、加密应用程序。