Guia de produtividade do Visual Studio para desenvolvedores de C#Visual Studio productivity guide for C# developers

Saiba como o Visual Studio torna os desenvolvedores mais produtivos do que nunca.Learn how Visual Studio makes developers more productive than ever. Aproveite nossas melhorias em desempenho e produtividade como a navegação para assemblies descompilados, sugestões de nomes de variáveis durante a digitação, um modo de exibição de hierarquia no Gerenciador de Testes, opção Ir para Todos (Ctrl+T) para navegar para as declarações de arquivo/tipo/membro/símbolo, um Auxiliar de Exceção inteligente, configuração e imposição de estilo de código e muitas correções de código e refatorações.Take advantage of our performance and productivity improvements like navigation to decompiled assemblies, variable name suggestions as you type, a hierarchy-view in Test Explorer, Go To All (Ctrl+T) to navigate to file/type/member/symbol declarations, an intelligent Exception Helper, code style configuration and enforcement, and many refactorings and code fixes.

Estou acostumado aos atalhos de teclado de um outro editorI'm used to keyboard shortcuts from a different editor

Novo no Visual Studio 2017 versão 15.8New in Visual Studio 2017 version 15.8

Se você estiver vindo de outro IDE ou ambiente de codificação, poderá alterar o esquema do teclado para o Visual Studio Code ou ReSharper (Visual Studio):If you're coming from another IDE or coding environment, you can change your keyboard scheme to Visual Studio Code or ReSharper (Visual Studio):

Esquemas de teclado no Visual Studio

Algumas extensões também oferecem esquemas de teclado:Some extensions also offer keyboard schemes:

Estes são os atalhos populares do Visual Studio:The following are popular Visual Studio shortcuts:

