Visual Studio: Jak wyświetlać przeciążenia w IntelliSense?

251

Po napisaniu kodu jedynym sposobem, w jaki mogę zobaczyć przeciążenia dla metody, jest faktyczna edycja metody poprzez usunięcie nawiasu ()i ponowne otwarcie.

Czy istnieje klawisz skrótu, który mógłbym nacisnąć, aby go aktywować zamiast edytować moje pliki?

Na przykład zapoznaj się z poniższym zrzutem ekranu przeciążenia ShowDialog :

ShowDialog1 Przeciążenia

jp2code
źródło
6
Co się stało ze starymi, dobrymi strzałkami w górę iw dół?
Zapnologica,
3
@Zapnologica: Strzałki w górę i w dół nadal istnieją, ale pole IntelliSense musi zostać aktywowane i otwarte, aby można było użyć tych strzałek do przewijania opcji przeciążenia. To pytanie dotyczy sposobu otwarcia okna IntelliSense .
jp2code
3
Jak
ustawić
6
@Zapnologica: Używam sekwencji Control + Shift + Spacja , podobnie jak stara kombinacja Control + Alt + Delete .
jp2code
W VS2012 domyślnie otwierał się, gdy wpisałem otwarty nawias po nazwie funkcji, ale wydaje się, że nie robi już tego, odkąd zainstalowałem ReSharper. Zamiast tego daje rozwijane menu możliwych zmiennych / funkcji do wypełnienia pierwszego argumentu. Dość irytujące.
Nyerguds

Odpowiedzi:

394

Wypróbuj skrót klawiaturowy Ctrl- Shift- Space. To odpowiada Edit.ParameterInfo, w przypadku zmiany domyślnej.

Przykład:

opisowy zrzut ekranu autorstwa jp2code

aardvarkk
źródło
41
Przynajmniej w VS 2008 wydaje się, że kursor musi znajdować się w nawiasach, aby ten skrót działał. Ponadto dzięki za wysłanie wiadomości nie wiedziałem, że to istnieje!
kiswa
2
Teraz, jeśli istniał tylko sposób, aby to się stało domyślnie.
Mike Lowery,
W VS2017 przeklęty musi również znajdować się w nawiasach.
Mohammed Noureldin
W vscode to też działa i możesz używać Alt + Uplub Alt + Downnawigować między nimi.
Juan De la Cruz
60

Ctrl+ Shift+ Spacepokazuje Edit.ParameterInfodla wybranej metody, a przez wybraną metodę rozumiem, że karetka musi znajdować się w nawiasach metody.

Oto plakat skrótów klawiszowych Visual Studio 2010 .

I dla tych, którzy nadal korzystają z 2008 roku .

Neil Knight
źródło
3
Łał, twój wygląda teraz o wiele seksowniej niż mój dzięki swoim fantazyjnym tagom na klawiaturze! Nie mogę do tego dopuścić!
aardvarkk
+1 i kolejne +1 dla Neila, jeśli powie mi, jak to zrobić tutaj.
jp2code
11
Używasz tagów <kbd> </kbd>
Neil Knight
Dla mnie na VS2017 wydaje się to: Ctrl + Shift + spacja, spacja
andrew pate
50

Testowane tylko w Visual Studio 2010.

Umieść kursor w (), naciśnij Ctrl+ K, a następnie P.

Teraz nawiguj za pomocą klawiszy strzałek  ↑  /  ↓  .

Alex In Paris
źródło
Być może robię coś złego, ale nie mogę tego zrobić w VS2008 lub VS2010.
jp2code
1
Jest to skrót VS2010 (nie jestem pewien co do 2008 r.) - ale możliwe, że go zmieniłeś lub narzędzie, które zainstalowałeś, porwało skrót.
Alex In Paris
Właśnie tego szukałem. Coś podobnego do Ctrl + Q w IntelliJIdea / Android Studio.
DaMachk
19

Domyślne powiązanie klawiszy to Ctrl+ Shift+ Space. Podstawowa komenda Visual Studio to Edit.ParameterInfo.

Jeśli standardowe klawisze nie działają dla Ciebie (możliwe w niektórych profilach), możesz je zmienić na stronie opcji klawiatury

  • Narzędzia -> Opcje
  • Klawiatura
  • Wpisz Edit.ParameterInfo
  • Zmień klawisz skrótu
  • Hit Assign
JaredPar
źródło
1
Bardzo dobrze! Czy przy kolejnym +1 możesz mi powiedzieć, jak stworzyć tę Ctrl+Shift+Spacegrafikę?
jp2code
8
@ jp2code do stworzenia grafiki użyj <kbd>tagów. Przykład<kbd>Shift</kbd>
JaredPar
3
@ jp2code, jeśli otworzysz w trybie edycji, zobaczysz również użyte tagi.
radbyx
Jeśli nie działa to w Visual Studio 2015, koniecznie wypróbuj to: stackoverflow.com/a/31087682/68905 Musiałem to zrobić, aby to zadziałało.
jakejgordon
10

Zdarza się, że żadna z powyższych metod nie działa. Wiązanie klawiszy jest prawidłowe, ale podpowiedź po prostu nie jest wyświetlana ani jako pomoc w zakończeniu, ani na żądanie.

Aby to naprawić, przejdź do Tools \ Text Editor \ C # (lub wszystkich języków) i sprawdź „ Informacje o parametrach ”. Teraz powinno działać

mikus
źródło
7

Świetne pytanie; Miałem ten sam problem. Okazuje się, że rzeczywiście jest skrót klawiszowy, aby wyświetlić tę listę: Ctrl + Shift + Spacja (odmiana podstawowego skrótu IntelliSense Ctrl + Spacja).

KeithS
źródło
5
  • Polecenie Edit.ParameterInfo( domyślnie odwzorowane na Ctrl+ Shift+ Space) wyświetli etykietkę przeciążenia, jeśli zostanie wywołane, gdy kursor znajdzie się w nawiasach parametrów wywołania metody.

  • Polecenie Edit.QuickInfo( domyślnie zamapowane na Ctrl+ KCtrl+ I) wyświetli podpowiedź, którą zobaczysz, gdy umieścisz kursor nad lokalizacją kursora.

Dave
źródło
2

Co jakiś czas powyższe sugestie przestają działać, ale jeśli ponownie uruchomię Visual Studio, zaczną działać ponownie.

Phylliida
źródło
1

Wiem, że to stary post, ale dla początkujących, takich jak ja, którzy wciąż odwiedzają tę stronę, może to być przydatne. kiedy umieścisz kursor na metodzie, pojawi się pole informacyjne, którego nie można kliknąć, a jeśli po prostu napiszesz przecinek w nawiasie metody, IntelliSense zaoferuje ukochane okno informacyjne ze klikalnymi strzałkami.

Ylenia88m
źródło
to nie to samo. To IntelliSense, jakie wartości możesz wprowadzić. Nie okno przeciążeń. W tym celu możesz po prostu zrobić Ctrl + Space
Mastro
0

Mój pojawił się w VS2010 po napisaniu pierwszego nawiasu.

więc prams.Add (

Po zrobieniu czegoś takiego pojawiło się pudełko ze strzałkami w górę i w dół.

eaglei22
źródło