65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.60/5 (36投票s)

2007年4月24日

CPOL

1分钟阅读

viewsIcon

52268

downloadIcon

842

一个可以帮助使用 Visual Studio 编辑器来搜索、编写、直接在代码中修改代码的库。

Screenshot - screenshot.jpg

引言

本文档展示了如何控制当前运行的 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、安全代码、加密应用程序。

© . All rights reserved.