Funkcje funkcji IntelliSense języka Visual C++

IntelliSense to nazwa nadana zestawowi funkcji, które ułatwiają kodowanie. Funkcja IntelliSense dla języka C++ jest dostępna dla plików autonomicznych, a także plików będących częścią projektu C++. W projektach międzyplatformowych niektóre funkcje funkcji IntelliSense są dostępne w plikach cpp i c w projekcie kodu udostępnionego, nawet jeśli jesteś w kontekście systemu Android lub iOS.

Ten artykuł zawiera omówienie funkcji IntelliSense języka C++. Aby uzyskać informacje na temat konfigurowania projektu dla funkcji IntelliSense i rozwiązywania problemów, zobacz Konfigurowanie projektu C++ dla funkcji IntelliSense.

Funkcje intelliSense w języku C++

IntelliSense to nazwa nadana zestawowi funkcji, które ułatwiają kodowanie. Ponieważ różne osoby mają różne pomysły na to, co jest wygodne, praktycznie wszystkie funkcje IntelliSense można włączyć lub wyłączyć w oknie dialogowym Opcje w obszarze Edytor>tekstów C/C++>Advanced. Okno dialogowe Opcje jest dostępne z menu Narzędzia na pasku menu.

Tool Options dialog box

Aby uzyskać dostęp do funkcji IntelliSense, możesz użyć elementów menu i skrótów klawiaturowych przedstawionych na poniższej ilustracji.

IntelliSense menu

Uzupełnianie instrukcji i lista elementów członkowskich

Po rozpoczęciu wpisywania słowa kluczowego, typu, funkcji, nazwy zmiennej lub innego elementu programu rozpoznawanego przez kompilator edytor oferuje pełne słowo.

Visual C++ Complete Word window

Przy pierwszym wywoływaniu listy elementów członkowskich są wyświetlane tylko elementy członkowskie, które są dostępne dla bieżącego kontekstu. Po naciśnięciu klawisza Ctrl+J zostanie wyświetlony wszystkie elementy członkowskie niezależnie od ułatwień dostępu. Jeśli wywołasz go po raz trzeci, zostanie wyświetlona jeszcze szersza lista elementów programu. Listę członków można wyłączyć w oknie dialogowym Opcje w obszarze Edytor>tekstów C/C++>Ogólne>elementy członkowskie listy.

Visual C++ Member List

Pomoc dotycząca parametrów

Podczas wpisywania nawiasu klamrowego otwierającego wywołania funkcji lub nawiasu kątowego w deklaracji zmiennej szablonu klasy edytor wyświetla małe okno z typami parametrów dla każdego przeciążenia funkcji lub konstruktora. Parametr "current" — oparty na lokalizacji kursora — jest pogrubiony. Informacje o parametrach można wyłączyć w oknie dialogowym Opcje w obszarze Edytor>tekstów C/C++>Ogólne>informacje o parametrach.

Visual C++ Parameter Help

Szybkie informacje

Po umieszczeniu kursora myszy na zmiennej zostanie wyświetlone małe okno wbudowane, w którym są wyświetlane informacje o typie i nagłówek, w którym zdefiniowano typ. Umieść kursor na wywołaniu funkcji, aby wyświetlić podpis funkcji. Szybkie informacje można wyłączyć w oknie dialogowym Opcje w obszarze Edytor>tekstów C/C++>Advanced>Auto Quick Info.

Visual C++ QuickInfo

Błędy zygzaki

Zygzaki w ramach elementu programu (zmienna, słowo kluczowe, nawiasy klamrowe, nazwa typu itd.) zwracają uwagę na błąd lub potencjalny błąd w kodzie. Podczas pisania deklaracji do przodu pojawia się zielony wywiórz, aby przypomnieć, że nadal trzeba napisać implementację. Fioletowy wywiórz pojawia się w udostępnionym projekcie, gdy występuje błąd w kodzie, który nie jest obecnie aktywny, na przykład podczas pracy w kontekście systemu Windows, ale wprowadź coś, co byłoby błędem w kontekście systemu Android. Czerwony przełącznik wskazuje błąd kompilatora lub ostrzeżenie w aktywnym kodzie, z którym trzeba sobie poradzić.

Visual C++ error squiggles

Kolorowanie kodu i czcionki

