Introdução
O C# 10 trouxe algumas melhorias e facilidades para o desenvolvedor, e um desses novos recursos disponíveis é o namespace com escopo de arquivo, o objetivo é remover um nível de identação dos arquivos quando os mesmos possuem apenas um namespace, reduzindo a rolagem horizontal e vertical tornando o código mais legível.
Recentemente me deparei com a necessidade de alterar os arquivos de uma solução com vários projetos, e sinceramente fazer isso arquivo por arquivo não é nem um pouco produtivo.
Existe uma forma de alterar todos os arquivos apenas com um comando e isso pode ser feito no Visual Studio ou Visual Studio Code.
Configurações necessárias
Precisamos usar o C# 10 em nossos projetos, podemos configurar de forma explícita alterando as propriedades do projeto no arquivo MeuProjeto.csproj
Em seguida, caso não exista, vamos criar uma arquivo .editorconfig
na raiz da solução e adicionar a seguinte instrução:
Visual Studio
Após as configurações necessárias o Visual Studio vai sugerir melhorias no código, podemos selecionar a opção Solution
para aplicar a mudança em todos os arquivos da solução.
Visual Studio Code
Se você estiver utilizando o VS Code pode utilizar o dotnet cli com o comando dotnet format
.
dotnet tool update --global dotnet-format
dotnet format MySolution.sln --severity info --diagnostics=IDE0161
O comando dotnet tool update --global dotnet-format
atualiza a ferramenta dotnet-format de forma global, e o comando dotnet format MySolution.sln --severity info --diagnostics=IDE0161
aplica a modificação dos namespace em toda a solução.
Conclusão
A indentação e organização do código é uma boa prática que facilita o entendimento e a manutenção do código. Essa foi uma dica rápida para atualizar o namespace de todos os arquivos de uma solução com vários projetos. Para mais informações sobre as novidades do C# 10 e para saber mais sobre o comando dotnet format segue os links da documentação oficial.