Udostępnij za pośrednictwem


Funkcja IntelliSense w programie Visual Studio

IntelliSense to pomoc dotycząca uzupełniania kodu, która zawiera funkcje, które ułatwiają poznanie używanego kodu, śledzenie wpisanych parametrów i dodawanie wywołań do właściwości i metod przy użyciu tylko kilku naciśnięć.

Te funkcje obejmują:

Wiele aspektów funkcji IntelliSense jest specyficznych dla języka. Aby uzyskać więcej informacji na temat funkcji IntelliSense dla różnych języków, zobacz artykuły wymienione w sekcji Powiązana zawartość.

Lista członków

Lista prawidłowych elementów typu (lub przestrzeni nazw) jest wyświetlana po wpisaniu znaku wyzwalacza (na przykład kropki (.) w kodzie zarządzanym lub :: w języku C++). W przypadku kontynuowania wpisywania znaków lista jest filtrowana tak, aby zawierała tylko elementy członkowskie rozpoczynające się od tych znaków lub gdzie początek dowolny wyraz w nazwie zaczyna się od tych znaków. Funkcja IntelliSense wykonuje również przypadku wielbłąda dopasowania, dzięki czemu można po prostu wpisać pierwszą literę każdego słowa wielbłądu w nazwie elementu członkowskiego, aby zobaczyć dopasowania.

Po wybraniu elementu możesz wstawić go do kodu, naciskając Tab lub wpisując spację. Jeśli wybierzesz element i wpiszesz kropkę, element pojawi się wraz z kropką, co spowoduje wyświetlenie kolejnej listy elementów członkowskich. Po wybraniu elementu, ale przed jego wstawieniem, uzyskasz Szybką Informację o elemencie.

Na liście składowej ikona po lewej stronie reprezentuje typ składowy, taki jak przestrzeń nazw, klasa, funkcja lub zmienna. Lista może być długa, więc możesz nacisnąć pgup i PgDn, aby przejść w górę lub w dół na liście.

zrzut ekranu funkcji IntelliSense pokazujący listę członków.

Zrzut ekranu przedstawiający funkcję listy IntelliSense.

Funkcję Elementy członkowskie można wywołać ręcznie, wpisując Ctrl+J, wybierając pozycję Edytuj>IntelliSense>Elementy członkowskie, lub wybierając przycisk Elementy członkowskie na pasku narzędzi edytora. Po wywołaniu go w pustym wierszu lub poza rozpoznawalnym zakresem lista wyświetla symbole w globalnej przestrzeni nazw.

Aby domyślnie wyłączyć opcję Listy członków, aby nie była wyświetlana, chyba że zostanie wywołana, przejdź do Tools>Options>Text Editor>Wszystkie języki i usuń zaznaczenie Automatycznie lista członków. Jeśli chcesz wyłączyć członków listy tylko dla określonego języka, przejdź do ustawień ogólnych dla tego języka.

Możesz również zmienić tryb sugestii, w którym do kodu jest wstawiany tylko wpisany tekst. Jeśli na przykład wprowadzisz identyfikator, który nie znajduje się na liście, a następnie naciśnij Tab, wpis zastępuje wpisany identyfikator w trybie uzupełniania. Aby przełączać się między trybem uzupełniania i trybem sugestii, naciśnij Ctrl+Alt+Spacjalub wybierz pozycję Edytuj>IntelliSense>Przełącz tryb uzupełniania.

Możesz również zmienić tryb sugestii, w którym do kodu jest wstawiany tylko wpisany tekst. Jeśli na przykład wprowadzisz identyfikator, który nie znajduje się na liście, a następnie naciśnij Tab, w trybie uzupełniania wpis zastąpi wpisany identyfikator. Aby przełączać się między trybem uzupełniania i trybem sugestii, naciśnij Ctrl+Alt+Spacjalub wybierz Edytuj>IntelliSense>Przełącz między automatycznym a tylko-kartowym uzupełnianiem IntelliSense.

Informacje o parametrach

