Partilhar via


Defina estilos de codificação consistentes com EditorConfig

Para impor estilos de codificação consistentes para todos que trabalham em uma base de código, você pode adicionar um .editorconfig arquivo à sua solução ou projeto. As configurações do arquivo EditorConfig seguem uma especificação de formato de arquivo mantida pela EditorConfig.org. Muitos editores de código e aplicativos oferecem suporte a arquivos EditorConfig, incluindo o Visual Studio. Pode usar mais do que um .editorconfig ficheiro e incluí-los como parte de uma base de código.

Você pode preencher manualmente um arquivo EditorConfig ou gerá-lo automaticamente com base nas configurações de estilo de código escolhidas no Visual Studio. Para mais informações, consulte Adicionar e remover ficheiros EditorConfig.

Quando você adiciona um arquivo EditorConfig ao seu projeto no Visual Studio, somente novas linhas de código são formatadas com base nas configurações de EditorConfig. A formatação do código existente não é alterada, a menos que você execute os comandos Limpeza de código ou Formatar documento . Para obter mais informações, consulte Aplicar estilos de código.

Para .NET, o Visual Studio mostra uma versão formatada do .editorconfig ficheiro em vez do ficheiro de texto simples.

Captura de ecrã que mostra o ficheiro .editorconfig.

Preferências de EditorConfig e estilo de código

