Funkcja IntelliSense w programie Visual Studio

IntelliSense to pomoc dotycząca uzupełniania kodu, która obejmuje szereg funkcji: elementy członkowskie listy, informacje o parametrach, szybkie informacje i pełne słowo. Te funkcje pomagają dowiedzieć się więcej o używanym kodzie, śledzić wpisywane parametry i dodawać wywołania do właściwości i metod przy użyciu tylko kilku naciśnięć klawiszy.

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

Lista składników

Lista prawidłowych elementów członkowskich z 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, które zaczynają się od tych znaków lub gdzie początek dowolnego wyrazu w nazwie zaczyna się od tych znaków. Funkcja IntelliSense wykonuje również dopasowywanie "przypadek camel", dzięki czemu można po prostu wpisać pierwszą literę każdego słowa camel-cased w nazwie elementu członkowskiego, aby zobaczyć dopasowania.

Po wybraniu elementu możesz wstawić go do kodu, naciskając klawisz Tab lub wpisując spację. Jeśli wybierzesz element i wpiszesz kropkę, element pojawia się, a po nim kropka, co wywołuje kolejną listę elementów członkowskich. Po wybraniu elementu, ale przed jego wstawieniem uzyskasz szybkie informacje o elemencie.

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

Visual Studio Member List

Screenshot of IntelliSense List Members feature.

Funkcję Elementy członkowskie listy można wywołać ręcznie, wpisując klawisze Ctrl+J, wybierając pozycję Edytuj>elementy członkowskie listy funkcji IntelliSense>lub wybierając przycisk Elementy członkowskie listy na pasku narzędzi edytora. Gdy jest wywoływana w pustym wierszu lub poza rozpoznawalnym zasięgiem, na liście wyświetlane są symbole w globalnej przestrzeni nazw.

Aby domyślnie wyłączyć opcję Listy elementów członkowskich (tak, aby nie była wyświetlana, chyba że jest wywoływana specjalnie), przejdź do pozycji Narzędzia>Opcje>Edytor>tekstu Wszystkie języki i usuń zaznaczenie opcji Automatyczne elementy członkowskie listy. Jeśli chcesz wyłączyć opcję Listy elementów członkowskich tylko dla określonego języka, przejdź do obszaru Ustawienia ogólne dla tego języka.

Można również przejść do trybu sugestii, w którym tylko wpisany tekst jest umieszczony w kodzie. Jeśli na przykład wprowadzisz identyfikator, który nie znajduje się na liście i naciśnij klawisz Tab, w trybie uzupełniania wpis zastąpi wpisany identyfikator. Aby przełączać się między trybem uzupełniania i trybem sugestii, naciśnij klawisze Ctrl+Alt+Spacja lub wybierz pozycję Edytuj>tryb uzupełniania funkcji IntelliSense.>

Można również przejść do trybu sugestii, w którym tylko wpisany tekst jest umieszczony w kodzie. Jeśli na przykład wprowadzisz identyfikator, który nie znajduje się na liście i naciśnij klawisz Tab, w trybie uzupełniania wpis zastąpi wpisany identyfikator. Aby przełączać się między trybem uzupełniania i trybem sugestii, naciśnij klawisze Ctrl+Alt+Spacja lub wybierz pozycję Edytuj>przełącznik IntelliSense między uzupełnianiem funkcji IntelliSense>tylko z użyciem klawiszy tabulatora.

Informacje o parametrach

Informacje o parametrach zawierają informacje na temat liczby, nazw i typów 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 wprowadzania funkcji. W przypadku przeciążonych funkcji można użyć klawiszy strzałek w górę i w dół , aby wyświetlić alternatywne informacje o parametrach przeciążeń funkcji.

Parameter Info

Screenshot of IntelliSense Parameter Info feature.

Gdy opisujesz funkcje i parametry za pomocą komentarzy dokumentacji XML, komentarze będą 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 pozycję Edytuj>informacje o parametrach funkcji IntelliSense>, naciskając klawisze Ctrl+Shift+Spacja lub wybierając przycisk Informacje o parametrach na pasku narzędzi edytora.

Szybkie informacje

Szybkie informacje wyświetlają pełną deklarację dla każdego identyfikatora w kodzie.

Visual Studio Quick Info

Screenshot of IntelliSense Quick Info feature.

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

Parameter Info in a C# code file

Screenshot of IntelliSense Quick Info & Parameter Info feature.

Możesz ręcznie wywołać szybkie informacje, wybierając pozycję Edytuj>szybkie informacje funkcji IntelliSense>, naciskając klawisze Ctrl K, Ctrl++I lub wybierając przycisk Szybkie informacje na pasku narzędzi edytora.

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

Szybkie informacje można wyłączyć dla kodu języka C++, przechodząc do pozycji Narzędzia>Opcje>edytora>tekstów C/C++>Advanced i ustawiając opcję Auto Quick Info na .false

Dokoń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ć pełne wyrazy, wybierając pozycję Edytuj>pełne wyrazy IntelliSense>, naciskając klawisze Ctrl+Spacja lub wybierając przycisk Ukończ wyraz na pasku narzędzi edytora.

Opcje funkcji IntelliSense

Opcje IntelliSense są domyślnie włączone. Aby je wyłączyć, przejdź do pozycji Narzędzia>Opcje>Edytor>tekstu Wszystkie języki i usuń zaznaczenie pozycji Informacje o parametrach lub elementy członkowskie listy automatycznej, jeśli nie chcesz funkcji elementy członkowskie listy.

Napiwek

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

Ikony funkcji IntelliSense

Ikony w funkcji IntelliSense mogą przekazywać dodatkowe znaczenie modyfikatorom ikon. Są to gwiazdy, serca i blokady warstwowe na wierzchu ikony obiektu, które przekazują odpowiednio chronione, wewnętrzne lub prywatne.

Icon Dostępność opis
Public Icon Modifier Klasa publiczna Dostęp nie jest ograniczony.
Protected Icon Modifier Klasa chroniona Dostęp jest ograniczony do zawierającej klasy lub typów pochodzących z zawierającej klasy.
Protected Internal Icon Modifier Chroniona klasa wewnętrzna Dostęp jest ograniczony do bieżącego zestawu lub typów pochodzących z zawierającej klasy.
Internal Icon Modifier Klasa wewnętrzna Dostęp jest ograniczony do bieżącego zestawu.
Private Icon Modifier Klasa prywatna Dostęp jest ograniczony do zawierającej klasy lub typów pochodzących z zawierającej klasy w bieżącym zestawie. (Dostępne od wersji C# 7.2).

Rozwiązywanie problemów z funkcją IntelliSense

W niektórych przypadkach opcje IntelliSense mogą nie działać zgodnie z oczekiwaniami.

Kursor znajduje się poniżej błędu kodu. Może nie być możliwe użycie funkcji IntelliSense, jeśli w kodzie powyżej kursora istnieje niekompletna funkcja lub inny błąd, ponieważ funkcja IntelliSense może nie być w stanie przeanalizować elementów kodu. Można naprawić ten problem, zakomentowując odpowiedni kod.

Kursor znajduje się w komentarzu do 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łu ciągu. Nie można użyć funkcji IntelliSense, jeśli kursor znajduje się w cudzysłowie wokół literału 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ę mechanizmu IntelliSense.