Megosztás a következőn keresztül:


C# IntelliSense

A C# IntelliSense egy nyelvspecifikus kódkiegészítési támogatás. Ez akkor érhető el, ha C#-kódot ír a kódszerkesztőben, és hibakeresést hajt végre az Azonnali módban parancsablakban.

Befejezési listák

A C#-ban található IntelliSense befejezési listák a Listatagok, a Teljes Szó lehetőség és további elemek tokenjeit tartalmazzák. Gyors hozzáférést biztosít a következőhöz:

  • Típus vagy névtér tagjai

  • Változók, parancsok és függvénynevek

  • Kódrészletek

  • Nyelvi kulcsszavak

  • Bővítménymetelyek

A C#-ban a befejezési listák kiszűrik az irreleváns kifejezéseket, és a környezet alapján előre kijelölik a kifejezéseket. További információkért lásd Szűrt befejezési listák.

Kódrészletek a befejezési listákban

A C#-ban a kiegészítési lista kódrészleteket tartalmaz, amelyek segítségével könnyen beilleszthet előre definiált kódtörzseket a programba. A kiegészítési listában a kódrészletek parancsikon szövegként jelennek meg. A C#-ban alapértelmezés szerint elérhető kódrészletekről további információt a C#-kódrészletek című témakörben talál.

Nyelvi kulcsszavak a befejezési listákban

A befejezési lista C# nyelvű kulcsszavakat tartalmaz, amelyek segítenek beszúrni őket a programba. A C# nyelvi kulcsszavakról további információt a C# kulcsszavak című témakörben talál.

Bővítménymetódusok a befejezési listákban

C#-ban a befejezési lista a hatókörben lévő kibővítő metódusokat tartalmazza.

A bővítménymetelyek a példány metódusaitól eltérő ikont használnak. Ha egy azonos nevű példánymetódus és bővítménymetódus is hatókörben van, a befejezési lista megjeleníti a bővítménymetódus ikont.

Megjegyzés:

Objektumok esetében String a befejezési lista nem jeleníti meg az összes bővítménymetódust.

Szűrt befejezési listák

Az IntelliSense szűrők használatával eltávolítja a szükségtelen tagokat a befejezési listából. A C# szűri az alábbi elemekhez megjelenő befejezési listákat:

  • Interfészek és alaposztályok: Az IntelliSense automatikusan eltávolítja a szükségtelen elemeket az interfész- és alaposztálykiegészítési listákból. Ez az eltávolítás magában foglalja az osztálydeklarációs alapokat, valamint a felületlistákat és a kényszerlistákat. Az enumerációk például nem jelennek meg az alaposztályok kiegészítési listájában, mert az enumerációk nem használhatók alaposztályokhoz. Az alaposztályok befejező listája csak interfészeket és névtereket tartalmaz. Ha kijelöl egy elemet a listában, majd beír egy vesszőkulcsot, az IntelliSense eltávolítja az alaposztályokat a befejezési listából. Ez azért van így, mert a C# nem támogatja a több öröklést. Ugyanez a viselkedés a kényszerfeltételek esetében is előfordul.

  • Attribútumok: Ha attribútumot alkalmaz egy típusra, a rendszer szűri a befejezési listát, hogy a lista csak azokat a típusokat tartalmazza, amelyek az adott típusokat tartalmazó névterekből származnak. Például: Attribute.

  • Fogási záradékok: Csak érvényes try-catch kulcsszavak jelennek meg a befejezési listában.

  • Objektum-inicializálók: Csak az inicializálható tagok jelennek meg a befejezési listában.

  • új kulcsszó: Amikor beírja new , majd lenyomja a Szóköz billentyűt, megjelenik egy befejezési lista. Az IntelliSense automatikusan kiválaszt egy elemet a listában a kód kontextusa alapján. Az IntelliSense például automatikusan kiválasztja a befejezési listában szereplő elemeket a deklarációkhoz és a metódusokban szereplő visszatérési utasításokhoz.

  • enum kulcsszó: Ha az Szóköz billentyűt megnyomja egy enum értékadás egyenlőségjele után, megjelenik egy kiegészítési lista. Az IntelliSense automatikusan kiválaszt egy elemet a listában a kód kontextusa alapján. Az IntelliSense például automatikusan kijelöli a kiegészítési listában szereplő elemeket a kulcsszó beírása és a return deklaráció végrehajtása után.

  • 'as' és 'is' operátorok: Az IntelliSense automatikusan megjeleníti a szűrt befejezési listát, amikor a Szóköz billentyűt lenyomja, miután beírta a as vagy is kulcsszót.

  • Események: A kulcsszó eventbeírásakor a befejezési lista csak delegált típusokat tartalmaz.

  • Paraméter súgója: Az IntelliSense automatikusan az első metódus túlterhelést választja, amely megfelel a paramétereknek, ahogy beírja őket. Ha több metódustúlterheltség is elérhető, a felfelé és lefelé mutató nyilakkal navigálhat a következő lehetséges túlterhelésre a listában.

