Funkce IntelliSense jazyka Visual C++

IntelliSense je název sady funkcí, které usnadňují kódování. IntelliSense pro C++ je k dispozici pro samostatné soubory i pro soubory, které jsou součástí projektu C++. V projektech pro různé platformy jsou některé funkce IntelliSense dostupné v souborech .cpp a .c v projektu sdíleného kódu, i když jste v kontextu Androidu nebo iOS.

Tento článek obsahuje přehled funkcí IntelliSense jazyka C++. Informace o tom, jak nakonfigurovat projekt pro IntelliSense a jak řešit problémy, najdete v tématu Konfigurace projektu C++ pro IntelliSense.

Funkce IntelliSense v jazyce C++

IntelliSense je název sady funkcí, které usnadňují kódování. Vzhledem k tomu, že různí lidé mají různé nápady na to, co je vhodné, je možné v dialogovém okně Možnosti povolit nebo zakázat prakticky všechny funkce IntelliSense v části Textový editor>C/C++>Advanced. Dialogové okno Možnosti je k dispozici v nabídce Nástroje na řádku nabídek.

Tool Options dialog box

K přístupu k IntelliSense můžete použít položky nabídky a klávesové zkratky zobrazené na následujícím obrázku.

IntelliSense menu

Doplňování příkazů a seznam členů

Když začnete psát klíčové slovo, typ, funkci, název proměnné nebo jiný programový prvek, který kompilátor rozpozná, editor vám nabídne dokončit slovo za vás.

Visual C++ Complete Word window

Při prvním vyvolání seznamu členů se zobrazí jenom členy, které jsou přístupné pro aktuální kontext. Pokud potom stisknete ctrl+J, zobrazí se všechny členy bez ohledu na přístupnost. Pokud ho vyvoláte třetí čas, zobrazí se ještě širší seznam prvků programu. Seznam členů můžete vypnout v dialogovém okně Možnosti v části Textové editor>C/C++>Obecné>členy seznamu automatického seznamu.

Visual C++ Member List

Nápověda k parametru

Když zadáte levou závorku volání funkce nebo úhlovou závorku na deklaraci proměnné šablony třídy, editor zobrazí malé okno s typy parametrů pro každé přetížení funkce nebo konstruktoru. Parametr "current" (na základě umístění kurzoru) je tučný. Informace o parametrech můžete vypnout v dialogovém okně Možnosti v části Informace o obecném> parametru c/C++>textového editoru.>

Visual C++ Parameter Help

Rychlé informace

Když najedete myší na proměnnou, zobrazí se malé okno vložené s informacemi o typu a záhlavím, ve kterém je typ definován. Najeďte myší na volání funkce, aby se zobrazil podpis funkce. Rychlé informace můžete vypnout v dialogovém okně Možnosti v části Textový editor>C/C++>Upřesnit>rychlé informace.

Visual C++ QuickInfo

Chyby vlnovek

Vlnovkou pod prvkem programu (proměnná, klíčové slovo, složená závorka, název typu atd.) upozorňuje na chybu nebo potenciální chybu v kódu. Když napíšete předanou deklaraci, zobrazí se zelená vlnovka, která vám připomene, že stále potřebujete napsat implementaci. Fialová vlnovka se zobrazí ve sdíleném projektu, když dojde k chybě v kódu, který není aktuálně aktivní, například když pracujete v kontextu Windows, ale zadejte něco, co by v kontextu Androidu bylo chybou. Červená vlnovka indikuje chybu kompilátoru nebo upozornění v aktivním kódu, se kterým se potřebujete vypořádat.

Visual C++ error squiggles

Barevné zvýrazňování kódu a písma

Výchozí barvy a písma lze změnit v dialogovém okně Možnosti v části Písma a barvy prostředí>. Písma pro mnoho oken uživatelského rozhraní můžete změnit tady, nejen editor. Nastavení specifická pro C++ začínají na "C++"; ostatní nastavení jsou určená pro všechny jazyky.

IntelliSense pro různé platformy

Ve sdíleném projektu kódu jsou některé funkce IntelliSense, jako jsou vlnovky, dostupné i v případě, že pracujete v kontextu Androidu. Pokud napíšete kód, který způsobí chybu v neaktivním projektu, intelliSense stále zobrazuje vlnovku, ale jsou v jiné barvě než vlnovkou chyb v aktuálním kontextu.

Zvažte aplikaci OpenGLES, která je nakonfigurovaná tak, aby se sestavovala pro Android a iOS. Obrázek znázorňuje úpravu sdíleného kódu. Na tomto obrázku je aktivní projekt iOS.StaticLibrary:

iOS is selected as the active project.

Všimněte si následujícího:

  • #ifdef Větev na řádku 6 je zašedlá a označuje neaktivní oblast, protože __ANDROID__ není definovaná pro projekt iOS.

  • Proměnná pozdravu na řádku 11 se inicializuje pomocí identifikátoru HELLO, který teď má červenou vlnovku. Důvodem je to, že v aktuálně aktivním projektu iOS není definován žádný identifikátor HELLO .

  • Řádek 12 má u identifikátoru BYE fialovou vlnovku, protože tento identifikátor není definován v neaktivním projektu Android.NativeActivity (aktuálně). I když se tento řádek zkompiluje, když je iOS aktivním projektem, nebude se kompilovat, když je android aktivním projektem. Vzhledem k tomu, že se jedná o sdílený kód, měli byste kód opravit, i když se zkompiluje v aktuálně aktivní konfiguraci.

Pokud změníte aktivní projekt na Android, změní se vlnovkování:

  • #else Větev na řádku 8 je zašedlá a označuje neaktivní oblast, protože __ANDROID__ je definovaná pro projekt Androidu.

  • Proměnná pozdravu na řádku 11 je inicializována identifikátorem HELLO, který má fialovou vlnovku. Důvodem je to, že v aktuálně neaktivním projektu iOS není definován žádný identifikátor HELLO .

  • Řádek 12 má u identifikátoru BYE červenou vlnovku, protože tento identifikátor není definován v aktivním projektu.

IntelliSense pro samostatné soubory

Když otevřete jeden soubor mimo jakýkoli projekt, stále získáte IntelliSense. Určité funkce IntelliSense můžete povolit nebo zakázat v dialogovém okně Možnosti v části Textový editor>C/C++>Advanced. Pokud chcete nakonfigurovat IntelliSense pro jednotlivé soubory, které nejsou součástí projektu, vyhledejte IntelliSense a projděte si oddíl souborů , které nejsou projektem.

Visual C++ single file intellisense

Funkce IntelliSense s jedním souborem ve výchozím nastavení používá k vyhledání souborů hlaviček pouze standardní adresáře zahrnutí. Pokud chcete přidat další adresáře, otevřete místní nabídku na uzlu Řešení a přidejte svůj adresář do seznamu Ladicí zdrojový kód , jak ukazuje následující obrázek:

Adding a path to a header file.

Povolení nebo zakázání funkcí

Vzhledem k tomu, že různí lidé mají různé nápady na to, co je vhodné, je možné v dialogovém okně Možnosti povolit nebo zakázat prakticky všechny funkce IntelliSense v části Textový editor>C/C++>Advanced. Dialogové okno Možnosti je k dispozici v nabídce Nástroje na řádku nabídek.

Tool Options dialog box