Opções, Editor de Texto, C#, Avançado

Use a página de opções Avançado para modificar as configurações de formatação do editor, de refatoração de código e de comentários da documentação XML para C#. Para acessar essa página de opções, escolha Ferramentas>Opções e, em seguida, Editor de Texto>C#>Avançado.

Observação

É possível que nem todas as opções estejam listadas aqui.

Análise

  • Executar análise de código em segundo plano para...

    Escolha uma das opções a seguir.

    Opção descrição
    Nenhum Todos os analisadores e correções de código correspondentes estão desabilitados.

    O diagnóstico do compilador e as correções de código correspondentes estão habilitados em todos os documentos abertos.
    Documento atual (padrão) Todos os analisadores são executados apenas no documento ativo no momento.

    Os diagnósticos do compilador estão habilitado em todos os documentos abertos.
    Documentos abertos Todos os analisadores e diagnósticos do compilador estão habilitado em todos os documentos abertos.
    Solução inteira Todos os analisadores e diagnósticos do compilador estão habilitados em todos os documentos da solução, estejam eles abertos ou fechados.

Usando diretivas

  • Colocar as diretivas “System” primeiro ao classificar os usos

    Quando selecionado, o comando Remover e classificar usos no menu de clique com o botão direito do mouse classifica as diretivas using e coloca os namespaces "System" no topo da lista.

    Antes da classificação:

    using AutoMapper;
    using FluentValidation;
    using System.Collections.Generic;
    using System.Linq;
    using Newtonsoft.Json;
    using System;
    

    Após a classificação:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using AutoMapper;
    using FluentValidation;
    using Newtonsoft.Json;
    
  • Separar usando grupos de diretivas

    Quando selecionado, o comando Remover e classificar usos no menu de clique com o botão direito do mouse separa as diretivas using inserindo uma linha vazia entre os grupos de diretivas que têm o mesmo namespace de raiz.

    Antes da classificação:

    using AutoMapper;
    using FluentValidation;
    using System.Collections.Generic;
    using System.Linq;
    using Newtonsoft.Json;
    using System;
    

    Após a classificação:

    using AutoMapper;
    
    using FluentValidation;
    
    using Newtonsoft.Json;
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
  • Sugerir usings para tipos nos assemblies do .NET Framework

  • Sugerir usos para tipos em pacotes NuGet

    Quando essas opções estiverem selecionadas, uma Ação Rápida estará disponível para instalar um pacote NuGet e para adicionar uma diretiva using para tipos não referenciados.

    Quick Action to install NuGet package in Visual Studio

  • Adicionar diretivas using ausentes quando colar

    Quando essa opção está selecionada, as diretivas using são adicionadas automaticamente ao código quando você cola um tipo em um arquivo.

Realçar

  • Realçar referências a símbolo sob o cursor

    Quando o cursor é posicionado em um símbolo, ou ao clicar em um símbolo, todas as instâncias desse símbolo no arquivo de código são realçadas.

Estrutura de tópicos

  • Entrar no modo de estrutura de tópicos quando os arquivos forem abertos

    Quando selecionado, descreve o arquivo de código automaticamente, o que cria blocos de código recolhíveis. Na primeira vez que um arquivo é aberto, blocos #regions e blocos de códigos inativos são recolhidos.

  • Mostrar separadores de linha de procedimento

    O editor de texto indica o escopo visual dos procedimentos. Uma linha é desenhada nos arquivos de origem .cs do seu projeto nos locais listados na tabela a seguir:

    Local no arquivo de origem .cs Exemplo de local da linha
    Após o encerramento de um constructo de declaração de bloco – No final de uma classe, estrutura, módulo, interface ou enumeração
    – Depois de uma propriedade, função ou sub
    – Não entre cláusulas get e set em uma propriedade
    Depois de um conjunto de constructos de linha única – Depois das instruções de importação, antes de uma definição de tipo em um arquivo de classe
    – Depois de variáveis declaradas em uma classe, antes de qualquer procedimento
    Depois de declarações de linha única (declarações de nível não de bloco) – Após instruções de importação, instruções de herança, declarações de variáveis, declarações de eventos, declarações de delegação e instruções de declaração DLL

Guias de estrutura de bloco

Marque essas caixas de seleção para exibir linhas verticais pontilhadas entre chaves ({}) em seu código. Isso permite que você veja facilmente blocos individuais de código para o seu nível de declaração e construções no nível do código.

Comentários

  • Gerar comentários da documentação XML para ///

    Quando selecionado, insere os elementos XML dos comentários da documentação XML depois que você digita a introdução de comentário ///. Para obter mais informações sobre a documentação XML, confira Comentários da documentação XML (Guia de Programação em C#).

Extrair Método

  • Não colocar ref nem out no struct personalizado

    Desmarque essa caixa de seleção para evitar clonagem potencialmente não intencional de structs referenciando objetos struct existentes ao extrair uma expressão em uma chamada de método.

    Exemplo

    Suponha que as seguintes class e struct existam em seu código:

    public struct CustomStruct
    {
        private int Count;
    
        public int Bump => ++Count;
    }
    
    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           i += cs.Bump;   // select this line
        }
    }
    

    Se a opção "Não colocar ref ou out no struct personalizado" estiver desmarcada, o recurso "Extrair método" gerará o seguinte:

    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           NewMethod(ref cs, ref i);
        }
    
        private static void NewMethod(ref CustomStruct cs, ref int i)
           => i += cs.Bump;
    }
    

    Se a opção "Não colocar ref ou out no struct personalizado" estiver marcada, o recurso "Extrair método" gerará o seguinte:

    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           i = NewMethod(cs, i);
        }
    
        private static int NewMethod(CustomStruct cs, int i)
        {
           i += cs.Bump;
           return i;
        }
    }
    

Dicas Embutidas

  • Dicas de Nome de Parâmetro Embutido

    Quando selecionadas, inserem dicas de nome de parâmetro literais, conversão de literais e instanciações de objetos antes de cada argumento em chamadas de função.

    Inline Parameter Name Hints for CSharp

  • Dicas de tipo embutidas

    Quando selecionadas, insere dicas de tipo embutidas para variáveis com tipos inferidos e tipos de parâmetro lambda.

    Inline Type Hints for CSharp

Margem de herança

  • Quando selecionada, adiciona ícones às margens que representam as implementações e substituições do código. Clicar nos ícones de margem de herança exibirá as opções de herança que você pode selecionar para navegar.

    Inheritance Margin

Confira também