Legutóbb használt tagok

Az IntelliSense megjegyzi azokat a tagokat, amelyeket a közelmúltban kiválasztott az előugró Listatagok mezőben az automatikus objektumnév-kiegészítéshez. Amikor legközelebb használja a taglistát, a legutóbb használt tagok jelennek meg a tetején. Az IntelliSense törli a legutóbb használt tagok előzményeit az egyes Visual Studio-munkamenetek között.

felülbírál

Amikor felülbírálást ír be, majd lenyomja a Szóköz billentyűt, az IntelliSense megjeleníti az összes érvényes alaposztálytagot, amelyet felülbírálhat egy előugró listában. Írja be a metódus visszatérési típusát a override után, ekkor az IntelliSense csak azokat a metódusokat fogja megjeleníteni, amelyek azonos típusú visszatérési értékkel rendelkeznek. Ha az IntelliSense nem talál egyezést, az összes alaposztálytagot megjeleníti.

AI-továbbfejlesztett IntelliSense

A Visual Studio IntelliCode mesterséges intelligenciával bővített IntelliSense befejezési listákat biztosít. Az IntelliCode a tagok betűrendes listájának bemutatása helyett a leginkább megfelelő API-t jelzi előre. Az aktuális kódkörnyezetet és mintákat használja a dinamikus lista biztosítására.

Automatikus kódlétrehozás

Hozzáadás a következővel:

Az Add using IntelliSense művelet automatikusan hozzáadja a szükséges using irányelveket a kódfájlhoz. Ez a funkció lehetővé teszi, hogy arra a kódra összpontosíts, amelyet éppen írsz, ahelyett, hogy a figyelmedet egy másik kódrészre kellene irányítanod.

A Hozzáadás művelet elindításához helyezze a kurzort egy olyan típushivatkozásra, amely nem oldható fel. Ha például létrehoz egy konzolalkalmazást, majd hozzáadja XmlReader a Main metódus törzséhez, egy piros hullámos vonal jelenik meg a kódsoron, mert a típushivatkozás nem oldható fel. Ezután a Gyorsműveletek menüben meghívhatja a Hozzáadás műveletet. A névtér< használata > menüelem csak akkor látható, ha a kurzor a megoldatlan hivatkozáson van elhelyezve.

Ebben a példában, ha automatikusan hozzá szeretné adni az irányelvet a using kódhoz, válassza a hibaüzenet villanykörte ikonját, majd válassza a System.Xml; lehetőséget.

Képernyőkép az Add using művelet előnézeti képpel való megjelenítéséről.

Hiányzó using utasítások hozzáadása beillesztéskor

Az IntelliSense automatikusan hozzáadhat hiányzó using irányelveket a kódhoz, amikor beilleszt egy típust a kódfájlba. Ez a funkció időt takarít meg azzal, hogy automatizálja a hiányzó using direktívák hozzáadását, amikor egy típust illeszt be egy fájlba.

A funkció engedélyezése:

  1. Válassza az Eszközök>Beállítások lehetőséget.
  2. A bal oldali panelen válassza a C# (vagy >) Speciális>.
  3. Az Irányelvek használata csoportban válassza a Hiányzó hozzáadása parancsot a beillesztési irányelvek használatával.

Eszközök eltávolítása és rendezése

Az Eltávolítás és rendezés funkció eltávolítja a using és extern deklarációkat, majd rendezi őket, a forráskód viselkedésének módosítása nélkül. Idővel előfordulhat, hogy a forrásfájlok túl nagyok és nehezen olvashatók a szükségtelen és rendezetlen using irányelvek miatt. Az Eltávolítás és rendezés használata lehetőség tömöríti a forráskódot a nem használt using irányelvek eltávolításával, és rendezéssel javítja az olvashatóságot.

Ha ezt a lehetőséget szeretné használni , válassza az>IntelliSense>Használatok rendezése szerkesztése lehetőséget a menüsávon, vagy kattintson a jobb gombbal a kódszerkesztőben, és válassza az Használatok eltávolítása és rendezése lehetőséget.

Felület implementálása

Az IntelliSense lehetővé teszi a felület implementálását a kódszerkesztőben való munka során. Az illesztő megfelelő implementálásához általában létre kell hoznia egy metódusdeklarációt az osztály felületének minden tagjához. Miután beírta egy felület nevét egy osztálydeklarációba, az IntelliSense megjelenít egy Gyorsműveletek villanykörtét. A villanykörte lehetővé teszi a felület automatikus implementálását explicit vagy implicit elnevezéssel. Explicit elnevezés esetén a metódusdeklarációk a felület nevét hordozzák. Implicit elnevezés esetén a metódusdeklarációk nem jelzik azt a felületet, amelyhez tartoznak. A explicit névvel ellátott felületi metódusok csak felületpéldányon keresztül érhetők el, osztálypéldányon keresztül nem. További információ: Explicit felület implementálása.

