VS Code - Adeus Solution Explorer
    A Solution Explorer não faz mais partes dos projeto criados no VS Code a partir da mais recente atualização do C# Dev Kit.

Se você atualizou o C# Dev Kit no Visual Studio Code e percebeu que o tradicional Solution Explorer desapareceu, saiba que isso não é um bug nem um problema de instalação. Trata-se de uma mudança importante na forma como o desenvolvimento em C# funciona dentro do VS Code.





Neste artigo, vamos entender o que mudou, por que a Microsoft tomou essa decisão e como trabalhar com seus projetos .NET a partir de agora.

Por muitos anos, os desenvolvedores .NET acostumados com o Visual Studio tradicional utilizaram o Solution Explorer para navegar entre projetos, adicionar arquivos, gerenciar referências e executar diversas tarefas do dia a dia.

No entanto, a equipe do C# Dev Kit decidiu remover esse recurso e integrar a experiência de desenvolvimento ao próprio Explorer nativo do VS Code.

Segundo a Microsoft, o objetivo é simplificar a experiência e fazer com que o desenvolvimento em C# siga o mesmo padrão utilizado pelas demais linguagens dentro do editor.

Por que o Solution Explorer foi removido?

A Microsoft apresentou algumas razões para essa mudança:

O C# se comportava de maneira diferente das demais linguagens no VS Code;
Existia uma duplicação de interfaces e funcionalidades;
Muitos iniciantes acreditavam que um projeto sem um arquivo .sln estava quebrado;
Dependências entre projetos acabavam ficando escondidas dentro do arquivo de solução;
Havia uma mistura entre itens físicos e virtuais na árvore de navegação;
O onboarding do desenvolvedor .NET ficava mais complexo.

Em resumo, a equipe quer que o VS Code trate projetos .NET da mesma forma que trata projetos JavaScript, Python ou Go: usando a estrutura de pastas do sistema de arquivos.

Agora você não precisa mais de uma Solution

Talvez essa seja a maior mudança conceitual.

No novo modelo, você pode abrir simplesmente uma pasta contendo seus projetos e começar a trabalhar imediatamente, sem a necessidade de abrir um arquivo .sln ou .slnx.

Quando isso acontece, o VS Code entra automaticamente no modo:  C# Workspace Dev Mode

Nesse modo, o workspace inteiro passa a funcionar como uma "solução virtual". Todos os recursos do C# continuam disponíveis:
   IntelliSense;
   Navegação entre tipos;
   Refatorações;
   Depuração;
   Compilação.

Tudo funciona normalmente, mesmo sem uma solution tradicional.

O novo painel: C# Project Details

No lugar do antigo Solution Explorer surgiu um novo painel chamado:  C# Project Details

Esse painel mostra informações sobre:
   Dependências;
   Frameworks;
   Pacotes NuGet;
   Projetos referenciados;
   Arquivos vinculados.

Porém, existe uma limitação importante:  O painel é apenas de visualização (read-only).

Não é possível adicionar referências ou criar arquivos diretamente por ele.

Como compilar projetos agora?

A compilação continua bastante simples.

Basta clicar com o botão direito sobre a pasta do projeto ou sobre o arquivo .csproj e utilizar:
  Build
  Clean
  Rebuild
  Publish

Outra opção é utilizar o atalho:  CTRL + SHIFT + B

que executa a tarefa de compilação do workspace.

E a depuração?

A depuração deixou de ficar associada ao antigo Solution Explorer.

Agora você pode: 
    pressionar F5;
    utilizar o menu Run and Debug;
    utilizar o menu Run do VS Code.

A experiência fica mais alinhada com outras linguagens suportadas pelo editor.

Como criar novos arquivos C#?

Aqui encontramos uma das maiores limitações da implementação atual.

Não é mais possível:  Botão direito → Add → Class
como acontecia anteriormente.

Para criar um novo arquivo C#, faça:  CTRL + SHIFT + P
 
e execute o comando:  .NET: New File...

Depois escolha: 
   O projeto;
   O template desejado.

Por exemplo:  
  Class;
  Interface;
  Enum;
  API Controller;
  Arquivo personalizado.

Existe, porém, uma pequena inconveniência:

O novo arquivo é criado sempre na raiz do projeto e depois precisa ser movido manualmente para a pasta desejada.

Como criar um novo projeto?

O processo também foi movido para a Command Palette.

Execute:  CTRL + SHIFT + P

e escolha: .NET: New  Project...

Depois basta selecionar:
   o template;
   o nome do projeto;
   o diretório de criação.
   Gerenciando pacotes NuGet

O gerenciamento de pacotes também foi integrado ao Explorer.

Clique com o botão direito no:
   diretório do projeto; ou arquivo .csproj.

Você encontrará opções como:
   Add NuGet Package;
   Update NuGet Package;
   Remove NuGet Package.

A experiência ficou bastante semelhante à existente no Visual Studio.

Ainda é possível usar Solutions?  Sim.

Embora elas não sejam mais obrigatórias, você ainda pode criar uma solution usando:

.NET: Create a Solution File

Inclusive é possível escolher entre:
   .sln
   .slnx

Se existir apenas uma solution no workspace, o C# Dev Kit a utilizará automaticamente.

Trabalhando com múltiplas Solutions

Projetos maiores frequentemente possuem várias soluções.

Nesse cenário, o VS Code inicia no: C# Workspace Dev Mode

Mas você pode selecionar qual solution será utilizada clicando com o botão direito sobre ela e escolhendo:  Switch Solution

O painel C# Project Details e a barra de status são atualizados automaticamente para refletir a solution ativa.

Para quem vem do Visual Studio, especialmente desenvolvedores .NET mais experientes, essa mudança causa um certo estranhamento inicial.

A ausência do Solution Explorer inicialmente parece uma perda de produtividade.

Por outro lado, a ideia da Microsoft faz sentido: aproximar o desenvolvimento em C# da filosofia do VS Code, que é baseada em workspaces e sistema de arquivos, e não em um conceito de solução obrigatória.

Provavelmente será apenas uma questão de adaptação.

Conclusão

O Solution Explorer não vai voltar. O futuro do desenvolvimento C# no VS Code está centrado em:
   Workspaces;
   Explorer nativo;
   Command Palette;
   C# Project Details.

Apesar de algumas funcionalidades ainda parecerem incompletas, especialmente a criação de arquivos em subpastas, o novo modelo simplifica a experiência e torna o desenvolvimento .NET mais alinhado com o restante do ecossistema do Visual Studio Code.

Para quem trabalha com .NET, vale a pena começar a se acostumar com essa nova abordagem, porque ela será, ao que tudo indica, o caminho adotado pela Microsoft daqui para frente.

E estamos conversados..

"Então aproximaram-se os que estavam no barco, e adoraram-no, dizendo: És verdadeiramente o Filho de Deus."
Mateus 14:33

Referências:


José Carlos Macoratti