Domyślne kolory i czcionki można zmienić w oknie dialogowym Opcje w obszarze Czcionki środowiska>i kolory. W tym miejscu można zmienić czcionki dla wielu okien interfejsu użytkownika, a nie tylko edytora. Ustawienia specyficzne dla języka C++ zaczynają się od "C++"; pozostałe ustawienia dotyczą wszystkich języków.

Funkcja IntelliSense dla wielu platform

W projekcie kodu udostępnionego niektóre funkcje funkcji IntelliSense, takie jak zygzaki, są dostępne nawet w przypadku pracy w kontekście systemu Android. Jeśli napiszesz jakiś kod, który spowoduje błąd w nieaktywnym projekcie, funkcja IntelliSense nadal wyświetla zygzaki, ale jest w innym kolorze niż zygzaki błędów w bieżącym kontekście.

Rozważmy aplikację OpenGLES skonfigurowaną do kompilowania dla systemów Android i iOS. Ilustracja przedstawia edytowany kod udostępniony. Na tej ilustracji aktywny projekt to iOS.StaticLibrary:

iOS is selected as the active project.

Zapamiętaj poniższe:

  • Gałąź #ifdef w wierszu 6 jest wyszarana, aby wskazać nieaktywny region, ponieważ __ANDROID__ nie jest zdefiniowana dla projektu systemu iOS.

  • Zmienna powitania w wierszu 11 jest inicjowana za pomocą identyfikatora HELLO, który ma teraz czerwony wywiórz. Dzieje się tak, ponieważ w aktualnie aktywnym projekcie systemu iOS nie zdefiniowano żadnego identyfikatora HELLO .

  • Wiersz 12 ma fioletowy przełącznik na identyfikatorze BYE , ponieważ ten identyfikator nie jest zdefiniowany w (obecnie) nieaktywnym projekcie Android.NativeActivity . Mimo że ten wiersz kompiluje się, gdy system iOS jest aktywnym projektem, nie będzie kompilowany, gdy system Android jest aktywnym projektem. Ponieważ jest to kod udostępniony, należy poprawić kod, mimo że kompiluje się w aktualnie aktywnej konfiguracji.

Jeśli zmienisz aktywny projekt na Android, zygzaki zmienią się:

  • Gałąź #else w wierszu 8 jest wyszarana, aby wskazać nieaktywny region, ponieważ __ANDROID__ jest zdefiniowany dla projektu systemu Android.

  • Zmienna powitania w wierszu 11 jest inicjowana za pomocą identyfikatora HELLO, który ma fioletowy wywiórz. Jest to spowodowane tym, że żaden identyfikator HELLO nie jest zdefiniowany w obecnie nieaktywnym projekcie systemu iOS.

  • Wiersz 12 ma czerwony przełącznik na identyfikatorze BYE , ponieważ ten identyfikator nie jest zdefiniowany w aktywnym projekcie.

Funkcja IntelliSense dla plików autonomicznych

Po otwarciu pojedynczego pliku poza dowolnym projektem nadal uzyskujesz funkcję IntelliSense. Możesz włączyć lub wyłączyć określone funkcje Funkcji IntelliSense w oknie dialogowym Opcje w obszarze Edytor>tekstów C/C++>Advanced. Aby skonfigurować funkcję IntelliSense dla pojedynczych plików, które nie są częścią projektu, poszukaj sekcji IntelliSense i przeglądania plików innych niż projekt.

Visual C++ single file intellisense

Domyślnie funkcja IntelliSense z jednym plikiem używa tylko standardowych katalogów dołączania do znajdowania plików nagłówkowych. Aby dodać dodatkowe katalogi, otwórz menu skrótów w węźle Rozwiązanie i dodaj katalog do listy Debugowanie kodu źródłowego, jak pokazano na poniższej ilustracji:

Adding a path to a header file.

Włączanie lub wyłączanie funkcji

Ponieważ różne osoby mają różne pomysły na to, co jest wygodne, praktycznie wszystkie funkcje IntelliSense można włączyć lub wyłączyć w oknie dialogowym Opcje w obszarze Edytor>tekstów C/C++>Advanced. Okno dialogowe Opcje jest dostępne z menu Narzędzia na pasku menu.

Tool Options dialog box