IntelliSense v sadě Visual Studio

IntelliSense je nástroj pro dokončování kódu, který zahrnuje několik funkcí: Vypsat členy, Informace o parametrech , Rychlé informace a Dokončit slovo. Tyto funkce umožňují získat další informace o kódu, který používáte, držet si přehled o parametrech, které píšete, a přidávat volání vlastností a metod pouhým stisknutím několika kláves.

Mnoho aspektů nástroje IntelliSense je specifických pro jazyk. Další informace o nástroji IntelliSense pro různé jazyky najdete v tématech uvedených v sekci Související obsah.

Vypsat členy

Po zadání znaku triggeru (například tečky [.] ve spravovaném kódu nebo :: v jazyce C++) se zobrazí seznam platných členů určitého typu (nebo oboru názvů). Pokud pokračujete v psaní znaků, seznam je vyfiltrován, aby obsahoval pouze členy, kteří začínají těmito znaky nebo kde začátek libovolného slova v názvu začíná těmito znaky. IntelliSense také porovnává slova ve formátu „CamelCase“, takže stačí zadat první písmeno každého takového slova v názvu člena, aby se zobrazily shody.

Po výběru položky ji můžete vložit do kódu klávesou Tab nebo mezerníkem. Pokud vyberte položku a zadáte období, položka se zobrazí s uvedenou dobou, která vyvolá jiný seznam členů. Pokud vyberete položku ještě před jejím vložením, zobrazí se pro ni rychlé informace.

V seznamu členů ikona vlevo představuje typ členu, například obor názvů, třídu, funkci nebo proměnnou. Seznam může být poměrně dlouhý, takže se v něm můžete posouvat klávesami PgUp a PgDn.

Funkce Vypsat členy v sadě Visual Studio

Snímek obrazovky s funkcí Vypsat členy nástroje IntelliSense.

Funkci Vypsat členy můžete vyvolat ručně stisknutím kláves Ctrl+J, výběrem možností Upravit>IntelliSense>Vypsat členy nebo výběrem tlačítka Vypsat členy na panelu nástrojů editoru. Při vyvolání na prázdném řádku nebo mimo podporovaný rozsah zobrazí seznam symboly v globálním oboru názvů.

Chcete-li ve výchozím nastavení vypnout funkci Vypsat členy (aby se nezobrazovala, pokud není výslovně vyvolána), přejděte na Nástroje>Možnosti>Textový editor>Všechny jazyky a zrušte možnost Automaticky vypsat členy. Pokud chcete vypnout funkci Vypsat členy pouze pro určitý jazyk, přejděte do Obecných nastavení pro daný jazyk.

Můžete také změnit nastavení na režim návrhu, ve kterém je do kódu vložen pouze text, který zadáte. Pokud například zadáte identifikátor, který není uveden v seznamu, a stisknete klávesu Tab, v režimu dokončení položka nahradí zadaný identifikátor. Pokud chcete přepnout mezi režimem dokončování a režimem návrhů, stiskněte klávesy Ctrl+Alt+mezerník nebo zvolte možnosti Upravit>IntelliSense>Přepnout režim dokončování.

Můžete také změnit nastavení na režim návrhu, ve kterém je do kódu vložen pouze text, který zadáte. Pokud například zadáte identifikátor, který není uveden v seznamu, a stisknete klávesu Tab, v režimu dokončení položka nahradí zadaný identifikátor. Pokud chcete přepnout mezi režimem dokončování a režimem návrhů, stiskněte klávesy Ctrl+Alt+mezerník nebo zvolte možnosti Upravit>IntelliSense>Přepnout mezi automatickým dokončováním a dokončováním pouze tabulátorem nástroje IntelliSense.

Informace o parametrech

