C# IntelliSense

Technologie IntelliSense jazyka C# je k dispozici při kódování v editoru a při ladění v příkazovém okně okamžitého režimu.

Seznamy dokončení

Seznamy pro doplňování IntelliSense v jazyce C# obsahují tokeny ze seznamu členů, kompletního slova a dalších možností. Poskytuje rychlý přístup k:

  • Členy typu nebo oboru názvů

  • Názvy proměnných, příkazů a funkcí

  • Fragmenty kódu

  • Klíčová slova jazyka

  • Metody rozšíření

Seznam dokončování v jazyce C# je také dostatečně inteligentní, aby odfiltrování irelevantních tokenů a předběžného výběru tokenu na základě kontextu. Další informace najdete v tématu Filtrované seznamy dokončení.

Fragmenty kódu v seznamech dokončení

V jazyce C# obsahuje seznam pro doplňování fragmenty kódu, které vám pomůžou snadno vložit do programu předdefinovaná těla kódu. Fragmenty kódu se zobrazí v seznamu pro doplňování jako text zástupce fragmentukódu . Další informace o fragmentech kódu, které jsou ve výchozím nastavení k dispozici v jazyce C#, najdete v tématu Fragmenty kódu jazyka C#.

Klíčová slova jazyka v seznamech pro doplňování

V jazyce C# obsahuje seznam dokončení také klíčová slova jazyka. Další informace o klíčových slovech jazyka C# najdete v tématu Klíčová slova jazyka C#.

Metody rozšíření v seznamech dokončení

V jazyce C# seznam dokončení obsahuje rozšiřující metody, které jsou v oboru.

Poznámka

Seznam dokončení nezobrazí všechny rozšiřující metody pro String objekty.

Metody rozšíření používají jinou ikonu než metody instance. Referenční příručka k ikonám seznamu najdete v tématu Zobrazení tříd a ikony Prohlížeče objektů. Pokud je v oboru jak metoda instance, tak metoda rozšíření se stejným názvem, v seznamu dokončení se zobrazí ikona metody rozšíření.

Filtrované seznamy dokončení

IntelliSense odebere nepotřebné členy ze seznamu pro doplňování pomocí filtrů. Jazyk C# filtruje seznamy dokončení, které se zobrazí pro tyto položky:

  • Rozhraní a základní třídy: Technologie IntelliSense automaticky odebere položky ze seznamů pro doplňování rozhraní a základních tříd v seznamech základů a rozhraní deklarací tříd a seznamů omezení. Například výčty nejsou uvedeny v seznamu dokončování pro základní třídy, protože výčty nelze použít pro základní třídy. Seznam dokončení základních tříd obsahuje pouze rozhraní a obory názvů. Pokud vyberete položku v seznamu a pak napíšete čárku, IntelliSense odebere základní třídy ze seznamu pro doplňování, protože jazyk C# nepodporuje vícenásobnou dědičnost. Stejné chování se vyskytuje i u klauzulí omezení.

  • Atributy: Když použijete atribut na typ, seznam dokončení se vyfiltruje tak, aby seznam obsahoval pouze ty typy, které pocházejí z oborů názvů, které obsahují tyto typy, například Attribute .

  • Catch – klauzule

  • Inicializátory objektů: V seznamu dokončení se zobrazí pouze členy, které je možné inicializovat.

  • new – klíčové slovo : Když napíšete new a pak stisknete mezerník, zobrazí se seznam dokončení. Položka se automaticky vybere v seznamu na základě kontextu v kódu. Například položky jsou automaticky vybrány v seznamu dokončení pro deklarace a pro návratové příkazy v metodách.

  • Klíčové slovo enum: Když stisknete mezerník za znaménkem rovná se pro přiřazení výčtu, zobrazí se seznam dokončení. Položka se automaticky vybere v seznamu na základě kontextu v kódu. Například položky jsou automaticky vybrány v seznamu dokončení po zadání klíčového slova return a při deklaraci.

  • as a is – operátory: Filtrovaný seznam dokončení se zobrazí automaticky, když stisknete mezerník po zadání klíčového as slova is or.

  • Události: Když napíšete klíčové slovo event , seznam dokončení obsahuje pouze typy delegátů.

  • Pomoc s parametrem se automaticky seřadí na první přetížení metody, které odpovídá parametrům při jejich zadávání. Pokud je k dispozici více přetížení metody, můžete pomocí šipek nahoru a dolů přejít k dalšímu možnému přetížení v seznamu.

