Visual Studio: Wie werden Überladungen in IntelliSense angezeigt?

251

Sobald Code geschrieben wurde, kann ich die Überladungen für eine Methode nur anzeigen, indem ich die Methode tatsächlich bearbeite, indem ich die Klammer lösche ()und sie erneut öffne .

Gibt es eine Tastenkombination, die ich drücken könnte, um diese zu aktivieren, anstatt meine Dateien bearbeiten zu müssen?

Ein Beispiel finden Sie im folgenden Screenshot von ShowDialog Overload :

ShowDialog1-Überladungen

jp2code
quelle
6
Was ist jemals mit den guten alten Pfeilen passiert?
Zapnologica
3
@Zapnologica: Die Aufwärts- und Abwärtspfeile sind noch vorhanden, aber das IntelliSense- Feld muss aktiviert und geöffnet werden, bevor diese Pfeile zum Scrollen durch die Überladungsoptionen verwendet werden können. In dieser Frage geht es darum, wie die IntelliSense- Box geöffnet werden kann.
JP2-Code
3
Wie können Sie es standardmäßig öffnen, Kontrollraum gegen Kontrollschichtraum
Zapnologica
6
@Zapnologica: Ich verwende die Sequenz Strg + Umschalt + Leertaste , wie die alte Kombination Strg + Alt + Löschen .
JP2-Code
In VS2012 wurde es standardmäßig geöffnet, wenn ich eine geöffnete Klammer nach einem Funktionsnamen eingab, aber das scheint nicht mehr zu funktionieren, seit ich ReSharper installiert habe. Stattdessen gibt es ein Dropdown-Menü mit möglichen Variablen / Funktionen, die in das erste Argument eingefügt werden können. Ziemlich nervig.
Nyerguds

Antworten:

394

Probieren Sie die Tastenkombination Ctrl- Shift- Space. Dies entspricht für den Edit.ParameterInfoFall, dass Sie die Standardeinstellung geändert haben.

Beispiel:

beschreibender Screenshot von jp2code

Erdferkel
quelle
41
Zumindest in VS 2008 scheint sich Ihr Cursor in den Klammern zu befinden, damit diese Verknüpfung funktioniert. Vielen Dank für die Veröffentlichung, ich wusste nicht, dass es das gibt!
Kiswa
2
Nun, wenn es nur eine Möglichkeit gäbe, dies standardmäßig zu erreichen.
Mike Lowery
In VS2017 muss sich der Fluch ebenfalls in Klammern befinden.
Mohammed Noureldin
In vscode funktioniert dies auch und Sie können Alt + Upoder verwenden Alt + Down, um zwischen ihnen zu navigieren.
Juan De la Cruz
60

Ctrl+ Shift+ SpaceZeigt den Edit.ParameterInfofür das gewählte Verfahren, und durch ausgewählte Methode meine ich das Einfügemarke innerhalb der Methode Klammern sein muss.

Hier ist das Visual Studio 2010 Keybinding Poster .

Und für diejenigen, die noch 2008 verwenden .

Neil Knight
quelle
3
Du siehst jetzt mit deinen ausgefallenen Tastatur-Tags viel sexy aus als meine! Ich kann das nicht zulassen!
Erdferkel
+1 und noch +1 für Neil, wenn er mir sagen würde, wie ich das hier machen soll.
JP2-Code
11
Sie verwenden <kbd> </ kbd> -Tags
Neil Knight
Für mich auf VS2017 scheint dies zu sein: Strg + Umschalt +
Leertaste
50

Nur in Visual Studio 2010 getestet.

Platzieren Sie den Cursor innerhalb von (), drücken Sie Ctrl+ Kund dann P.

Navigieren Sie nun durch Drücken der Pfeiltasten  ↑  /  ↓  .

Alex In Paris
quelle
Vielleicht mache ich etwas falsch, aber ich kann dies nicht in VS2008 oder VS2010 zum Laufen bringen.
JP2-Code
1
Es ist eine VS2010-Verknüpfung (nicht sicher über 2008) - aber es ist möglich, dass Sie sie geändert haben oder dass ein von Ihnen installiertes Tool die Verknüpfung entführt hat.
Alex In Paris
Das habe ich gesucht. Etwas Ähnliches wie Strg + Q in IntelliJIdea / Android Studio.
DaMachk
19

