その下にあるプロジェクトとフォルダーのリストを取得しようとしています。以下を使用して、プロジェクトとプロジェクト項目を取得できます。
DTE2 dte2;
dte2=(DTE2)System.Runtime.InteropServices.Marshal.
GetActiveObject("VisualStudio.DTE.10.0");
Projects projects = dte2.Solution.Projects;
次に、プロジェクト アイテムを繰り返し処理し、アイテムの「種類」を取得します。ただし、GUID のみが表示されます。アイテムがフォルダーかどうかを知る必要があります。それ、どうやったら出来るの?
参照:
var item = projects.GetEnumerator();
while (item.MoveNext())
{
var project = item.Current as Project;
for(i=1;i<project.ProjectItems.Count;i++)
{
string itemType = project.ProjectItems.Item(i).Kind;
}
}
編集 :
現在、回避策を使用しています:
string location = project.ProjectItems.Item(i).get_FileNames(1);
if (location.EndsWith(@"\"))
{
// It is a folder E.g C:\\Abc\\Xyz\\
}