Visual Studio: Como mostrar sobrecargas no IntelliSense?

251

Depois que o código foi escrito, a única maneira que eu conheço de exibir as sobrecargas de um método é realmente editá-lo, excluindo os Parênteses ()e reabrindo-os.

Existe uma tecla de atalho que eu poderia pressionar para ativar isso em vez de precisar editar meus arquivos?

Por exemplo, consulte a captura de tela ShowDialog Overload abaixo:

Sobrecargas ShowDialog1

jp2code
fonte
6
O que aconteceu com as boas e velhas flechas para cima e para baixo?
Zapnologica
3
@Zapnologica: As setas Para cima e Para baixo ainda existem, mas a caixa IntelliSense precisa ser ativada e aberta antes que essas setas possam ser usadas para rolar pelas opções de sobrecarga. Esta pergunta é sobre como abrir a caixa do IntelliSense .
jp2code
3
Como você pode fazê-lo abrir por padrão, o espaço de controle vs espaço mudança de controle
Zapnologica
6
@ Zapnologica: Eu uso a seqüência Control + Shift + Space , como no estilo antigo combinação Control + Alt + Delete .
Jp2code
No VS2012, ele costumava abrir por padrão quando eu digitava um parêntese aberto após o nome de uma função, mas parece que não faz mais isso desde que instalei o ReSharper. Em vez disso, fornece um menu suspenso de possíveis variáveis ​​/ funções para preencher o primeiro argumento. Um tanto irritante.
Nyerguds

Respostas:

394

Experimente o atalho do teclado Ctrl- Shift- Space. Isso corresponde a Edit.ParameterInfo, caso você tenha alterado o padrão.

Exemplo:

captura de tela descritiva, por jp2code

aardvarkk
fonte
41
Pelo menos no VS 2008, parece que seu cursor deve estar entre parênteses para que esse atalho funcione. Além disso, obrigado por postar, eu não sabia que isso existia!
kiswa
2
Agora, se houvesse apenas uma maneira de fazer isso acontecer por padrão.
Mike Lowery
No VS2017, o amaldiçoado também deve estar entre parênteses.
Mohammed Noureldin
No vscode, isso também funciona e você pode usar Alt + Upou Alt + Downpara navegar entre eles.
Juan De la Cruz
60

Ctrl+ Shift+ Spacemostra o Edit.ParameterInfométodo selecionado e, pelo método selecionado, quero dizer que o cursor deve estar entre parênteses.

Aqui está o pôster do Visual Studio 2010 Keybinding .

E para aqueles que ainda usam 2008 .

Neil Knight
fonte
3
Whoa, o seu agora parece muito mais sexy do que o meu com suas etiquetas de teclado sofisticadas! Não posso deixar isso acontecer!
aardvarkk
+1 e outro +1 para Neil se ele me dissesse como fazer isso aqui.
Jp2code
11
Você usa as tags <kbd> </kbd>
Neil Knight
Para mim, no VS2017, isso parece ser: Ctrl + Shift + Espaço, Espaço
andrew pate
50

Testado apenas no Visual Studio 2010.

Coloque o cursor dentro de (), pressione Ctrl+ e K, em seguida P.

Agora navegue pressionando as teclas de seta  ↑  /  ↓  .

Alex em Paris
fonte
Talvez esteja fazendo algo errado, mas não consigo fazer isso funcionar no VS2008 ou no VS2010.
Jp2code
1
É um atalho do VS2010 (não tenho certeza sobre 2008) - mas é possível que você o tenha alterado ou uma ferramenta instalada instalou o atalho.
Alex Em Paris
Isto é o que eu estava procurando. Algo semelhante ao Ctrl + Q no IntelliJIdea / Android Studio.
DaMachk 9/04
19

A ligação de tecla padrão para isso é Ctrl+ Shift+ Space. O comando subjacente do Visual Studio éEdit.ParameterInfo .

Se a combinação de teclas padrão não funcionar para você (possível em alguns perfis), você poderá alterá-la na página de opções do teclado

  • Ferramentas -> Opções
  • Teclado
  • Digite Edit.ParameterInfo
  • Alterar a tecla de atalho
  • Atribuição de ocorrências
JaredPar
fonte
1
Muito agradável! Por outro +1, você poderia me dizer como criar esse Ctrl+Shift+Spacegráfico?
Jp2code
8
@ jp2code para criar o gráfico, use as <kbd>tags. Exemplo<kbd>Shift</kbd>
JaredPar 27/03
3
@ jp2code, se você abrir no modo de edição, também poderá ver as tags usadas.
radbyx
No Visual Studio 2015, se isso não funcionar, tente fazer o seguinte: stackoverflow.com/a/31087682/68905 Eu tive que fazer isso para fazê-lo funcionar.
jakejgordon
10

Acontece que nenhum dos métodos acima funciona. A associação de teclas é adequada, mas a dica de ferramenta simplesmente não aparece em nenhum caso, nem como ajuda de conclusão ou sob demanda.

Para corrigi-lo, basta acessar Ferramentas \ Editor de Texto \ C # (ou todos os idiomas) e verificar ' Informações sobre parâmetros '. Agora deve funcionar

mikus
fonte
7

Ótima pergunta; Eu tive o mesmo problema. Acontece que existe realmente um atalho de teclado para exibir esta lista: Ctrl + Shift + Space (uma variação do atalho básico do IntelliSense em Ctrl + Space).

KeithS
fonte
5
  • O comando Edit.ParameterInfo(mapeado para Ctrl+ Shift+ Spacepor padrão) mostrará a dica de ferramenta de sobrecarga se for chamada quando o cursor estiver dentro dos colchetes de parâmetros de uma chamada de método.

  • O comando Edit.QuickInfo(mapeado para Ctrl+ KCtrl+ Ipor padrão) mostra a dica de ferramenta que você veria se passasse o mouse sobre a localização do cursor.

Dave
fonte
2

De vez em quando, as sugestões acima param de funcionar. Se eu reiniciar o Visual Studio, elas começam a funcionar novamente.

Phylliida
fonte
1

Eu sei que este é um post antigo, mas para os novatos como eu, que ainda acessam esta página, isso pode ser útil. quando você passa o mouse sobre um método, obtém uma caixa de informações não clicável; se você acabou de escrever uma vírgula entre parênteses, o IntelliSense oferecerá a amada caixa de informações com as setas clicáveis.

Ylenia88m
fonte
isso não é a mesma coisa. Esse é o IntelliSense de quais valores você pode colocar. Não a janela de sobrecargas. Para isso, você pode apenas fazer Ctrl + Space
Mastro
0

A mina apareceu no VS2010 depois de escrever o primeiro parêntese.

então, prams.Add (

Depois de fazer algo assim, a caixa com as setas para cima e para baixo apareceu.

eaglei22
fonte