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.
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.
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.
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.
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.>
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.
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.
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:
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átorHELLO
.Řá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átorHELLO
.Řá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.
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:
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.