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


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


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 .


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  ↑  /  ↓  .


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

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ć


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).


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.


2

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


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.


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ół.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.