Visual Studio 2019 + Solution Filters: uma maior performance no carregamento de projetos
No ambiente corporativo é extremamente comum a existência de Solutions criadas por meio do Visual Studio que contenham dezenas ou, até mesmo, centenas de projetos. O trabalho com estas soluções envolverá na maioria das vezes implementações e ajustes apenas em projetos específicos, sendo ainda frequente que isto aconteça com base na divisão de profissionais em times focados em conjuntos de funcionalidades bem determinados.
Como podemos então abrir somente parte dos projetos que compõem uma solução, obtendo assim uma maior performance durante o carregamento destes artefatos no Visual Studio e trazendo apenas o que um Desenvolvedor precisa naquele momento?
O Visual Studio 2019 conta agora com os Solution Filters, recurso que permite selecionar/filtrar apenas um conjunto de projetos para abertura e trabalho a partir da IDE.
Para criar um Solution Filter será necessário abrir no Visual Studio a solução que servirá de base para a criação deste tipo de filtro:
Supondo que para este exemplo serão utilizados para fins de trabalho apenas os projetos ClassLibrary1¸ ClassLibrary2 e TesteVariosProjetos, teremos então de efetuar o unload de ClassLibrary3 e ClassLibrary4 acessando o menu de contexto, opção Unload Project:
Na próxima imagem é possível observar o resultado no Solution Explorer após a execução deste procedimento:
Clicar agora com o botão direito do mouse sobre a Solution, selecionando em seguida a opção Save As Solution Filter:
Neste momento será solicitada a gravação de um arquivo com a extensão .slnf (SolutionFilterArtigo.slnf), correspondente ao Solution Filter no qual constarão os projetos ClassLibrary1¸ ClassLibrary2 e TesteVariosProjetos:
Confirmada esta tarefa, o arquivo .slnf estará disponível para abertura através das mesmas funcionalidades disponível para Solutions convencionais (arquivos de extensão .sln):
Carregado o arquivo SolutionFilterArtigo.slnf aparecerão somente os projetos ClassLibrary1¸ ClassLibrary2 e TesteVariosProjetos: