Recursos ocultos do Visual Studio (2005-2010)?


182

O Visual Studio é um produto tão grande que mesmo depois de anos trabalhando com ele, às vezes me deparo com uma maneira nova / melhor de fazer coisas ou coisas que nem sabia que eram possíveis.

Por exemplo-

  • Crtl+ R, Ctrl+ Wpara mostrar espaços em branco. Essencial para editar scripts de construção do Python.

  • Em "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor" Criar uma seqüência de caracteres chamada Guias com o valor "RGB (255,0,0), 80" para ter uma linha vermelha na coluna 80 no editor de texto.

Quais outros recursos ocultos você encontrou?


Obrigado! Finalmente um marcador 80 coluna no VS :)
— Jonas Gulle

obrigado. na verdade, eu tropecei em "mostrar espaços em branco" por acidente e queria me livrar dele. Muito obrigado!
— Arsen Zahray

Respostas:


123

Faça uma seleção com ALT pressionado - seleciona um quadrado de texto em vez de linhas inteiras.


9
Ctrl-Alt selecionará palavras inteiras. Alt altera o tamanho da área de seleção por um caractere de cada vez.
— Firedfly # 15/10/08

4
Isso funciona também no MS Word e OO Writer. Eu usei muito isso.
— Bård

3
Isso (chamado "seleção de bloco") também funciona com as teclas Alt + Shift e, em seguida, use as teclas de seta.
— Arolson101 16/10/09

1
Além disso, se você selecionar uma coluna horizontal vazio Desta forma, tudo que você digitar vai ser duplicada em cada linha, comportando-se como um enorme cursor :)
— Sedat Kapanoglu

1
Vi isso sendo vendido como um recurso para o VS 2010, mas apenas tentei no VS 2008 e funcionou. Estou pasmo. isso é incrivelmente útil!
— DaveDev

95

Tracepoints!

Coloque um ponto de interrupção em uma linha de código. Abra a janela Pontos de interrupção e clique com o botão direito do mouse no novo ponto de interrupção. Selecione 'When Hit ...'. Ao marcar a caixa de seleção 'Imprimir uma mensagem', o Visual Studio imprimirá uma mensagem na Saída de Depuração toda vez que a linha de código for executada, em vez de (ou também) interromper a linha. Você também pode fazê-lo executar uma macro à medida que passa pela linha.


1
Eu sei que estou atrasado para o jogo, mas esse é um ótimo recurso que eu nunca soube!
— 21139 Jerry

7
Para ganhar pontos extras, você pode fazer uma atribuição de variável local no botão quando pressionado. {localVariable = 1.0f} ou aumente os valores em {staticVariable + = 0.1f}
— Charles Beattie

91

Você pode arrastar o código para a caixa de ferramentas. Tente!


Caramba, para que você possa! (Obrigado!)
— Ali Parr

não parece ser muito útil sobre trechos
— jk.

33
Meu Deus ... é um nível totalmente novo de copiar e colar. Copie e cole e cole e cole. Conheço muitos programadores que espero nunca descobrirem que você pode fazer isso.
— Ryan Lundy

Seria legal se você pudesse pedir para avaliar o código ao clicar no botão, como um bookmarklet.
— intuited

Ah não. O que esta função bastardize está fazendo!

79

Clique em um identificador (nome da classe, variável, etc.) e pressione F12"Ir para a definição". Sempre fico impressionado com quantas pessoas eu assisto ao código usar o botão direito do mouse mais lento -> "Ir para a definição".

EDIT: Então você pode usar Ctrl+ -para voltar para onde você estava.


8
E não se esqueça de Ctrl + Shift + - [shift de controle negativo] para avançar!
— 22630 Kevin Pullin

5
E Shift F12 para encontrar todas as referências
— Benjol 02/09/09

2
Você também pode usar ALT + seta para a esquerda para voltar para onde você estava
— arolson101

1
Com as configurações das teclas VB, o Shift-F2 também faz um Go To Definition.
— Ryan Lundy

1
Clique com o botão direito do mouse em G se você estiver seguindo a rota do mouse.
— tsilb 30/01/10

57

CTRL + SHIFT + V percorre a área de transferência, o Visual Studio mantém um histórico de cópias.


isso pode ser encontrado em edit.cycleclipboardring em mapeamentos de teclado (no visual c ++, este é Ctrl-Shift-Insert, não Ctrl-Shift-V)
— Default

52

Sara Ford cobre muitas dicas adoráveis: http://blogs.msdn.com/saraford/archive/tags/Visual+Studio+2008+Tip+of+the+Day/default.aspx

Mas alguns dos meus favoritos são Snippets de código, Ctrl+ .para adicionar um using<Namespace> ou gerar um stub de método. Eu não posso viver sem isso.

Confira uma ótima lista no pôster do Visual Studio 2008 C # Keybinding: http://www.microsoft.com/downloadS/details.aspx?familyid=E5F902A8-5BB5-4CC6-907E-472809749973&displaylang=pt


1
Sara Ford é a deusa do Visual Studio. Eu não poderia recomendar o suficiente.
— Chris Charabaruk

Concordo totalmente com o que eu compartilho do trabalho dela. Estou realmente amando suas séries atuais que cobre depuração
— Aaron Powell

Triste que ela parar de fazer a ponta do dia, embora tem sido tão longo desde que ela trabalhou com as entranhas de VS que é completamente compreensível que ela precisava para seguir em frente ...
— Knobloch

Obrigado por mencionar o CTRL +. Eu estava procurando por este exatamente.
— 613 Sorin Comanescu

Eu estava sempre usando CTRL + ALT + F10. Não sabia CTRL +. faz a mesma coisa - obrigado. Muito mais confortável.
— Gal Gal

49
CTRL-K, CTRL-D

Reformatar documento!
Isso está nas combinações de teclas VB, não tenho certeza sobre C #


3
sim, funciona em C #, Web Designer, editor XML, editor CSS, editor XSD, JavaScript (até certo ponto). A maioria dos tipos de arquivos suportados
— Aaron Powell

8
Ctrk-K, Ctrl-F para C ++
— MSalters

7
Eu uso Ctrl-E, Ctrl-D
— configurador

Ctrl + K, Ctrl + F também formata o texto que você selecionou (em C #, não tenho certeza sobre os outros).
— Zann Anderson 31/01

43

Quantas vezes você depura uma matriz em uma janela rápida ou em uma janela de inspeção e apenas o visual studio mostra o primeiro elemento? Adicione ", N" ao final da definição para fazer com que o estúdio mostre também os próximos N itens. Ou seja, "this-> m_myArray" se torna "this-> m_array, 5".


41

Pesquisa incremental: ao ter um documento aberto de origem, pressione CTRL + I e digite a palavra que você está procurando, e pressione CTRL + I novamente para ver as palavras correspondentes à sua entrada.


4
Chama-se "> i <pesquisa incremental".
— Constantin

Ao contrário da pesquisa adicional, que é o que o Firefox implementa.
— Kibibu

Vindo do mundo Emacs, esse foi o primeiro recurso que eu procurei. :)
— JesperE

37

Você pode usar os seguintes códigos na janela de inspeção.

@err - display last error
@err,hr - display last error as an HRESULT
@exception - display current exception

35
  • Ctrl-K, Ctrl-C para comentar um bloco de texto com // no início
  • Ctrl-K, Ctrl-U para descomentar um bloco de texto com // no início

Não posso viver sem ele! :)


Também é verdade em VB.NET, exceto com "em vez de //
— ChrisA

Também é verdade no SQL Server Management Studio, exceto pelo uso da sequência de escape de comentários SQL de '-' #
— Thomas Bratt

3
Eu sempre desejei que você pudesse alternar os comentários? Por que você quer "comentar duas vezes" alguma coisa? Certamente pressionando-o novamente deve un-comentário ...
— Dan Diplo

16
Às vezes, você deseja comentar a função inteira e algumas linhas internas já estão comentadas (ou seja, são comentários adequados). Nesses casos, não é óbvio o que fazer se você tiver uma alternância, por isso é geralmente melhor deixar a decisão explícita.
— Pavel Minaev 13/08/09

1
Observe que, se você começar no início do texto e não no início da linha, obterá o / * * / em vez de //. Esta é a maneira como meu recurso mais usado
— Padrão

25

Parando o depurador de entrar em funções triviais.

Ao percorrer o código no depurador, você pode gastar muito tempo entrando e saindo de funções nas quais não está particularmente interessado, com nomes como GetID () ou std :: vector <> (), para escolher um exemplo de C ++. Você pode usar o registro para fazer com que o depurador os ignore.

Para o Visual Studio 2005, você deve acessar HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ NativeDE \ StepOver e adicionar valores de seqüência de caracteres contendo expressões regulares para cada função ou conjunto de funções que você deseja excluir; por exemplo

std :: vector. * ::. *
TextBox :: GetID

Você também pode substituí-los para exceções individuais. Por exemplo, suponha que você queira entrar no destruidor da classe de vetores:

std :: vector. * :: \ ~. * = StepInto

Você pode encontrar detalhes de outras versões do Visual Studio em http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx


Uau, isso é incrível. Eu não tinha ideia de que isso era possível.
— #

23

Ctrl-F10 : executa o cursor durante a depuração. Levei anos para encontrar isso, e eu o uso o tempo todo;

Ctrl-E, Ctrl-D : aplica a formatação padrão (que você pode definir).


1
Ctrl + Shift + F10 para pular todo o código e executar o cursor. Astuto ao tentar testar linhas de código específicas.
— Samuel Slade

23

Característica da tecla TAB .

  1. Se você souber o nome da chave do trecho, escreva e clique em Tab dupla. por exemplo: gravação

    foreach

e, em seguida, clique na tecla tab duas vezes para

foreach (object var in collection_to_loop)
{

}

2. Se você escreve algum evento, escreva aqui

        Button btn = new Button();
        btn.Click +=         

e, em seguida, clique na tecla tab duas vezes para

private void Form1_Load(object sender, EventArgs e)
{
        Button btn = new Button();
        btn.Click += new EventHandler(btn_Click);     
}    
void btn_Click(object sender, EventArgs e)
{
        throw new Exception("The method or operation is not implemented.");
}

A função btn_Click escreve automaticamente

  1. no Editor XAML, escreva qualquer evento. por exemplo:

MouseLeftButtonDownclique em tab
MouseLeftButtonDown=""e, em seguida, clique em tab novamente MouseLeftButtonDown="Button_MouseLeftButtonDown"no Button_MouseLeftButtonDownmétodo de seção de código criado.


21

A Sara Ford tem esse mercado encurralado.

http://blogs.msdn.com/saraford/default.aspx

Mais dicas e truques do Visual Studio do que você pode agitar.

Alguns outros:

  • As edições de avaliação de três meses do Visual Studio 2005 e 2008 são totalmente funcionais e podem ser usadas indefinidamente (para sempre) definindo o relógio do sistema antes de abrir o VS. Em seguida, quando o VS for aberto, ajuste o relógio do sistema novamente para que suas datas não sejam danificadas.
  • Mas isso é realmente pirataria e não posso recomendá-lo, especialmente quando alguém com um endereço .edu pode obter uma versão Pro totalmente funcional do VS2008 através do Microsoft Dreamspark .
  • Você pode usar o Visual Studio para abrir executáveis ​​de terceiros e procurar recursos incorporados (caixas de diálogo, tabelas de strings, imagens etc.) armazenados.
  • Os visualizadores de depuração não são exatamente um recurso "oculto", mas são um pouco negligenciados e super úteis, pois além de usar os visualizadores fornecidos, você pode criar seus próprios conjuntos de dados.
  • Comando "Set Instruction Pointer" ou "Set Next Statement" do depurador.
  • Pontos de interrupção condicionais (como observado pelo KiwiBastard).
  • Você pode usar o Quickwatch etc. para avaliar não apenas o valor de uma variável, mas expressões de tempo de execução em torno dessa variável.

3
Se é realmente pirataria (com a qual concordo com você), por que você mencionaria isso?
— 21719 Ryan Lundy

1
Kyralessa, porque algumas pessoas provavelmente não se importam. No entanto, com as edições Express sendo gratuitas, duvido que exista atualmente uma razão real para usar uma versão VS pirata.
— Joey


17

Altura suspensa personalizada do IntelliSense , por exemplo, exibindo 50 itens em vez do padrão, que é ridiculamente pequeno da IMO (8).

(Para fazer isso, redimensione a lista suspensa na próxima vez que a vir e o Visual Studio lembrará o tamanho selecionado na próxima vez que abrir uma lista suspensa.)


4
Você não pode redimensioná-lo mais no VS2010, isso me incomoda sem fim.
— manixrock

no Vs2008 eu sou capaz de alterar a largura, mas não a altura.
— Kapil

16

Descoberto hoje:

Ctrl + .

Apresenta o menu de contexto para refatoração (que é acessível através da última letra sublinhada de uma classe / método / propriedade que você acabou de renomear - passe o mouse sobre o menu ou "Ctrl" + ".")


Alt + Shift + F10 faz isso também (usando C # keybindings)
— Kyle Trauberman

4
Muito melhor do que tentar caçar o alvo clique do mouse minúsculo nesta situação
— Richard Ev

14

Muitas pessoas não conhecem ou usam o depurador ao máximo - o IE apenas o usa para interromper o código, mas clique com o botão direito do mouse no círculo vermelho e há muito mais opções, como quebra de condição, código de execução.

Além disso, você pode alterar os valores das variáveis ​​em tempo de execução usando o depurador, que é um ótimo recurso - salva o código de reexecução para corrigir um erro lógico bobo etc.


13

Transposição de linha, Shift-Alt-T Troca
duas linhas (atual e seguinte) e move o cursor para a próxima linha. Eu estou amando isso. Eu até escrevi uma macro que mudou de posição novamente por uma linha, executou a transposição de linha e mudou de posição de linha novamente, para que tudo pareça com a troca da linha atual pela anterior (reversão de linha reversa).

Transposição de palavra, Shift-Ctrl-T


Isso faz a linha se mover para baixo na página, como você faz uma linha se mover para cima na página?
— Alex Baranosky 17/09/09

GordonG, eu escrevi seguinte macro: Sub ReverseLineTranspose () DTE.ActiveDocument.Selection.LineUp DTE.ExecuteCommand ( "Edit.LineTranspose") DTE.ActiveDocument.Selection.LineUp End Sub
— okutane

1
Poderia fazer com ele aqui, como se vê :)
— Benjol

11

Ao desenvolver C ++, Ctrl-F7 compila apenas o arquivo atual.


11

Estrutura de tópicos do documento no FormsDesigner ( CTRL + ALT + T )

Controle rápido de renomeação, pedidos e muito mais!


Não acredito que não sabia disso. Minha vida mudou.
— HipsterZipster 7/10/10

11

Para sincronizar automaticamente o arquivo atual com o Gerenciador de Soluções. Portanto, não precisa procurar onde o arquivo mora na estrutura do projeto

Ferramentas -> Opções -> Projetos e soluções -> "Rastrear item ativo no Solution Explorer"

Edit: Se isso for muito chato para você, você pode usar a macro de Dan Vanderboom para chamar esse recurso sob demanda, pressionando a tecla.

(Nota: Retirado do comentário abaixo por Jerry).


3
isso fica chato depois de um tempo. Eu gostaria que houvesse um atalho de teclado para fazer isso sob demanda.
— kenwarner

