Visual Studio: comment afficher les surcharges dans IntelliSense?


251

Une fois le code écrit, le seul moyen que je connaisse pour afficher les surcharges pour une méthode est de réellement modifier la méthode en supprimant les parenthèses ()et en les rouvrant.

Existe-t-il une touche de raccourci sur laquelle je pourrais appuyer pour l'activer au lieu de devoir modifier mes fichiers?

Pour un exemple, veuillez faire référence à la capture d'écran ShowDialog Overload ci-dessous:

Surcharges ShowDialog1


6
Qu'est-il arrivé aux bonnes vieilles flèches haut et bas?
Zapnologica

3
@Zapnologica: Les flèches haut et bas existent toujours, mais la boîte IntelliSense doit être activée et ouverte avant que ces flèches puissent être utilisées pour faire défiler les options de surcharge. Cette question concerne la façon d'ouvrir la boîte IntelliSense .
jp2code

3
Comment pouvez-vous l'ouvrir par défaut, contrôler l'espace vs contrôler l'espace de décalage
Zapnologica

6
@Zapnologica: J'utilise la séquence Ctrl + Maj + Espace , comme l'ancienne combinaison Ctrl + Alt + Suppr .
jp2code

Dans VS2012, il s'ouvrait par défaut lorsque je tapais une parenthèse ouverte après un nom de fonction, mais cela ne semble plus le faire depuis que j'ai installé ReSharper. Au lieu de cela, il donne un menu déroulant des variables / fonctions possibles à remplir dans le premier argument. Assez ennuyeux.
Nyerguds

Réponses:


394

Essayez le raccourci clavier Ctrl- Shift- Space. Cela correspond au Edit.ParameterInfocas où vous auriez modifié la valeur par défaut.

Exemple:

capture d'écran descriptive, par jp2code


41
Au moins dans VS 2008, il semble que votre curseur doit être entre parenthèses pour que ce raccourci fonctionne. Aussi, merci d'avoir posté, je ne savais pas que cela existait!
kiswa

2
Maintenant, s'il n'y avait qu'un moyen pour que cela se produise par défaut.
Mike Lowery

Dans VS2017, le maudit doit également se trouver entre parenthèses.
Mohammed Noureldin

Dans vscode, cela fonctionne aussi et vous pouvez utiliser Alt + Upou Alt + Downpour naviguer entre eux.
Juan De la Cruz

60

Ctrl+ Shift+ Spaceaffiche le Edit.ParameterInfopour la méthode sélectionnée, et par méthode sélectionnée, je veux dire que le curseur doit être entre les parenthèses de la méthode.

Voici l' affiche de liaison de touches de Visual Studio 2010 .

Et pour ceux qui utilisent encore 2008 .


3
Whoa, le vôtre a maintenant l'air bien plus sexy que le mien avec vos étiquettes de clavier fantaisie! Je ne peux pas laisser ça arriver!
aardvarkk

+1, et un autre +1 pour Neil s'il me disait comment faire ça ici.
jp2code

11
Vous utilisez des balises <kbd> </kbd>
Neil Knight

Pour moi sur VS2017, cela semble être: Ctrl + Maj + Espace, Espace
andrew pate

50

Testé uniquement sur Visual Studio 2010.

Placez votre curseur dans (), appuyez sur Ctrl+ K, puis P.

Naviguez maintenant en appuyant sur les touches fléchées  ↑  /  ↓  .


Peut-être que je fais quelque chose de mal, mais je ne peux pas faire fonctionner cela dans VS2008 ou VS2010.
jp2code

1
C'est un raccourci VS2010 (pas sûr de 2008) - mais il est possible que vous l'ayez modifié ou qu'un outil que vous avez installé ait détourné le raccourci.
Alex à Paris

C'est ce que je cherchais. Quelque chose de similaire à Ctrl + Q dans IntelliJIdea / Android Studio.
DaMachk

19

La liaison de clé par défaut pour cela est Ctrl+ Shift+ Space. La commande Visual Studio sous-jacente est Edit.ParameterInfo.

Si la liaison de touches standard ne fonctionne pas pour vous (possible dans certains profils), vous pouvez la modifier via la page des options du clavier

  • Outils -> Options
  • Clavier
  • Tapez Edit.ParameterInfo
  • Modifier la touche de raccourci
  • Hit Assign

1
Très agréable! Pour un autre +1, pourriez-vous me dire comment créer ce Ctrl+Shift+Spacegraphique?
jp2code

8
@ jp2code pour créer le graphique utilisez les <kbd>balises. Exemple<kbd>Shift</kbd>
JaredPar

3
@ jp2code, si vous ouvrez en mode édition, vous pouvez également voir les balises utilisées.
radbyx

Dans Visual Studio 2015, si cela ne fonctionne pas, assurez-vous d'essayer ceci: stackoverflow.com/a/31087682/68905 J'ai dû le faire pour le faire fonctionner.
jakejgordon

10

Il arrive qu'aucune des méthodes ci-dessus ne fonctionne. La liaison des touches est appropriée, mais l'info-bulle ne s'affiche tout simplement pas dans tous les cas, ni comme aide à l'achèvement ni à la demande.

Pour le corriger, allez dans Tools \ Text Editor \ C # (ou toutes les langues) et vérifiez les " Informations sur les paramètres ". Maintenant ça devrait marcher


7

Grande question; J'ai eu le même problème. Il s'avère qu'il existe en effet un raccourci clavier pour faire apparaître cette liste: Ctrl + Maj + Espace (une variation du raccourci IntelliSense de base de Ctrl + Espace).


5
  • La commande Edit.ParameterInfo(mappée à Ctrl+ Shift+ Spacepar défaut) affichera l'info-bulle de surcharge si elle est invoquée lorsque le curseur est à l'intérieur des crochets de paramètre d'un appel de méthode.

  • La commande Edit.QuickInfo(mappée à Ctrl+ KCtrl+ Ipar défaut) affichera l'info-bulle que vous verriez si vous survoliez l'emplacement du curseur.


2

De temps en temps, les suggestions ci-dessus cessent de fonctionner, si je redémarre Visual Studio, elles recommencent à fonctionner.


1

Je sais que c'est un vieux post, mais pour les débutants comme moi qui continuent de visiter cette page, cela pourrait être utile. lorsque vous survolez une méthode, vous obtenez une boîte d'informations non cliquable, tandis que si vous écrivez simplement une virgule dans la parenthèse de la méthode, IntelliSense vous proposera la boîte d'informations bien-aimée avec les flèches cliquables.


ce n'est pas la même chose. C'est l'IntelliSense des valeurs que vous pouvez saisir. Pas la fenêtre de surcharge. Pour cela, vous pouvez simplement faire Ctrl + Espace
Mastro

0

Le mien est apparu dans VS2010 après avoir écrit la première parenthèse.

donc, landaus.Ajouter (

Après avoir fait quelque chose comme ça, la boîte avec les flèches haut et bas est apparue.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.