Configure o EditorConfig no Visual Studio em 10 minutos ou menos.
Manter estilos de codificação consistentes entre projetos e desenvolvedores pode ser um desafio, especialmente ao trabalhar com equipes que usam configurações, preferências ou até mesmo editores diferentes, como o Visual Studio e o Visual Studio Code. Em seu vídeo " EditorConfig no Visual Studio em 10 minutos ou menos ", Tim Corey explica como o arquivo EditorConfig possibilita definir e aplicar convenções de codificação específicas do projeto em projetos .NET .
Este artigo aborda os conceitos exatamente como Tim os explica, mostrando como as configurações do EditorConfig C# ajudam a manter a uniformidade no estilo, indentação e estrutura do código. Vamos analisar as explicações de Tim passo a passo.
Introdução: Por que o EditorConfig é importante
Tim começa apresentando o projeto EditorConfig, explicando que agora é mais fácil do que nunca implementar configurações por projeto. Em vez de depender de preferências pessoais salvas no Visual Studio ou nas configurações do editor, agora você pode configurar um projeto para manter um estilo de codificação consistente para todos os colaboradores.
Criando o Projeto
Para demonstrar o arquivo EditorConfig, Tim cria um novo projeto Blazor Server no Visual Studio. Ele deu o nome de BlazorDemoApp e usou a configuração padrão. Este projeto .NET simples serve como ambiente de teste para definir e aplicar as configurações do EditorConfig.
Como Tim explica, este projeto não precisa de lógica ou funcionalidades complexas. É apenas um exemplo prático para trabalhar com regras de estilo de código.
Entendendo as preferências do projeto e os estilos de codificação
Neste artigo, Tim discute por que a configuração em nível de projeto é importante. No Visual Studio, cada usuário pode definir preferências para itens como:
-
Usar tabulações ou espaços
-
O tamanho do recuo (ex.: 3 ou 4 espaços)
-
Posicionamento das chaves {} na mesma linha ou em linhas novas
- O tipo de declaração de namespace (com escopo de bloco ou com escopo de arquivo)
Essas preferências geralmente são armazenadas por usuário no Visual Studio, e não por projeto. Tim destaca que, ao trabalhar em equipe, o contexto local de cada um pode ser diferente. Isso pode resultar em formatação de código inconsistente, diferenças desnecessárias em sistemas de controle de versão e tempo perdido alinhando preferências manualmente.
É aí que o formato de arquivo EditorConfig ajuda — ele define um conjunto compartilhado de propriedades EditorConfig que todos os editores dos desenvolvedores podem respeitar automaticamente.
Criando e abrindo um arquivo EditorConfig
Tim então mostra como adicionar um novo arquivo EditorConfig à solução.
Ele clica com o botão direito na solução e seleciona Adicionar → Novo EditorConfig. O Visual Studio pode exibir um pequeno erro ao carregar o arquivo pela primeira vez, mas Tim explica que é uma peculiaridade inofensiva — basta fechar e reabrir o arquivo.
Normalmente, esse novo arquivo recebe o nome .editorconfig, e o Visual Studio o reconhece imediatamente como um documento de configuração. Vale ressaltar que o Visual Studio oferece suporte nativo a esse tipo de arquivo, assim como outros editores de texto, como o Visual Studio Code e até mesmo o Sublime Text, por meio de plugins.
Tim esclarece que o EditorConfig não é uma ferramenta exclusiva da Microsoft. É um padrão da indústria que ajuda diferentes editores a entender e aplicar as mesmas convenções de codificação, garantindo uma formatação consistente em diversos ambientes.
Configurando as definições do arquivo EditorConfig
Assim que o arquivo EditorConfig é aberto, Tim explica que ele importa as configurações padrão da configuração atual do Visual Studio. No entanto, estes podem ser modificados conforme necessário.
Ele navega até a seção Espaço em branco, mostrando como configurar:
-
Use tabulações em vez de espaços
- Largura da aba = 3
Esses são exemplos de propriedades do EditorConfig que definem como a formatação do código deve se comportar. Uma vez salva, essa configuração se aplica a toda a solução, mas não fora dela.
Tim observa que este arquivo EditorConfig também pode ser adicionado a sistemas de controle de versão (como o Git), garantindo que todos os desenvolvedores que clonarem o repositório herdem as mesmas regras. Isso ajuda a manter uma formatação consistente, independentemente de quem escreva o código.
Trabalhando com estilos de código e regras de namespace
Tim então aborda as configurações de estilo de código — especificamente o estilo de declaração de namespace.
Por padrão, o C# usa namespaces com escopo de bloco, onde o namespace é definido com chaves. Tim cria uma classe na pasta Dados para demonstrar esse formato.
Em seguida, ele altera a configuração do arquivo EditorConfig para usar namespaces com escopo de arquivo. Quando ele adiciona outra classe, o Visual Studio aplica automaticamente o estilo atualizado — mostrando o namespace com um ponto e vírgula (;) em vez de chaves.
Isso demonstra como as configurações do EditorConfig podem influenciar os modelos de geração de código padrão no Visual Studio, alinhando-os automaticamente com as convenções de projeto definidas.
Tim também destaca que o recurso de limpeza de código pode ser usado para reformatar arquivos existentes, garantindo que todo o código esteja em conformidade com as regras mais recentes do EditorConfig.
Definir a gravidade e aplicar as regras
Nesta seção, Tim se concentra em como controlar a aplicação de regras usando níveis de severidade no arquivo EditorConfig.
Cada regra pode ter um valor como nenhum, sugestão, aviso ou erro. Tim define a severidade da regra de namespace como erro e, imediatamente, o Visual Studio sinaliza qualquer arquivo que não corresponda ao formato preferido na janela Lista de Erros.
Isso garante que os desenvolvedores sigam os estilos definidos e evita desvios indesejados no arquivo atual ou em todo o projeto.
Embora algumas inconsistências ou bugs do Visual Studio possam aparecer (como sugestões incorretas), Tim observa que esses problemas serão resolvidos com o tempo. O importante é que as regras sejam aplicadas de forma consistente, tornando o código legível e uniforme.
Vários arquivos EditorConfig e escopo de diretório
Tim explica ainda que é possível ter vários arquivos EditorConfig em uma única solução.
Por exemplo:
-
Um arquivo EditorConfig raiz no nível da solução define as configurações gerais para todos os projetos.
- Um arquivo EditorConfig aninhado em uma subpasta como /Data pode substituir algumas propriedades (por exemplo, convenções de nomenclatura, largura da tabulação ou quebras de linha).
Cada projeto EditorConfig se comporta hierarquicamente — o que significa que os arquivos em subdiretórios herdam dos diretórios pai, a menos que sejam explicitamente alterados.
Se você deseja definir a raiz da sua configuração, pode definir a propriedade root = true no arquivo de nível superior. Isso instrui os editores a interromper a busca por mais arquivos EditorConfig nos diretórios pai.
Essa estrutura oferece aos desenvolvedores um controle preciso sobre as regras de formatação em nível de projeto, ao mesmo tempo que permite casos especiais em que uma formatação diferente possa fazer sentido.
Conclusão: Consistência por meio do EditorConfig
Em suas considerações finais, Tim incentiva os desenvolvedores a utilizarem ativamente o EditorConfig em seus projetos .NET .
Ele destaca que essa abordagem permite que as equipes mantenham regras de formatação, convenções de nomenclatura e estilos de layout consistentes — tudo isso sem forçar alterações nas configurações do editor pessoal. Cada arquivo aberto segue automaticamente os estilos definidos no arquivo .editorconfig do projeto.
Ao incluir esses arquivos EditorConfig em sistemas de controle de versão, as equipes garantem que todos — independentemente do editor ou ambiente — sigam as mesmas regras de formatação de código.
Tim conclui seu vídeo enfatizando que o formato de arquivo EditorConfig é simples, flexível e amplamente suportado. Quer você use o Visual Studio, o Visual Studio Code ou outro editor de texto, ele funciona bem para ajudar a manter estilos de codificação consistentes e deixar seu projeto limpo, profissional e legível.