2
Aqui está um post sobre como rastrear sob demanda. dvanderboom.wordpress.com/2008/03/21/…
— Jerry

Se você tiver muitos arquivos abertos, ele poderá matar o VS (sem aviso) se você fizer coisas como 'Fechar tudo, menos isso' (de PowerCommands, eu acho).
— Benjol

O Re-compartilhador torna essa necessidade redundante, pois você pode usar Shift + Alt + L para ir diretamente para o arquivo atual no Gerenciador de Soluções; ou Ctrl + Shift + N para pesquisar por palavra-chave qualquer arquivo na solução.
— Cbp

9

Não tenho certeza se está "oculto", mas muitas pessoas não sabem disso - pseudo - registros . É muito útil ao depurar, eu tenho @ERR, hr na minha janela do relógio o tempo todo.


1
Ouvi dizer que @xxx está sendo desativado em favor de $ xxx. FWIW, o WinDbg também usa o formulário $ xxx.
— Constantin

Você não pode simplesmente "hr, hr" em uma janela de inspeção? Eu usei isso todo o caminho de volta no VC6 ... #
— 1111 LarryF

Excelente. Como o artigo vinculado sugere, definir pontos de interrupção condicionais no @TIB simplificará drasticamente a depuração de aplicativos multithread.
— j_random_hacker

9

Ctrl-Menos, Ctrl-Plus, navega para frente e para trás onde você esteve recentemente (embora apenas arquivos abertos).


Sim, adoro estes - use-os todos os dias.
— MaseBase

Muito útil se você pressionar F + 12 para ir para uma definição e depois quiser voltar para onde estava.
— Thomas Bratt

9

Não o uso com frequência, mas amo:

ctrl-alt + mouse select

Para selecionar em um bloco retangular, para 'bloquear' os limites.

Conforme observado nos comentários,

alt + mouse select

Faz apenas um bloco retangular simples.


4
Um voto negativo é divertido, já que essa é uma ação válida no VS :) Boa sorte para você, odiador misterioso.
— Noon Silk

2
Talvez seja um pouco cedo, mas ler isso me fez querer experimentá-lo no Firefox. Acontece que, com a tecla Ctrl-Alt-Shift, você pode usar o mouse para arrastar o documento inteiro pela tela, semelhante à maneira como um documento PDF funciona.
— KdgDev

Qual é a diferença de alt + mouse select?
— Guffa 31/08/09

Guffa: Vai apenas para finais de bloco. alt-select permite escolher qualquer área que contenha qualquer coisa. Eles são diferentes.
— Noon Silk

Embora eu ache que pode ser apenas 'ctrl-alt', não 'shift' também.
— Noon Silk


8

CTRL + Shift + U -> Seção destacada em maiúsculas. CTRL + U -> minúscula na seção destacada Ótimo para obter minhas instruções SQL com a aparência correta ao colocá-las em consultas de string.

Também é útil para códigos encontrados on-line, onde TUDO ESTÁ EM CAPS.


2
Pena que eles não têm uma opção CamelCase CTRL + Shift ... :) Esse é provavelmente o
— refator

8

Botão do meio do mouse Clique na guia do editor para fechar a guia.


1
Eu uso isso o tempo todo quando estou codificando porque estou procurando o código e depois fechá-lo (o "X" para fechar é bastante distante).
— 22611 Kevin Driedger

8

Para exibir qualquer parte dos dados como uma "matriz" de n bytes, use a seguinte sintaxe na janela QuickWatch do Visual Studio:

variable, n

Por exemplo, para exibir uma variável nomeada foocomo uma matriz de 256 bytes, digite a seguinte expressão na janela QuickWatch:

foo, 256

Isso é particularmente útil ao visualizar cadeias que não são terminadas por nulo ou dados acessíveis apenas por um ponteiro. Você pode usar a janela Memória do Visual Studio para obter um resultado semelhante, mas o uso da janela QuickWatch geralmente é mais conveniente para uma verificação rápida.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.