1

Visual Studio 用のアドインを開発するのは初めてだと言うことから始めましょう...

DTE2 オブジェクトを使用しているときに、現在選択されているドキュメントに関する情報を取得しようとしています。私がこのようなことをすると:

DTE2 VisualStudioInstance = somethingOrOther;
Document documentInfo;

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

Document オブジェクトは常に null のようです。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 に答える