Partilhar via


Extração e refatorações em linha

O Visual Studio fornece várias refatorações para extrair código em novas construções ou para inlinar código para simplificar a sua base de código. Pode aceder a estas refatorações através do menu Quick Actions and Refactorings (Ctrl+.).

Método de extração

Aplica-se a: C#, Visual Basic

Esta refatoração transforma um fragmento de código num método próprio, reduzindo a duplicação quando o mesmo código precisa de ser chamado de vários locais.

  1. Destaque o código a extrair:

    • C#:

      Captura de ecrã do código C# para a classe Program. Na função principal dessa classe, uma linha de código é destacada.

    • Visual Basic:

      Captura de ecrã do código Visual Basic do sub principal. Nesse Sub, uma linha de código está destacada.

  2. De seguida, faça uma das seguintes ações:

    • Teclado
      • Pressiona Ctrl+R, depois Ctrl+M. (O teu atalho de teclado pode ser diferente consoante o perfil que selecionaste.)
      • Pressiona Ctrl+. para ativar o menu Quick Actions and Refactorings e seleciona Extrair Método no pop-up da janela de Pré-visualização.
    • Rato
      • Selecione Editar > Método de Extração de Refator>.
      • Clique com o botão direito no código e selecione Método Refactor > , Extrair > , Extrair.
      • Clique com o botão direito no código, selecione o menu Quick Actions and Refactorings e selecione Extrair Método na janela de Pré-visualização.

    O método será criado imediatamente. Agora pode renomear o método escrevendo o novo nome.

    Sugestão

    Também pode atualizar comentários e outras cadeias para usar este novo nome, bem como pré-visualizar alterações antes de guardar, usando as caixas de seleção na caixa Renomear que aparece no canto superior direito do seu IDE.

    • C#:

      Captura de ecrã do código C# para a classe Program. Um nome de método é destacado e a janela pop-up Renomear está aberta.

    • Visual Basic:

      Captura de ecrã do código Visual Basic do sub principal. O nome do método é destacado e a janela pop-up Renomear está aberta.

  3. Quando estiver satisfeito com a alteração, escolha o botão Aplicar ou pressione Enter e as alterações serão confirmadas.

Extrair função local

Aplica-se a: C#

Esta refatoração transforma um fragmento de código de um método existente numa função local, útil quando o código extraído só precisa de ser chamado dentro do mesmo método.

  1. Destaca o código a extrair.

  2. Pressione Ctrl+. para acionar o menu Ações Rápidas e Refatoração .

  3. Selecione Extrair função local.

    Captura de ecrã da janela de código Visual Studio com uma linha destacada. O menu Quick Actions and Refactorings está aberto e a função Extrair local está selecionada.

Extrair classe base

Aplica-se a: C#, Visual Basic

Esta refatoração extrai membros de uma classe selecionada para uma nova classe base, útil quando se quer partilhar membros entre classes através da herança.

  1. Coloque o seu caret no nome da turma ou num membro destacado.

  2. Pressione Ctrl+. para acionar o menu Ações Rápidas e Refatoração .

  3. Selecione Mover membro(s) para uma nova classe base.

    Captura de ecrã do diálogo da classe base do Extrair.

A nova caixa de diálogo Extrair Classe Base será aberta, onde você poderá especificar o nome da classe base e o local de onde ela deve ser colocada. Pode selecionar os membros que quer transferir para a nova classe base e escolher fazer os membros abstratos selecionando a caixa de seleção na coluna Criar abstrato.

Interface de extração

Aplica-se a: C#, Visual Basic

Esta refatoração cria uma interface usando membros existentes de uma classe, struct ou interface, permitindo que outros tipos partilhem uma assinatura comum.

  1. Coloca o cursor no nome da turma.

    • C#:

      Captura de ecrã do código destacado para a Interface de Extração - C#.

    • Visual Basic:

      Captura de ecrã do código destacado - Visual Basic.

  2. De seguida, faça uma das seguintes ações:

    • Teclado
      • Pressione Ctrl+R, depois Ctrl+I. (O teu atalho de teclado pode ser diferente consoante o perfil que selecionaste.)
      • Pressiona Ctrl+. para ativar o menu Quick Actions and Refactorings e seleciona Extrair Interface no popup da janela de Pré-visualização.
    • Rato
      • Selecionar Editar > Interface de Extração de Refator>.
      • Clique com o botão direito no nome da classe, selecione o menu Quick Actions and Refactorings e selecione Extrair Interface na janela de Pré-visualização.
  3. Na caixa de diálogo Extrair Interface que aparece, introduza a informação solicitada:

    Captura de ecrã da interface de extração.

    Campo Descrição
    Novo nome da interface O nome da interface a ser criada. O nome será por defeito IClassName, onde ClassName é o nome da classe que selecionaste acima.
    Novo nome de ficheiro O nome do ficheiro gerado que irá conter a interface. Tal como no nome da interface, este nome será por defeito IClassName, onde ClassName é o nome da classe que selecionaste acima. Também pode selecionar a opção Adicionar ao ficheiro atual.
    Selecionar membros públicos para formar a interface Os itens a extrair para a interface. Pode escolher quantos quiser.
  4. Escolha OK.

    A interface é criada no ficheiro com o nome especificado. Além disso, a classe que escolheste implementa essa interface.

    • C#:

      Captura de ecrã da classe resultante - C#.

      Captura de Ecrã da Interface Resultante - C#.

    • Visual Basic:

      Captura de Ecrã da Classe Resultante - Visual Basic.

      Captura de Ecrã da Interface Resultante - Visual Basic.

Método inline

Aplica-se a: C#, Visual Basic

Esta refatoração substitui as utilizações de um método estático, de instância ou de extensão dentro de um único corpo de instrução com a sua implementação, com a opção de remover a declaração original do método.

  1. Coloque o seu caret no uso do método.

  2. Pressione Ctrl+. para acionar o menu Ações Rápidas e Refatoração .

  3. Escolha uma das seguintes opções:

    Selecione Inline <QualifiedMethodName> para remover a declaração do método embutido:

    Captura de ecrã do menu Quick Actions and Refactorings em Visual Studio com Converter 'Inline 'CreateWidget()' selecionado e alterações no código C# mostradas.

    Selecione Inline e keep <QualifiedMethodName> para preservar a declaração de método original:

    Captura de ecrã do menu Quick Actions and Refactorings em Visual Studio com Converter 'Inline e manter 'CreateWidget()' ativado e alterações ao código C# mostradas.

Variável temporária em linha

Aplica-se a: C#, Visual Basic

Esta refatoração remove uma variável temporária e substitui-la pelo seu valor, simplificando o código quando a variável temporária torna o código mais difícil de compreender.

  1. Destaque ou coloque o cursor de texto dentro da variável temporária a ser alinhada:

    • C#:

      Captura de ecrã do código destacado para variável temporária inline - C#.

    • Visual Basic:

      Captura de ecrã do código destacado - Visual Basic.

  2. De seguida, faça uma das seguintes ações:

    • Teclado
      • Pressione Ctrl+. para acionar o menu Ações Rápidas e Refatoração .
    • Rato
      • Clique com o botão direito no código e selecione o menu Quick Actions and Refactorings .
  3. Selecione a variável temporária Inline no pop-up da janela de Pré-visualização.

    A variável é removida e os seus usos substituídos pelo valor da variável.

    • C#:

      Captura de ecrã do resultado Inline - C#.

    • Visual Basic:

      Captura de ecrã do resultado Inline - Visual Basic.