3

所以我正在尝试为 Visual Studio 2012 创建一个加载项,但我被卡住了。所以这就是我卡住的地方。

假设在 Visual Studio 中我正在处理一个文件。假设它被称为 Default.aspx 。我的插件是这样工作的:当你按下工具栏上的按钮时,它会将文件中的所有内容复制到一个字符串变量中并用它做一些事情。

那么我可以使用哪个函数来“选择”当前打开的文件?我可以在 Visual Studio 中打开 4-5 个选项卡,但我只想选择当前正在处理的文件,在这种情况下将是 Default.aspx。有没有办法做到这一点?

4

1 回答 1

0

您需要首先获得对 IDE 的引用。

DTE2 IDE = (DTE2)GetService(typeof(DTE)));

从 DTE2 参考您可以访问活动文档

Document activeDoc = IDE.ActiveDocument;

要从文档对象中获取文本,您需要以下内容:

// Get a reference to the text document
TextDocument textDoc = activeDoc.Object("TextDocument");

// Create a reference point at the start of the document.
EnvDTE.EditPoint startPoint = textDoc.StartPoint.CreateEditPoint;

// Get all the text from our starting point to the end of the document.
string allText = startPoint.GetText(textDoc.EndPoint);

有关 DTE2 接口的更多详细信息,请参阅此MSDN 页面

于 2014-04-01T16:03:29.527 回答