Naposledy použité členy

IntelliSense si pamatuje členy, které jste nedávno vybrali v automaticky otevírané okně Seznam členů pro automatické dokončování názvů objektů. Při příštím použití seznamu členů se v horní části zobrazí naposledy použité členy. Historie naposledy použitých členů se mezi jednotlivými relacemi Visual Studio vymazat.

override

Když napíšete override a potom stisknete Mezerník, IntelliSense zobrazí všechny platné členy základní třídy, které můžete přepsat v automaticky otevíraného seznamu. Po zobrazení výzvy IntelliSense k zobrazení pouze metod, které override vracejí stejný typ, zadejte návratový typ metody. Když IntelliSense nenajde žádné shody, zobrazí všechny členy základní třídy.

Technologie IntelliSense s vylepšenou AI

Visual Studio IntelliCode poskytuje seznamy pro doplňování IntelliSense s vylepšenou umělou inteligencí. IntelliCode předpovídá nejpravděpodobněji správné rozhraní API, které se má použít, místo toho, aby prezentuje abecední seznam členů. K poskytnutí dynamického seznamu používá váš aktuální kontext kódu a vzory.

Automatické generování kódu

Přidat direktivu using

Operace Přidat pomocí IntelliSense automaticky přidá požadovanou using direktivu do souboru kódu. Tato funkce vám umožňuje soustředit se na kód, který píšete, a vyžadovat, abyste se zaměřit na jinou část kódu.

Pokud chcete iniciovat operaci Add using, umístěte kurzor na odkaz na typ, který nelze přeložit. Když například vytvoříte konzolovou aplikaci a pak přidáte do těla metody, na tomto řádku kódu se zobrazí červenáquiggle, protože odkaz na typ nelze XmlReader Main přeložit. Pak můžete vyvolat přidat pomocí prostřednictvím rychlé akce. Rychlé akce jsou viditelné pouze v případě, že je kurzor umístěný na typu bez vázané komunikace.

Přidání rozšířeného obrázku s použitím rychlé akce

Klikněte na ikonu žárovky s chybou a potom pomocí System.Xml; přidejte direktivu using automaticky.

Přidání chybějících direktiv using při vložení

Technologie IntelliSense může automaticky přidat chybějící direktivy do kódu při vložení using typu do souboru kódu. Tato funkce šetří čas tím, že automatizuje úlohu přidání chybějících direktiv using při vkládání typu do souboru. Tuto funkci povolte v nabídce Nástroje > Možnosti Textový > editor > C# nebo Základní upřesňující a vyberte Přidat > chybějící direktivy using při vložení.

Odebrání a řazení s využitím

Možnost Remove a Sort Usings seřadí a odebere deklarace a beze změny chování using extern zdrojového kódu. V průběhu času se zdrojové soubory mohou z důvodu zbytečných a neorganizovaných direktiv stát nadutým a obtížně using čitelným. Možnost Remove and Sort Usings komprimuje zdrojový kód odebráním nepoužívaných direktiv a zlepšuje čitelnost jejich using řazením. V nabídce Upravit zvolte IntelliSense a pak zvolte Uspořádat použití.

Implementace rozhraní

Technologie IntelliSense nabízí možnost, která vám pomůže implementovat rozhraní při práci v editoru kódu. Pokud chcete rozhraní implementovat správně, musíte za normálních okolností vytvořit deklaraci metody pro každého člena rozhraní ve vaší třídě. Pomocí technologie IntelliSense se po zadání názvu rozhraní v deklaraci třídy zobrazí žárovka Rychlé akce. Žárovka nabízí možnost implementovat rozhraní automaticky pomocí explicitního nebo implicitního pojmenování. Při explicitním pojmenování mají deklarace metody název rozhraní. V rámci implicitního pojmenování deklarace metody neznačí rozhraní, do kterého patří. Explicitně pojmenovaná metoda rozhraní je přístupná pouze prostřednictvím instance rozhraní, a ne prostřednictvím instance třídy. Další informace najdete v tématu Explicitní implementace rozhraní.