A implementálási felület létrehozza az interfész teljesítéséhez szükséges minimális számú metóduscsomót. Ha egy alaposztály implementálja az interfész egyes részeit, akkor a rendszer nem regenerálja ezeket a csonkokat.

Absztrakt alaposztály implementálása

Az IntelliSense lehetővé teszi az absztrakt alaposztály tagjainak automatikus implementálását a kódszerkesztőben való munka során. Az absztrakt alaposztály tagjainak implementálásához általában létre kell hoznia egy új metódusdefiníciót az absztrakt alaposztály minden metódusához a származtatott osztályban. Miután beírta egy absztrakt alaposztály nevét egy osztálydeklarációba, az IntelliSense megjelenít egy Gyorsműveletek villanykörtét. A villanykörte lehetővé teszi az alaposztály módszereinek automatikus implementálását.

Az Absztrakt alaposztály implementálása szolgáltatás által létrehozott metóduscsomópontok modellezését a MethodStub.snippet fájlban meghatározott kódrészlet végzi. A kódrészletek módosíthatók. További információ : Útmutató: Kódrészlet létrehozása a Visual Studióban.

Generálás használatból

A Használatból generálás funkcióval a definiálás előtt osztályokat és tagokat használhat. Létrehozhat egy csonkot bármely olyan osztályhoz, konstruktorhoz, metódushoz, tulajdonsághoz, mezőhöz vagy számhoz, amelyet használni szeretne, de nincs definiálva. Új típusokat és tagokat anélkül hozhat létre, hogy az aktuális helyet kódban kellene hagynia. Ezzel minimálisra csökkenti a munkafolyamat megszakítását.

A nem definiált azonosítók alatt piros hullámos vonal jelenik meg. Amikor az egérmutatót az azonosítóra viszi, hibaüzenet jelenik meg egy elemleírásban. A megfelelő beállítások megjelenítéséhez használja az alábbi eljárások egyikét:

  • Válassza ki a nem definiált azonosítót. Az azonosító alatt megjelenik egy Gyorsműveletek hibajelző villanykörte. Válassza ki a hibajelző villanykörtét.

  • Válassza ki a nem definiált azonosítót, majd nyomja le a CtrlPeriod (+) billentyűkombinációt.

  • Kattintson a jobb gombbal a nem definiált azonosítóra, majd válassza a Gyorsműveletek és újrabontások lehetőséget.

A következő lehetőségek jelennek meg:

  • Tulajdonság létrehozása

  • Mező létrehozása

  • Metódus létrehozása

  • Osztály létrehozása

  • Új típus létrehozása (osztályhoz, szerkezethez, felülethez vagy számhoz)

Eseménykezelők létrehozása

A kódszerkesztőben az IntelliSense segítségével metódusokat (eseménykezelőket) csatlakoztathat az eseménymezőkhöz.

Amikor egy += fájl eseménymezője után írja be az operátort, az IntelliSense a Tab billentyű lenyomására kéri. Ezzel beszúr egy új meghatalmazotti példányt, amely az eseményt kezelő metódusra mutat.

Képernyőkép, amely egy eseménykezelő metódus csatlakoztatására vonatkozó felkérést mutat.

Ha lenyomja a Tab billentyűt, az IntelliSense automatikusan befejezi az utasítást, és az eseménykezelő hivatkozását kijelölt szövegként jeleníti meg a kódszerkesztőben. Az automatikus eseménycsatlakozás befejezéséhez az IntelliSense felszólítja, hogy nyomja le ismét a Tab billentyűt, és hozzon létre egy üres csonkot az eseménykezelő számára.

Képernyőkép egy létrehozott eseménykezelő metódusról.

Ha ismét lenyomja a Tab billentyűt, az IntelliSense hozzáad egy metóduscsomót a megfelelő aláírással, és a kurzort az eseménykezelő törzsébe helyezi.

Ha az IntelliSense által létrehozott új meghatalmazott egy meglévő eseménykezelőre hivatkozik, az IntelliSense ezt az információt az elemleírásban közli. Ezután módosíthatja ezt a hivatkozást; a szöveg már ki van jelölve a kódszerkesztőben. Ellenkező esetben az automatikus eseménycsatlakozás befejeződött.

Megjegyzés:

A Nézet menü (Ctrl+) - parancsával térjen vissza az esemény-összekötési utasításhoz.