Trabalhando com projetos em extensões do Visual Studio

Aqui está uma coleção de pequenos exemplos de código em diferentes maneiras de trabalhar com projetos.

Obter projeto do arquivo contido

Isto é como obter o projeto de um de seus arquivos.

 string fileName = "c:\\file\\in\\project.txt";
 PhysicalFile item = await PhysicalFile.FromFileAsync(fileName);
 Project project = item.ContainingProject;

Adicionar arquivos ao projeto

Veja como adicionar arquivos do disco ao projeto.

Project project = await VS.Solutions.GetActiveProjectAsync();

var file1 = "c:\\file\\in\\project\\1.txt";
var file2 = "c:\\file\\in\\project\\2.txt";
var file3 = "c:\\file\\in\\project\\3.txt";

await project.AddExistingFilesAsync(file1, file2, file3);

Procurar tipo de projeto

Descubra com que tipo de projeto está a lidar.

bool isCsharp = await project.IsKindAsync(ProjectTypes.CSHARP);