Informacje o parametrach zawiera informacje o liczbie, nazwach i typach parametrów wymaganych przez metodę, parametr typu ogólnego atrybutu (w języku C#) lub szablon (w języku C++).

Parametr pogrubiony wskazuje następny parametr, który jest wymagany podczas wpisywania funkcji. W przypadku przeciążonych funkcji można użyć strzałek w górę i w dół, aby wyświetlić alternatywne informacje o parametrach dla przeciążeń funkcji.

Zrzut ekranu przedstawiający funkcję Informacji o parametrach w IntelliSense.

zrzut ekranu przedstawiający funkcję Informacja o parametrach IntelliSense.

Podczas adnotowania funkcji i parametrów komentarzami dokumentacji XML, komentarze te są wyświetlane jako Informacje o parametrach. Aby uzyskać więcej informacji, zobacz Dostarczanie komentarzy kodu XML.

Informacje o parametrach można wywołać ręcznie, wybierając Edytuj>IntelliSense>Informacje o parametrach, naciskając Ctrl+Shift+Spacjalub wybierając przycisk Informacje o parametrach na pasku narzędzi edytora.

Szybkie informacje

szybkie informacje wyświetla pełną deklarację dla dowolnego identyfikatora w kodzie.

Zrzut ekranu przedstawiający funkcję Szybkich informacji IntelliSense.

zrzut ekranu przedstawiający funkcję Quick Info IntelliSense.

Po wybraniu członka w polu Lista członków zostanie również wyświetlone szybkie informacje.

Zrzut ekranu przedstawiający funkcję Szybkich informacji i informacji o parametrach funkcji IntelliSense.

zrzut ekranu przedstawiający funkcję Szybkich informacji i informacji o parametrach funkcji IntelliSense.

Możesz ręcznie wywołać Szybką informację, wybierając pozycję Edytuj>IntelliSense>Quick Info, naciskając Ctrl+K, Ctrl+Ilub wybierając przycisk Szybka informacja na pasku narzędzi edytora.

Jeśli funkcja jest przeciążona, funkcja IntelliSense może nie wyświetlać informacji dla wszystkich form przeciążenia.

Szybkie informacje można wyłączyć dla kodu C++, przechodząc do Narzędzia >Opcje>Edytor tekstu>C/C++>Zaawansowanei ustawiając Auto Quick Info na false.

Ukończ wyraz

Complete Word kończy resztę zmiennej, polecenia lub nazwy funkcji po wprowadzeniu wystarczającej liczby znaków, aby uściślić termin. Możesz wywołać polecenie Zakończ program Word, wybierając Edytuj>IntelliSense>Complete Word, naciskając Ctrl+Spacjalub wybierając przycisk Ukończ program Word na pasku narzędzi edytora.

Opcje funkcji IntelliSense

Opcje funkcji IntelliSense są domyślnie włączone. Aby je wyłączyć, przejdź do Narzędzia>Opcje>Edytor Tekstu>Wszystkie Języki i usuń zaznaczenie opcji Informacje o Parametrach lub Automatyczne Uzupełnianie Członków Listy, jeśli nie chcesz funkcji Automatyczne Uzupełnianie Członków Listy.

Napiwek

Jeśli chcesz zmienić wygląd elementów interfejsu użytkownika w programie Visual Studio, przejdź do pozycji Narzędzia Tools>Options>Environment>Font and Colors. Aby uzyskać więcej informacji na temat tych ustawień i sposobu interakcji z nimi, zobacz Czcionki i kolory, Środowisko, Opcje okno dialogowe.

Ikony IntelliSense

Ikony w funkcji IntelliSense mogą przekazywać dodatkowe znaczenie modyfikatorom ikon. Są to gwiazdy, serca i zamki nałożone na ikonę obiektu, które oznaczają odpowiednio ochronę, wewnętrzność lub prywatność.

Ikona Dostępność Opis
modyfikator publicznej ikony Klasa publiczna Dostęp nie jest ograniczony.
modyfikator ikon chronionych Klasa chroniona Dostęp jest ograniczony do klasy otaczającej lub do typów wywodzących się z klasy otaczającej.
modyfikator chronionej wewnętrznej ikony Chroniona klasa wewnętrzna Dostęp jest ograniczony do bieżącego zestawu lub typów pochodzących z zawierającej klasy.
modyfikator ikony wewnętrznej Klasa wewnętrzna Dostęp jest ograniczony do bieżącego zestawu.
modyfikator ikony prywatnej Klasa prywatna Dostęp jest ograniczony do klasy zawierającej lub typów pochodnych od klasy zawierającej w bieżącym zestawie. (Dostępne od wersji C# 7.2).

Rozwiązywanie problemów z funkcją IntelliSense

Opcje funkcji IntelliSense mogą nie działać zgodnie z oczekiwaniami w niektórych przypadkach.

  • Kursor znajduje się poniżej błędu kodu: Być może nie można użyć funkcji IntelliSense, jeśli w kodzie powyżej kursora występuje niekompletna funkcja lub inny błąd, ponieważ funkcja IntelliSense może nie być w stanie przeanalizować elementów kodu. Ten problem można rozwiązać, komentując odpowiedni kod.

  • Kursor znajduje się w komentarzu kodu: Nie można użyć funkcji IntelliSense, jeśli kursor znajduje się w komentarzu w pliku źródłowym.

  • Kursor znajduje się w literałach ciągu: Nie można użyć funkcji IntelliSense, jeśli kursor znajduje się w cudzysłowach obejmujących literał ciągu, jak w poniższym przykładzie:

    MessageBox( hWnd, "String literal|")
    
  • Opcje automatyczne są wyłączone: Domyślnie funkcja IntelliSense działa automatycznie, ale można ją wyłączyć. Nawet jeśli automatyczne uzupełnianie instrukcji jest wyłączone, można wywołać funkcję IntelliSense.