No Visual Studio, as configurações do arquivo EditorConfig têm precedência sobre as várias configurações globais do editor de texto disponíveis em Opções de Ferramentas>>Editor de Texto>[C# | C/C++ | Visual Basic]>Estilo de código. Você pode usar um arquivo EditorConfig para adaptar cada base de código para usar configurações do editor de texto que são específicas para esse projeto.

Quando você usa um arquivo EditorConfig, você ainda pode continuar a definir suas próprias preferências pessoais do editor no editor de texto do Visual Studio. Essas configurações do editor de texto se aplicam sempre que você estiver trabalhando em uma base de código sem um arquivo EditorConfig ou quando o arquivo EditorConfig não substitui uma configuração específica. Um exemplo dessa preferência é escolher entre tabulações ou espaços para o estilo de recuo do código.

Consistência do código

As configurações do arquivo EditorConfig permitem manter estilos e convenções de codificação consistentes em uma base de código, independentemente do editor ou IDE usado. Alguns estilos de codificação que você pode controlar são estilo de recuo, largura de tabulação, caracteres de fim de linha e codificação. Por exemplo, se o seu código fonte C# tiver uma convenção em que os recuos usam cinco espaços, os documentos utilizam codificação UTF-8 e as linhas terminam com CR/LF, pode configurar um arquivo EditorConfig para seguir essa convenção. Para informações sobre convenções suportadas, consulte Definições suportadas.

Os arquivos EditorConfig são úteis quando as convenções de codificação que você usa em seus projetos pessoais diferem daquelas convenções usadas nos projetos da sua equipe. Por exemplo, poderá preferir que um recuo adicione um caractere de tab em seu código. No entanto, a tua equipa pode preferir que uma reentrância adicione quatro espaços em vez disso. Os arquivos EditorConfig resolvem esse problema permitindo que você tenha uma configuração para cada cenário.

Como um .editorconfig arquivo na base de código contém as configurações de EditorConfig, elas viajam junto com essa base de código. Contanto que você abra o arquivo de código em um editor compatível com EditorConfig, as configurações do editor de texto serão ativadas.

Configurações suportadas

O EditorConfig suporta todas as linguagens suportadas pelo Visual Studio, exceto XML.

Para cada linguagem, o editor no Visual Studio suporta o conjunto central de propriedades do EditorConfig:

  • indent_style
  • tamanho_da_indentação
  • largura_tab
  • fim_de_linha
  • conjunto de carateres
  • trim_trailing_whitespace
  • insert_final_newline
  • raiz

Para C# e Visual Basic, o EditorConfig também suporta regras de estilo de código , incluindo linguagem, formatação e nomeação. Por exemplo, pode especificar uma regra de linguagem C# relativamente ao uso de var ao definir variáveis. Ou, pode especificar uma regra de nomenclatura que indique que os nomes dos métodos assíncronos devem incluir um sufixo "Assync".

Adicionar e remover arquivos EditorConfig

Quando você adiciona um arquivo EditorConfig ao seu projeto ou base de código, o Visual Studio formata quaisquer novas linhas de código que você escreve de acordo com as configurações do arquivo EditorConfig. No entanto, o Visual Studio não converte estilos existentes para os novos até que você formate o documento ou execute a limpeza de código. Por exemplo, se os recuos no arquivo forem formatados com guias e você adicionar um arquivo EditorConfig que formate recuos com espaços, os caracteres de recuo não serão convertidos automaticamente em espaços. Quando você formata o documento (selecione Editar>Avançado>Formato de Documento ou pressione Ctrl+K, Ctrl+D), as configurações de espaço em branco no arquivo EditorConfig são aplicadas às linhas de código existentes.

Se você remover um arquivo EditorConfig do seu projeto ou base de código, deverá fechar e reabrir todos os arquivos de código abertos para que as configurações do editor global afetem novas linhas de código.

O Visual Studio utiliza automaticamente ficheiros EditorConfig presentes numa base de código, com base na hierarquia de pastas.

Se não existir ficheiro EditorConfig, pode adicionar um ao projeto usando um dos seguintes métodos:

Gerar um EditorConfig a partir de configurações de estilo de código

Você pode preencher manualmente seu arquivo EditorConfig ou pode gerar automaticamente o arquivo com base nas configurações de estilo de código escolhidas na caixa de diálogo Opções de do Visual Studio. Esta página de opções está disponível em Tools>Options>Text Editor> [C# | C/C++ | Visual Basic] >Code Style>General. Clique em Gerar arquivo .editorconfig a partir das configurações para gerar automaticamente um arquivo de estilo de codificação .editorconfig com base nas configurações desta página de Opções.

Captura de tela de Gerar arquivo editorconfig nas configurações.

Adicionar um arquivo EditorConfig a um projeto

Para adicionar um arquivo EditorConfig ao seu projeto ou solução, execute estas etapas:

  1. Abra um projeto ou solução no Visual Studio. Selecione a solução ou o nó do projeto, dependendo se as configurações do EditorConfig devem ser aplicadas a todos os projetos na solução ou apenas a um. Você também pode selecionar uma pasta em seu projeto ou solução para adicionar o .editorconfig arquivo.

  2. No menu, escolha Project>Add New Item ou pressione Ctrl+Shift+A.

    A caixa de diálogo Adicionar Novo Item é aberta.

  3. Na caixa de pesquisa, digite editorconfig.

    Dois modelos de item de arquivo editorconfig são mostrados nos resultados da pesquisa.

    Captura de tela que mostra modelos de item de arquivo EditorConfig no Visual Studio.

    Se não vires o modelo de item, tens de adicionar o ficheiro manualmente ou podes adicionar a versão Intellicode de .editorconfig, e depois modificá-lo para a tua linguagem.

  4. Selecione o modelo arquivo editorconfig (vazio) para adicionar um arquivo EditorConfig pré-preenchido com opções padrão do EditorConfig para espaço em branco, estilo de código e convenções de nomenclatura. Ou selecione o modelo arquivo editorconfig (.NET) para adicionar um arquivo EditorConfig pré-preenchido com espaço em branco padrão do .NET, estilo de código e convenções de nomenclatura.

    Um novo .editorconfig arquivo aparece no Gerenciador de Soluções e é aberto no editor como uma nova guia.

    Para .NET, o Visual Studio fornece uma versão formatada do ficheiro, da seguinte forma.

    Captura de tela que mostra o arquivo .editorconfig no Gerenciador de Soluções e no editor.

  5. Opcionalmente, edite o arquivo e salve-o.

Hierarquia e precedência de arquivos

Quando você adiciona um .editorconfig arquivo a uma pasta na hierarquia de arquivos, suas configurações se aplicam a todos os arquivos aplicáveis nesse nível e inferior. Você também pode substituir as configurações do EditorConfig para um determinado projeto, base de código ou parte de uma base de código, de modo que ele use convenções diferentes de outras partes da base de código. Fazer isso pode ser útil quando você incorpora código de outro lugar e não quer alterar suas convenções.

Siga estas diretrizes:

  • Para substituir algumas ou todas as configurações do EditorConfig, adicione um .editorconfig arquivo no nível da hierarquia de arquivos que você deseja que essas configurações substituídas sejam aplicadas. As novas configurações de arquivo EditorConfig aplicam-se a arquivos no mesmo nível e arquivos em quaisquer subdiretórios.

    Captura de tela que mostra a hierarquia EditorConfig.

  • Se você quiser substituir algumas, mas não todas as configurações, especifique apenas essas configurações no .editorconfig arquivo. Somente as propriedades listadas explicitamente no arquivo de nível .editorconfig inferior são substituídas. Outras configurações de quaisquer arquivos de nível .editorconfig superior continuam a ser aplicadas.

  • Se você quiser garantir que nenhuma configuração de nenhum arquivo de nível .editorconfig superior seja aplicada a essa parte da base de código, adicione a root=true propriedade ao arquivo de nível .editorconfig inferior.

    # top-most EditorConfig file for this level
    root = true
    

Os arquivos EditorConfig são lidos de cima para baixo. Se houver várias propriedades com o mesmo nome, a propriedade encontrada mais recentemente com o mesmo nome terá precedência.

Editar arquivos EditorConfig

O Visual Studio 2022 fornece um editor visual para arquivos EditorConfig.

Depois de editar o arquivo EditorConfig, você deve recarregar os arquivos de código para que as novas configurações entrem em vigor.

Exemplo

O exemplo a seguir mostra o estado de recuo de um trecho de código C# antes e depois de adicionar um arquivo EditorConfig ao projeto:

  1. Na caixa de diálogoOpções de >, defina as configurações do Editor> de TextoC#>Tabs para o editor de texto do Visual Studio para produzir quatro caracteres de espaço quando você pressionar a tecla Tab.

    Captura de tela que mostra a configuração da guia Editor de Texto.

  2. Como esperado, quando você pressiona a tecla Tab na próxima linha, ela recua a linha adicionando quatro caracteres de espaço em branco.

    Captura de tela que mostra a tecla Tab adicionando espaços no código.

  3. Use EditorConfig para alternar a configuração de guias para usar guias.

    Selecione Usar guias no arquivo EditorConfig.

    Captura de ecrã que mostra a configuração do uso de guias para a tecla Tab.

  4. Quando você pressiona a tecla Tab , os caracteres de tabulação agora aparecem em vez de espaços.

    Captura de tela que mostra a tecla Tab adicionando caracteres de tabulação no código.

Solucionar problemas de configurações do EditorConfig

Se um arquivo EditorConfig existir em qualquer lugar na estrutura de diretórios no local do seu projeto ou acima dele, o Visual Studio aplicará as configurações do editor nesse arquivo ao seu editor. Nesse caso, você pode ver a seguinte mensagem na barra de status:

User preferences for this file type are overridden by this project's coding conventions.

Isso significa que, se quaisquer configurações do editor em Ferramentas>Opções>Editor de Texto (como tamanho e estilo de recuo, tamanho da guia ou convenções de codificação) forem especificadas em um ficheiro EditorConfig no ou acima do projeto na estrutura de diretórios, as convenções no ficheiro EditorConfig substituirão as configurações no Editor de Texto.

Para solucionar problemas do EditorConfig, siga estas etapas:

  1. Para desativar o suporte a EditorConfig no Visual Studio, desmarque a opção Seguir convenções de codificação de projeto em Ferramentas>Opções>Editor de Texto.

    Captura de tela que mostra a configuração para Seguir convenções de codificação do projeto.

  2. Para localizar quaisquer arquivos EditorConfig nos diretórios pai do seu projeto, abra um prompt de comando e execute o seguinte comando a partir da raiz do disco que contém seu projeto.

    dir .editorconfig /s
    
  3. Para controlar o escopo de suas convenções EditorConfig, defina a root=true propriedade no .editorconfig arquivo na raiz do repositório ou no diretório em que o projeto reside.

    O Visual Studio procura um arquivo nomeado .editorconfig no diretório do arquivo aberto e em cada diretório pai. A pesquisa termina quando atinge o caminho de arquivo raiz ou se um .editorconfig arquivo com root=true for encontrado.