Dev (Back & Front)ARTIGO

VS Code – Adeus Solution Explorer

VS Code – Adeus Solution Explorer
Imagem: José Carlos Macoratti

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.

é referência em Visual Basic no Brasil e autor dos livros "Aprenda Rápido: ASP" e "ASP, ADO e Banco de Dados na Internet". Mantenedor do site macoratti.net.

Ver perfil