Trabalhando com projetos em extensões do Visual Studio

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

Obter projeto do arquivo contido

É assim que se obtém o projeto a partir de um dos 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);

Localizar tipo de projeto

Descubra com qual tipo de projeto você está lidando.

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