Atalho (todos os perfis)Shortcut (All Profiles) ComandoCommand DescriçãoDescription
Ctrl + TCtrl+T Ir para TodosGo To All Navegar diretamente para qualquer declaração de símbolo, arquivo, tipo ou membroNavigate to any file, type, member, or symbol declaration
F12 (também Ctrl + clique)F12 (also Ctrl+Click) Ir para definiçãoGo To Definition Vá até onde um símbolo estiver definidoNavigate to where a symbol is defined
Ctrl + F12Ctrl+F12 Ir Para ImplementaçãoGo To Implementation Navegue de um membro ou tipo base até suas várias implementaçõesNavigate from a base type or member to its various implementations
Shift + F12Shift+F12 Localizar Todas as ReferênciasFind All References Veja todas as referências de símbolo ou de literalSee all symbol or literal references
ALT + Página inicialAlt+Home Ir Para a BaseGo To Base Navegue até a cadeia de herançaNavigate up the inheritance chain
Ctrl + .Ctrl+. (também ALT + Inserir no perfil C#)(also Alt+Enter in C# Profile) Ações e Refatorações RápidasQuick Actions and Refactorings Veja quais correções de código, ações de geração de código, refatorações ou outras ações rápidas estão disponíveis na posição do cursor ou na seleção do códigoSee what code fixes, code generation actions, refactorings, or other quick actions are available at your cursor position or code selection
Ctrl + DCtrl+D Duplicar linhaDuplicate line Duplica a linha de código onde o cursor está posicionado (disponível no Visual Studio 2017 versão 15.6 e posterior)Duplicates the line of code that the cursor is in (available in Visual Studio 2017 version 15.6 and later)
Shift + ALT++/-Shift+Alt++/- Expandir/Reduzir seleçãoExpand/Contract selection Expande ou reduz a seleção atual no editor (disponível no Visual Studio 2017 versão 15.5 e posteriores)Expands or contracts the current selection in the editor (available in Visual Studio 2017 version 15.5 and later)
Shift + ALT + .Shift + Alt + . Inserir próximo sinal de interpolação correspondenteInsert Next Matching Caret Adiciona uma seleção e um sinal de interpolação no próximo local que corresponde à seleção atual (disponível no Visual Studio 2017 versão 15.8 e posterior)Adds a selection and caret at the next location that matches the current selection (available in Visual Studio 2017 version 15.8 and later)
Ctrl + PCtrl+Q SearchSearch Pesquise todas as configurações do Visual StudioSearch all Visual Studio settings
F5F5 Iniciar DepuraçãoStart Debugging Inicie a depuração do aplicativoStart debugging your application
Ctrl + F5Ctrl+F5 Executar sem DepurarRun without Debug Execute o aplicativo localmente sem depuraçãoRun your application locally without debugging
Ctrl + K,D (perfil padrão) ou Ctrl + E,d (perfil C#)Ctrl+K,D (Default Profile) or Ctrl+E,D (C# Profile) Formatar DocumentoFormat Document Limpe as violações de formatação de um arquivo com base nas configurações de nova linha, de espaçamento e de recuoCleans up formatting violations in your file based on your newline, spacing, and indentation settings
Ctrl + \ ,Ctrl + e (perfil padrão) ou Ctrl + W,e (perfil C#)Ctrl+\,Ctrl+E (Default Profile) or Ctrl+W,E (C# Profile) Exibir Lista de ErrosView Error List Veja todos os erros no documento, no projeto ou na soluçãoSee all errors in your document, project, or solution
ALT + PgUp/PgDnAlt + PgUp/PgDn Ir para o problema seguinte/anteriorGo to Next/Previous Issue Vá para o erro, aviso ou sugestão seguinte/anterior no documento (disponível no Visual Studio 2017 versão 15.8 e posterior)Jump to the previous/next error, warning, suggestion in your document (available in Visual Studio 2017 version 15.8 and later)
Ctrl + K,/Ctrl+K,/ Alternar linha de único comentário/cancelar os comentáriosToggle single line comment/uncomment Esse comando adiciona ou remove um comentário de linha única, dependendo do fato de sua seleção já estar comentadaThis command adds or removes a single line comment depending on whether your selection is already commented
Ctrl + Shift+/Ctrl+Shift+/ Alternar bloquear comentário/cancelar os comentáriosToggle block comment/uncomment Este comando adiciona ou remove os comentários de bloco, dependendo do que você selecionouThis command adds or removes block comments depending on what you have selected

Observação

Algumas extensões desassociam as associações de teclas padrão do Visual Studio.Some extensions unbind the default Visual Studio keybindings. Para usar os comandos acima, restaure as associações de teclas para os padrões do Visual Studio acessando ferramentas > importar e exportar configurações > redefinir todas as configurações ou ferramentas > Opções > > redefinição de teclado.To use the above commands, restore your keybindings to Visual Studio's defaults by going to Tools > Import and Export Settings > Reset all settings or Tools > Options > Keyboard > Reset.

Para saber mais sobre os comandos e atalhos de teclado, confira Atalhos de produtividade e Atalhos comuns de teclado.For more information about keyboard shortcuts and commands, see Productivity shortcuts and Popular keyboard shortcuts.

O Visual Studio tem um recurso chamado Ir para Todos (Ctrl+T).Visual Studio has a feature called Go To All (Ctrl+T). Ir para todos permite que você vá rapidamente para qualquer declaração de arquivo, tipo, membro ou símbolo.Go To All enables you to quickly jump to any file, type, member, or symbol declaration.

  • Altere a localização desta barra de pesquisa ou desative a visualização de navegação dinâmica usando o ícone de engrenagem.Change the location of this search bar or turn off the live navigation preview by using the gear icon.
  • Filtre os resultados usando uma sintaxe, como t mytype.Filter results using syntax such as t mytype.
  • Defina o escopo da pesquisa somente para o documento atual.Scope your search to just the current document.
  • Há suporte para a correspondência de minúsculas concatenadas.Camel case matching is supported.

Ir para todos no Visual Studio

Impor regras de estilo de códigoEnforce code style rules

Use um arquivo EditorConfig para codificar as convenções de codificação e aplicá-las à fonte.You can use an EditorConfig file to codify coding conventions and have them travel with your source.

Imposição de estilo de código no Visual Studio

  • Adicione um padrão ou. Arquivo de EditorConfig de estilo net para seu projeto escolhendo Adicionar > novo item.Add a default or .NET-style EditorConfig file to your project by choosing Add > New Item. Na caixa de diálogo Adicionar Novo Item, pesquise por "editorconfig".In the Add New Item dialog box, search for "editorconfig". Selecione qualquer um dos modelos de item de Arquivo editorconfig e escolha Adicionar.Select either of the editorconfig File item templates and then choose Add.

    Modelos de item do EditorConfig no Visual Studio

  • Criar automaticamente um arquivo .editorconfig com base nas configurações de estilo de código em Ferramentas > Opções > Editor de Texto > C# > Estilo de Código.Automatically create an .editorconfig file based on your code style settings in Tools > Options > Text Editor > C# > Code Style.

    Gerar o arquivo .editorconfig a partir das configurações no VS 2019

  • O recurso de inferência de código do IntelliCode para Visual Studio infere seus estilos de código com base no código existente.The code inference feature of IntelliCode for Visual Studio infers your code styles from existing code. Ele cria um arquivo EditorConfig não vazio com suas preferências de estilo de código já definidas.It then creates a non-empty EditorConfig file with your code-style preferences already defined.

  • Configure o nível de severidade de uma regra de estilo de código diretamente por meio do editor.Configure the severity level of a code style rule directly through the editor. Se, no momento, você não tiver um arquivo. editorconfig, será gerado um para você.If you currently do not have an .editorconfig file, one will be generated for you. Coloque o cursor sobre o erro, aviso ou sugestão e digite Ctrl + .Place your cursor on the error, warning, or suggestion and type Ctrl+. para abrir o menu Ações Rápidas e Refatorações.to open the Quick Actions and Refactorings menu. Selecione Configurar ou suprimir problemas.Select Configure or Suppress issues. Em seguida, selecione a regra e escolha o nível de gravidade que deseja configurar para essa regra.Then select the rule and choose the severity level you would like to configure for that rule. Isso atualizará o EditorConfig existente com a nova gravidade da regra.This will update your existing EditorConfig with the rule’s new severity.

    Configurar o nível de severidade de uma regra de estilo de código diretamente no editor

Confira a documentação de opções de convenção de codificação .NET que também contém um exemplo de um arquivo EditorConfig completo.Check out the .NET coding convention options documentation, which also contains an example of a complete EditorConfig file.

Limpeza de códigoCode Cleanup

O Visual Studio oferece a formatação sob demanda de seu arquivo de código, incluindo preferências de estilo de código com o recurso de Limpeza de Código.Visual Studio provides on-demand formatting of your code file, including code style preferences, through the Code Cleanup feature. Para executar a limpeza de código, clique no ícone de Broom na parte inferior do editor ou pressione Ctrl + K, Ctrl + E.To run Code Cleanup, click the broom icon at the bottom of the editor or press Ctrl+K, Ctrl+E.

Botão de Limpeza de código no Visual Studio 2019

Você também pode fazer a limpeza de código em todo o projeto ou em toda a solução.You can also run code cleanup across your entire project or solution. Clique com o botão direito do mouse no nome do projeto ou da solução no Gerenciador de Soluções, selecione Análise e Limpeza de Código e selecione Executar Limpeza de Código.Right-click on the project or solution name in Solution Explorer, select Analyze and Code Cleanup, and then select Run Code Cleanup.

Fazer Limpeza de Código Em Todo Projeto ou Em Toda Solução

Além de formatar seu arquivo em relação a espaços, recuos etc, a Limpeza de Código também se aplica aos estilos de código selecionados.In addition to formatting your file for spaces, indents, et cetera, Code Cleanup also applies selected code styles. Suas preferências para cada estilo de código são lidas no arquivo EditorConfig, caso tenha um para o projeto ou das configurações de estilo de código na caixa de diálogo Opções.Your preferences for each code style are read from the EditorConfig file, if you have one for the project, or from the code style settings in the Options dialog box.

Refatorações e correções de códigoRefactorings and code fixes

O Visual Studio vem com muitas refatorações, ações de geração de códigos e correções de códigos.Visual Studio comes with numerous refactorings, code generation actions, and code fixes. As linhas onduladas vermelhas representam erros, as linhas onduladas verdes representam avisos e os três pontos cinzas representam sugestões de código.Red squiggles represent errors, green squiggles represent warnings, and three gray dots represent code suggestions. Você pode acessar correções de código clicando no ícone de lâmpada ou de chave de fenda ou pressionando Ctrl + .You can access code fixes by clicking the light bulb or screwdriver icon, or by pressing Ctrl+. ou ALT + Enter.or Alt+Enter. Cada correção vem com uma janela de visualização que mostra a diferença do código em tempo real de como a correção funciona.Each fix comes with a preview window that shows a live code diff of how the fix works.

As correções rápidas e refatorações comuns incluem:Popular quick fixes and refactorings include:

  • RenomearRename
  • Extrair MétodoExtract Method
  • Alterar Assinatura do MétodoChange Method Signature
  • Gerar ConstrutorGenerate Constructor
  • Gerar MétodoGenerate Method
  • Mover Tipo para ArquivoMove Type to File
  • Adicionar Null-CheckAdd Null-Check
  • Adicionar parâmetroAdd Parameter
  • Remover usos desnecessáriosRemove Unnecessary Usings
  • Loop Foreach para uma consulta LINQ ou um método LINQForeach Loop to LINQ Query or to LINQ method
  • Subir os membrosPull Members Up

Para obter mais informações, consulte recursos de geração de código.For more information, see code generation features.

Você pode instalar analisadores FxCop para sinalizar problemas de códigos.You can install FxCop analyzers to flag code issues. Ou escrever sua própria refatoração ou correção de código com analisadores Roslyn.Or, write your own refactoring or code fix with Roslyn analyzers.

Vários membros da comunidade escreveram extensões gratuitas que adicionam outras inspeções de código:Several community members have written free extensions that add additional code inspections:

Refatorações no Visual Studio

Localizar Usos, Ir Para Implementação e Navegar para Assemblies DescompiladasFind Usages, Go To Implementation, and Navigate To Decompiled Assemblies

O Visual Studio tem muitos recursos para ajudar você a pesquisar e navegar em seu código.Visual Studio has many features to help you search and navigate your code.

RecursoFeature AtalhoShortcut Detalhes/melhoriasDetails/Improvements
Localizar Todas as ReferênciasFind All References Shift + F12Shift+F12 Os resultados são coloridos e podem ser agrupados por projeto, definição e tipo de referência, como leitura ou escrita.Results are colorized and can be grouped by project, definition, and reference type, such as read or write. Também é possível "bloquear" resultados.You can also "lock" results.
Ir Para ImplementaçãoGo To Implementation Ctrl + F12Ctrl+F12 É possível usar “Ir para definição” na palavra-chave override para navegar até o membro substituídoYou can use Go To Definition on the override keyword to navigate to the overridden member
Ir para definiçãoGo To Definition + Clique em F12 ou CTRLF12 or Ctrl+Click Pressione Ctrl enquanto clica para navegar até a definiçãoPress Ctrl while clicking to navigate to definition
Inspecionar DefiniçãoPeek Definition ALT + F12Alt+F12 Exibição embutida de uma definiçãoInline view of a definition
Visualizador de EstruturaStructure Visualizer Linhas cinzas pontilhadas entre chavesGray, dotted-lines between braces Passe o mouse para ver a estrutura do códigoHover to see your code structure
Navegação para assemblies descompiladosNavigation to decompiled assemblies + Clique em F12 ou CTRLF12 or Ctrl+Click Navegue até fonte externa (descompilado com ILSpy) habilitando o recurso: ferramentas > Opções > Editor de texto > C# > avançado > habilitar navegação para fontes descompiladas.Navigate to external source (decompiled with ILSpy) by enabling the feature: Tools > Options > Text Editor > C# > Advanced > Enable navigation to decompiled sources.

Ir para Todos e Localizar Todas as Referências

IntelliSense aprimoradoImproved IntelliSense

Use o IntelliCode para Visual Studio para obter conclusões de código de reconhecimento de contexto em vez de apenas uma lista em ordem alfabética.Use IntelliCode for Visual Studio to get context-aware code completions instead of just an alphabetical list. É possível também treinar um modelo personalizado do IntelliSense com base em suas próprias bibliotecas específicas de domínio.You can also train a custom IntelliSense model based on your own domain-specific libraries.

Teste de unidadeUnit testing

A partir do Visual Studio 2017, há vários aprimoramentos na experiência de teste.Starting in Visual Studio 2017, there are numerous improvements to the testing experience. Você pode realizar testes com as estruturas de teste MSTest v1, MSTest v2, NUnit ou XUnit.You can test with the MSTest v1, MSTest v2, NUnit, or XUnit test frameworks.

  • A detecção de testes do Gerenciador de Testes é rápida.Test Explorer test discovery is fast.

  • Organize seus testes no Gerenciador de Testes com a classificação hierárquica.Organize your tests in Test Explorer with hierarchical sorting.

    Exibição de hierarquia do Gerenciador de Testes no Visual Studio

  • O Live Unit Testing executa testes continuamente afetados por suas alterações de código e atualiza ícones de editor embutido para que você saiba o status de seus testes.Live unit testing continuously runs tests impacted by your code changes and updates inline editor icons to let you know the status of your tests. Inclua ou exclua testes específicos ou projetos de teste pelo Live Test Set (conjunto de teste de modo real).Include or exclude specific tests or test projects from your live test set. (somente na edição Visual Studio Enterprise.)(Visual Studio Enterprise edition only.)

DepuraçãoDebugging

Alguns dos recursos de depuração do Visual Studio incluem:Some of Visual Studio's debugging capabilities include:

  • A capacidade de pesquisar uma cadeia de caracteres dentro das janelas Inspeção, Autos e Locais.The ability to search for a string within the Watch, Autos, and Locals windows.
  • Clique para executar, que permite focalizar uma linha de código, pressionar o ícone verde 'executar' que é exibido e executar o programa até atingir essa linha.Run to click, which lets you hover next to a line of code, hit the green 'play' icon that appears, and run your program until it reaches that line.
  • O Auxiliar de Exceção, que coloca as informações mais importantes no nível superior na caixa de diálogo, por exemplo, qual variável null está em uma NullReferenceException.The Exception Helper, which puts the most important information at the top level in the dialog, for example, which variable is null in a NullReferenceException.
  • Depuração para retroceder novamente, que permite voltar a pontos de interrupção ou etapas anteriores e exibir o estado do aplicativo no passado.Step back debugging, which lets you go back to previous breakpoints or steps and view the state of the application as it was in the past.
  • Depuração de instantâneo, que permite investigar o estado de um aplicativo Web online no momento em que uma exceção foi lançada (é necessário estar no Azure).Snapshot debugging, which lets you investigate the state of a live web application at the moment an exception was thrown (must be on Azure).
  • Clique para executar, que permite focalizar uma linha de código, pressionar o ícone verde 'executar' que é exibido e executar o programa até atingir essa linha.Run to click, which lets you hover next to a line of code, hit the green 'play' icon that appears, and run your program until it reaches that line.
  • O Auxiliar de Exceção, que coloca as informações mais importantes no nível superior na caixa de diálogo, por exemplo, qual variável null está em uma NullReferenceException.The Exception Helper, which puts the most important information at the top level in the dialog, for example, which variable is null in a NullReferenceException.
  • Depuração para retroceder novamente, que permite voltar a pontos de interrupção ou etapas anteriores e exibir o estado do aplicativo no passado.Step back debugging, which lets you go back to previous breakpoints or steps and view the state of the application as it was in the past.
  • Depuração de instantâneo, que permite investigar o estado de um aplicativo Web online no momento em que uma exceção foi lançada (é necessário estar no Azure).Snapshot debugging, which lets you investigate the state of a live web application at the moment an exception was thrown (must be on Azure).

Auxiliar de Exceção no Visual Studio

Controle de versãoVersion control

Você pode usar o Git ou o TFVC para armazenar e atualizar seu código no Visual Studio.You can use git or TFVC to store and update your code in Visual Studio.

Controle do código-fonte no Visual Studio

Que outros recursos eu devo conhecer?What other features should I know about?

Aqui está uma lista dos recursos do editor e de produtividade para escrever códigos com mais eficiência.Here is a list of editor and productivity features to make writing code more efficient. Pode ser necessário ativar alguns recursos, pois eles ficam desativados por padrão (eles podem indexar itens em seu computador, são controversos ou atualmente são experimentais).Some features may need to be enabled because they are off by default (they may index things on your machine, are controversial, or are currently experimental).

RecursoFeature DetalhesDetails Como habilitarHow to enable
Arquivo local no Gerenciador de SoluçõesLocate File in Solution Explorer Realça o arquivo ativo no Gerenciador de SoluçõesHighlights the active file in Solution Explorer Ferramentas > do Opções > do Projetos e soluções > Acompanhar item ativo no Gerenciador de soluçõesTools > Options > Projects and Solutions > Track Active Item in Solution Explorer
Adicionar usos para tipos em assemblies de referência e pacotes do NuGetAdd usings for types in reference assemblies and NuGet packages Mostra uma lâmpada de erro com uma correção de código para instalar um pacote do NuGet para um tipo não referenciadoShows an error light bulb with a code fix to install a NuGet package for an unreferenced type Ferramentas > do Opções > do Editor > de texto C# > Avançado > Sugerir o uso de tipos em assemblies de referência e sugerir usos para tipos em pacotes NuGetTools > Options > Text Editor > C# > Advanced > Suggest usings for types in reference assemblies and Suggest usings for types in NuGet packages
Habilitar análise de solução completaEnable full solution analysis Ver todos os erros na solução na Lista de ErrosSee all errors in your solution in the Error List Ferramentas > do Opções > do Editor > de texto C# > Avançado > Habilitar análise de solução completaTools > Options > Text Editor > C# > Advanced > Enable full solution analysis
Habilitar a navegação para origens descompiladasEnable navigation to decompiled sources Habilite Ir Para a Definição em tipos/membros de fontes externas e usar o descompilador ILSpy para mostrar os corpos de métodoAllow Go To Definition on types/members from external sources and use the ILSpy decompiler to show method bodies Ferramentas > do Opções > do Editor > de texto C# > Avançado > Habilitar a navegação para fontes descompiladasTools > Options > Text Editor > C# > Advanced > Enable navigation to decompiled sources
Modo de conclusão/sugestãoCompletion/Suggestion Mode Altera o comportamento de conclusão no IntelliSense.Changes the completion behavior in IntelliSense. Os desenvolvedores com experiência em IntelliJ tendem a usar uma configuração diferente da configuração padrão aqui.Developers with IntelliJ backgrounds tend to use a non-default setting here. Menu > Editar > IntelliSense > Alternar modo de conclusãoMenu > Edit > IntelliSense > Toggle Completion Mode
CodeLensCodeLens Exibe informações de referência de código e o histórico de alterações no editor.Displays code reference information and change history in the editor. (Os indicadores do CodeLens de controle do código-fonte não estão disponíveis na edição do Visual Studio Community.)(Source control CodeLens indicators aren't available in Visual Studio Community edition.) Ferramentas > do Opções > do Editor > de texto Todos os idiomas > CodeLensTools > Options > Text Editor > All Languages > CodeLens
Snippets de códigoCode snippets Ajudar a apagar um código clichê comumHelp stub out common boilerplate code Digite um nome de snippet e pressione Tab duas vezes.Type a snippet name and press Tab twice.