Implement Interface generuje minimální počet zástupných procedur metody, které jsou nutné k uspokojení rozhraní. Pokud základní třída implementuje části rozhraní, nejsou tyto zástupné procedury znovu vygenerovány.

Implementace abstraktní základní třídy

Technologie IntelliSense poskytuje možnost, která vám pomůže implementovat členy abstraktní základní třídy automaticky při práci v editoru kódu. Za normálních okolností vyžaduje implementace členů abstraktní základní třídy vytvoření nové definice metody pro každou metodu abstraktní základní třídy v odvozené třídě. Pomocí technologie IntelliSense se po zadání názvu abstraktní základní třídy v deklaraci třídy zobrazí žárovka Rychlé akce. Žárovka vám dává možnost implementovat metody základní třídy automaticky.

Zástupné procedury metody, které jsou generovány funkcí Implementace abstraktní základní třídy, jsou modelovány fragmentem kódu definovaným v souboru MethodStub.snippet. Fragmenty kódu jsou upravitelné. Další informace najdete v tématu Návod: Vytvoření fragmentu kódu.

Generování z využití

Funkce Vygenerovat z použití umožňuje používat třídy a členy před jejich definováním. Můžete vygenerovat zástupnou proceduru pro libovolnou třídu, konstruktor, metodu, vlastnost, pole nebo výčet, které chcete použít, ale ještě nebyly definovány. Můžete generovat nové typy a členy, aniž byste opustili aktuální umístění v kódu. Tím se minimalizuje přerušení pracovního postupu.

Pod každým nedefinovaným identifikátorem se zobrazí červené vlnovové podtržení. Když umístíte ukazatel myši na identifikátor, zobrazí se v popisu chybová zpráva. Chcete-li zobrazit vhodné možnosti, můžete použít jeden z následujících postupů:

  • Klikněte na nedefinovaný identifikátor. Pod identifikátorem se objeví chybová žárovka chyby rychlých akcí . Klikněte na žárovku chyby.

  • Klikněte na nedefinovaný identifikátor a potom stiskněte klávesu CTRL + . (CTRL + tečka).

  • Klikněte pravým tlačítkem myši na nedefinovaný identifikátor a pak klikněte na rychlé akce a refaktoring.

Mezi možnosti, které se zobrazí, patří následující:

  • Generovat vlastnost

  • Generovat pole

  • Generování metody

  • Generovat třídu

  • Generovat nový typ (pro třídu, strukturu, rozhraní nebo výčet)

Generovat obslužné rutiny událostí

V editoru kódu vám IntelliSense může přispět k zapojení metod (obslužných rutin událostí) do polí událostí.

Když zadáte += operátor po poli události v souboru . cs , IntelliSense vás vyzve k stisknutí klávesy tabulátoru . Tím se vloží nová instance delegáta, která odkazuje na metodu, která událost zpracovává.

Automatické zavěšení tlačítka

Pokud stisknete klávesu TAB, technologie IntelliSense automaticky dokončí příkaz a v editoru kódu zobrazí odkaz na obslužnou rutinu události jako vybraný text. K dokončení automatické služby Event propojení vás IntelliSense vyzve k opětovnému stisknutí klávesy TAB a k vytvoření prázdné zástupné procedury pro obslužnou rutinu události.

Generovat obslužnou rutinu události

Poznámka

Pokud nový delegát, který je vytvořen technologií IntelliSense, odkazuje na existující obslužnou rutinu události, technologie IntelliSense tyto informace komunikuje v popisu tlačítka. Pak můžete tento odkaz upravit; text je již vybrán v editoru kódu. V opačném případě je v tuto chvíli dokončená Automatická Event propojení.

Pokud stisknete klávesu TAB, technologie IntelliSense odblokuje metodu se správným podpisem a umístí kurzor do těla vaší obslužné rutiny události.

Poznámka

Pomocí příkazu Navigovat zpět v nabídce zobrazení (CTRL + - ) se vraťte do příkazu Event propojení.

Viz také