Die Standardschlüsselbindung hierfür ist Ctrl+ Shift+ Space. Der zugrunde liegende Visual Studio-Befehl lautet Edit.ParameterInfo.

Wenn die Standard-Tastenkombination für Sie nicht funktioniert (in einigen Profilen möglich), können Sie sie über die Seite mit den Tastaturoptionen ändern

  • Extras -> Optionen
  • Tastatur
  • Geben Sie Edit.ParameterInfo ein
  • Ändern Sie die Tastenkombination
  • Klicken Sie auf Zuweisen
JaredPar
quelle
1
Sehr schön! Können Sie mir für eine weitere +1 sagen, wie diese Ctrl+Shift+SpaceGrafik erstellt wird?
JP2-Code
8
@ jp2code Um die Grafik zu erstellen, verwenden Sie die <kbd>Tags. Beispiel<kbd>Shift</kbd>
JaredPar
3
@ jp2code, wenn Sie im Bearbeitungsmodus öffnen, können Sie auch die verwendeten Tags sehen.
Radbyx
Wenn dies in Visual Studio 2015 nicht funktioniert, stellen Sie sicher, dass Sie Folgendes versuchen: stackoverflow.com/a/31087682/68905 Ich musste dies tun, damit es funktioniert.
Jakejgordon
10

Es kommt vor, dass keine der oben genannten Methoden funktioniert. Die Schlüsselbindung ist korrekt, aber der Tooltip wird in keinem Fall angezeigt, weder als Abschlusshilfe noch auf Anfrage.

Um das Problem zu beheben, gehen Sie einfach zu Extras \ Texteditor \ C # (oder in alle Sprachen) und überprüfen Sie die ' Parameterinformationen '. Jetzt sollte es funktionieren

mikus
quelle
7

Gute Frage; Ich hatte das gleiche Problem. Es stellt sich heraus, dass es tatsächlich eine Tastenkombination gibt, mit der diese Liste aufgerufen werden kann: Strg + Umschalt + Leertaste (eine Variation der grundlegenden IntelliSense-Tastenkombination von Strg + Leertaste).

KeithS
quelle
5
  • Der Befehl Edit.ParameterInfo( standardmäßig Ctrl+ Shift+ zugeordnet Space) zeigt den Tooltip zum Überladen an, wenn er aufgerufen wird, wenn sich der Cursor in den Parameterklammern eines Methodenaufrufs befindet.

  • Der Befehl Edit.QuickInfo( standardmäßig Ctrl+ KCtrl+ zugeordnet I) zeigt den Tooltip an, den Sie sehen würden, wenn Sie mit der Maus über die Cursorposition fahren.

Dave
quelle
2

Hin und wieder funktionieren die obigen Vorschläge nicht mehr. Wenn ich Visual Studio neu starte, funktionieren sie jedoch wieder.

Phylliida
quelle
1

Ich weiß, dass dies ein alter Beitrag ist, aber für Neulinge wie mich, die diese Seite noch besuchen, könnte dies nützlich sein. Wenn Sie mit der Maus über eine Methode fahren, erhalten Sie ein nicht anklickbares Infobox. Wenn Sie jedoch nur ein Komma in die Methodenklammer schreiben, bietet Ihnen IntelliSense das beliebte Infobox mit den anklickbaren Pfeilen an.

Ylenia88m
quelle
das ist nicht dasselbe Das ist der IntelliSense für die Werte, die Sie eingeben können. Nicht das Überladungsfenster. Dafür können Sie einfach Strg +
Mastro
0

Meins tauchte in VS2010 auf, nachdem ich die erste Klammer geschrieben hatte.

also Kinderwagen.Add (

Nachdem Sie so etwas getan hatten, erschien die Box mit den Aufwärts- und Abwärtspfeilen.

eaglei22
quelle