C#:选择当前活动的文件

本文关键字:活动 文件 选择 | 更新日期: 2023-09-27 18:20:45

所以我正试图为Visual Studio 2012创建一个外接程序,但我被卡住了。所以这就是我被卡住的地方。

比方说,在Visual Studio中,我正在处理一个文件。假设它被称为Default.aspx。我的加载项是这样工作的:当你按下工具栏上的按钮时,它会将文件中的所有内容复制到一个字符串变量中,并对其进行一些操作。

那么,我可以使用哪个功能来"选择"当前打开的文件呢?我可以在visual studio中打开4-5个选项卡,但我只想选择当前正在处理的文件,在这种情况下该文件将是Default.aspx。有办法做到这一点吗?

C#:选择当前活动的文件

您需要首先获得对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页。