Informace o parametru poskytují informace o počtu, názvech a typech parametrů vyžadovaných metodou, atributem parametru obecného typu (v jazyce C#) nebo šablonou (v jazyce C++).

Parametr tučně označuje další parametr, který je vyžadován při zadávání funkce. U přetížených funkcí můžete použít klávesy se šipkami nahoru a dolů a zobrazit tak alternativní informace o parametru přetížení funkce.

Informace o parametrech

Snímek obrazovky s funkcí Informace o parametrech nástroje IntelliSense

Když opatřujete poznámkami funkce a parametry s komentáři XML dokumentace, komentáře se zobrazí jako informace o parametru. Další informace naleznete v tématu Zadávání komentářů ke kódu XML.

Informace o parametrech můžete vyvolat ručně výběrem možností Upravit>IntelliSense>Informace o parametrech, stisknutím kláves Ctrl+Shift+mezerník nebo výběrem tlačítka Informace o parametrech na panelu nástrojů editoru.

Rychlé informace

Rychlé informace zobrazí úplnou deklaraci pro libovolný identifikátor ve vašem kódu.

Rychlé informace v sadě Visual Studio

Snímek obrazovky s funkcí Rychlé informace nástroje IntelliSense

Když z okna Vypsat členy vyberete člena, zobrazí se také funkce Rychlé informace.

Informace o parametrech v souboru kódu C#

Snímek obrazovky s funkcemi Rychlé informace a Informace o parametrech nástroje IntelliSense

Rychlé informace můžete vyvolat ručně výběrem možností Upravit>IntelliSense>Rychlé informace, stisknutím kláves Ctrl+K, Ctrl+I nebo výběrem tlačítka Rychlé informace na panelu nástrojů editoru.

Pokud je funkce přetížena, nástroj IntelliSense nemusí zobrazit informace pro všechny formy přetížení.

Rychlé informace můžete vypnout pro kód jazyka C++, když přejdete na Nástroje>Možnosti>Textový editor>C/C++>Rozšířené a parametr Automatické rychlé informace nastavíte na false.

Dokončit slovo

Po zadání dostatečného počtu znaků, aby bylo možné eliminovat dvojznačnost termínu, je zbytek proměnné, příkazu nebo názvu funkce dokončen funkcí Dokončit slovo. Funkci Dokončit slovo můžete vyvolat výběrem možností Upravit>IntelliSense>Dokončit slovo nebo stisknutím kláves Ctrl+mezerník nebo výběrem tlačítka Dokončit slovo na panelu nástrojů editoru.

Možnosti nástroje IntelliSense

Možnosti nástroje IntelliSense jsou standardně povoleny. Pokud je chcete vypnout, přejděte na Nástroje>Možnosti>Textový editor>Všechny jazyky a zrušte výběr možnosti Informace o parametrech nebo Automaticky vypsat členy, pokud si nepřejete funkci Vypsat členy.

Tip

Pokud chcete změnit vzhled prvků uživatelského rozhraní v sadě Visual Studio, přejděte na Nástroje>Možnosti>Prostředí>Písma a barvy. Další informace o těchto nastaveních a jak s nimi pracovat naleznete v tématu Písma a barvy, prostředí, dialogové okno Možnosti.

Ikony IntelliSense

Ikony nástroje IntelliSense mohou vyjádřit další význam prostřednictvím modifikátorů. Jedná se o hvězdu, srdce a zámek překrývající ikonu objektu a označují chráněný, interní nebo soukromý přístup.

Ikona Usnadnění Popis
Modifikátor ikony pro veřejný přístup Veřejná třída Přístup není omezený.
Modifikátor ikony pro chráněný přístup Chráněná třída Přístup je omezen na obsahující třídu nebo typy odvozené od obsahující třídy.
Modifikátor ikony pro chráněný interní přístup Chráněná interní třída Přístup je omezen na aktuální sestavení nebo typy odvozené od obsahující třídy.
Modifikátor ikony pro interní přístup Interní třída Přístup je omezen na aktuální sestavení.
Modifikátor ikony pro soukromý přístup Soukromá třída Přístup je omezen na obsahující třídu nebo typy odvozené od obsahující třídy v rámci aktuálního sestavení. (Dostupné od verze C# 7.2.)

Řešení potíží s nástrojem IntelliSense

Možnosti nástroje IntelliSense nemusí v určitých případech fungovat podle očekávání.

Kurzor je pod chybou kódu. Může se stát, že IntelliSense nelze použít, pokud se v kódu nad kurzorem nachází neúplná funkce nebo jiná chyba, protože nástroj IntelliSense nemusí být schopen analyzovat prvky kódu. Tento problém lze vyřešit okomentováním odpovídajícího kódu.

Kurzor je v komentáři kódu. IntelliSense nemůžete použít, pokud je kurzor v komentáři ve zdrojovém souboru.

Kurzor je v řetězcovém literálu. IntelliSense nemůžete použít, pokud je kurzor v uvozovkách kolem řetězcového literálu, jako v následujícím příkladu:

MessageBox( hWnd, "String literal|")

Automatické možnosti jsou vypnuty. Nástroj IntelliSense ve výchozím nastavení funguje automaticky, ale můžete jej zakázat. Použít funkci IntelliSense můžete i v případě, že je zakázáno automatické dokončování.