1

首先让我说我是为 Visual Studio 开发插件的新手......

使用 DTE2 对象时,我试图获取有关当前所选文档的一些信息。如果我做这样的事情:

DTE2 VisualStudioInstance = somethingOrOther;
Document documentInfo;

if(VisualStudioInstance.SelectedItems.MultiSelect == false)
{
    documentInfo = VisualStudioInstance.SelectedItems.Item(1).ProjectItem.Document;
}

Document 对象似乎总是为空。VisualStudioInstance.SelectedItems.Item(1).Project 也是 null (我不一定需要,但这似乎也很奇怪。它确实给了我所选项目的名称,所以我至少知道它正在找到一些东西.

现在,如果我直接访问 VisualStudioInstance.ActiveDocument,我会得到我正在寻找的所有信息。文档是否真的必须打开才能获取信息?如果是这样,我将如何在不打开所选项目的情况下获取文档信息?我要查找的主要内容是所选文件的完整路径信息。提前致谢。

4

2 回答 2

2

实际上你可以使用ProjectItem.FileNames属性。它是一个索引属性,即使文档关闭也有效。

于 2010-08-17T18:15:48.847 回答
1

如果它已关闭,请先打开它,然后文档实例应该可用。

if (!projectItem.IsOpen)
{
    projectItem.Open();
}
于 2013-03-27T23:23:39.443 回答