public static string[] GetSelectedFiles(bool includeChildren)
{
var selectedFiles = new List<string>();
foreach (var item in GetSelectedItems())
{
var project = item.pHier as IVsProject;
if (project == null)
{
selectedFiles.Add(SolutionFileName);
}
else if (!includeChildren)
{
selectedFiles.Add(GetItemFileName(project, item.itemid));
}
else
{
selectedFiles.AddRange
(GetProjectItemIds(item.pHier, item.itemid)
.Select(x => GetItemFileName(project, x)));
}
}
return selectedFiles.Where(x => !String.IsNullOrEmpty(x)).ToArray();
}