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):
Algumas extensões também oferecem esquemas de teclado:Some extensions also offer keyboard schemes:
- Teclas de acesso para Visual Studio (ReSharper/IntelliJ)HotKeys for Visual Studio (ReSharper/IntelliJ)
- Emulação de EmacsEmacs Emulation
- VSVimVSVim
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.
Navegar rapidamente para arquivos ou tiposNavigate quickly to files or types
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 ast 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.
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.
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.
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.
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.
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.
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.
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:
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. |
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.
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 umaNullReferenceException
.The Exception Helper, which puts the most important information at the top level in the dialog, for example, which variable isnull
in aNullReferenceException
. - 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 umaNullReferenceException
.The Exception Helper, which puts the most important information at the top level in the dialog, for example, which variable isnull
in aNullReferenceException
. - 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).
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.
- Instalar as solicitações de pull para o Visual Studio para criar, examinar, fazer check-out e executar solicitações de pull sem sair do Visual Studio.Install the Pull requests for Visual Studio to create, review, check out, and run pull requests without leaving Visual Studio.
Organize as alterações locais no Team Explorer e use a barra de status para acompanhar confirmações e alterações pendentes.Organize your local changes in Team Explorer and use the status bar to track pending commits and changes.
Configure a integração e a entrega contínuas de seus projetos de ASP.NET dentro do Visual Studio com a extensão Ferramentas de entrega contínua do Visual Studio.Set up continuous integration and delivery for your ASP.NET projects inside of Visual Studio with the Continuous delivery tools for Visual Studio extension.
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. |