Вот решение с использованием Visual Commander, который является надстройкой VS. Он использует пути к файлам из буфера обмена. Я склонен перейти к командной строке, используя dir /s/b *.??
или другое более сложное решение, использующее powershell для генерации этих путей к файлам.
using EnvDTE;
using EnvDTE80;
using System;
using System.Windows.Forms;
using System.IO;
public class C : VisualCommanderExt.ICommand
{
public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package)
{
if(Clipboard.ContainsText(TextDataFormat.Text))
{
string[] files = Clipboard.GetText(TextDataFormat.Text).Replace("\r","").Split(new string[] {"\n"}, StringSplitOptions.RemoveEmptyEntries);
foreach(string f in files)
{
try
{
FileInfo fileInfo = new FileInfo(f);
if(fileInfo.Exists)
{
DTE.ItemOperations.OpenFile(f, EnvDTE.Constants.vsViewKindPrimary);
}
}
catch{ }
}
}
}
}