Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Studio számos eszközt kínál a kód írásához, szerkesztéséhez és újrabontásához.
IntelliSense
Az IntelliSense egy hatékony kódkiegészítési eszköz, amely szimbólumokat és kódrészleteket javasol beíráskor. A C++ IntelliSense a Visual Studióban valós időben fut, a kódbázist a frissítés során elemzi, és javaslatokat tesz. Ha több karaktert ír be, az ajánlott találatok listája le lesz szűkítve.
Egyes szimbólumok automatikusan ki vannak hagyva az eredmények szűkítéséhez. Ha például egy osztályobjektum tagjait az osztályon kívülről éri el, alapértelmezés szerint nem láthatja a privát tagokat vagy a védett tagokat (ha nem gyermekosztály kontextusában van). A szűrést az alsó gombokkal módosíthatja.
Miután kiválasztotta a szimbólumot a legördülő listából, automatikusan kitöltheti a Tab, Enter vagy a többi véglegesítési karakter egyikével (alapértelmezés szerint: { } [ ] ( ) . , : ; + - * / % & | ^ ! = ? @ # \). Ha karaktereket szeretne hozzáadni vagy eltávolítani a listából, keressen rá az "IntelliSense" kifejezésre a Gyorsindítóban (Ctrl + Q), és válassza a Szövegszerkesztő > C/C++ > Speciális lehetőséget. A Taglista véglegesítési karakter beállításával testre szabhatja a listát a kívánt módosításokkal.
A Taglista szűrő mód beállítás szabályozza, hogy milyen típusú IntelliSense automatikus kiegészítési javaslatokat lát. Alapértelmezés szerint Fuzzy értékre van állítva. Egy homályos keresésben, ha van egy MyAwesomeClass nevű szimbóluma, beírhatja a "MAC" szót, és megtalálhatja az osztályt az automatikus kiegészítési javaslatokban. A homályos algoritmus beállít egy minimális küszöbértéket, amelyet a szimbólumoknak teljesíteniük kell ahhoz, hogy megjelenjenek a listában. Az intelligens szűrés megjeleníti az összes olyan szimbólumot, amely a beírt értéknek megfelelő részszűrést tartalmaz. Az előtagszűrés olyan sztringeket keres, amelyek a beírt szöveggel kezdődnek.
További információ a C++ IntelliSense szolgáltatásról: Visual Studio C++ IntelliSense és C++ projekt konfigurálása az IntelliSense-hez.
IntelliCode
Az IntelliCode az AI által támogatott IntelliSense. Ezzel a legvalószínűbb jelölt kerül a befejezési lista tetejére. Az IntelliCode-javaslatok több ezer nyílt forráskódú projekten alapulnak a GitHubon, amelyek mindegyike több mint 100 csillaggal működik. A kód kontextusával kombinálva a befejezési lista a gyakori eljárások előmozdítása érdekében van kialakítva.
C++ írása esetén az IntelliCode segít olyan népszerű kódtárak használatakor, mint a C++ Standard kódtár. A kód kontextusa először a legkedvesebb javaslatok megadására szolgál. Az alábbi példában a size tagfüggvényt gyakran használják a sort függvényhez, így az az eredménylista tetejére kerül.
A Visual Studio 2022-ben és a Visual Studio 2019-ben az IntelliCode választható összetevőként érhető el a C++ asztali fejlesztési számítási feladatban. Ha meg szeretné győződni arról, hogy az IntelliCode aktív a C++-ban, lépjen az Eszközök>beállításai>IntelliCode>General elemre, és állítsa a C++ alapmodelltengedélyezve.
A Visual Studio 2017-ben az IntelliCode bővítményként érhető el a Visual Studio Marketplace-en.
Prediktív IntelliSense (kísérleti)
A prediktív IntelliSense egy kísérleti funkció, amely környezetfüggő tudatossággal korlátozza az IntelliSense legördülő listában megjelenő eredmények számát. Az algoritmus típusegyezést alkalmaz, így csak a várt típusnak megfelelő eredményeket jeleníti meg. A legegyszerűbb esetben, ha beírja int x = és meghívja az IntelliSense legördülő menüt, csak egész számokat vagy függvényeket fog látni, amelyek egész számokat ad vissza. Ez a funkció alapértelmezés szerint ki van kapcsolva, mert még fejlesztés alatt áll. A legjobban a globális szimbólumokkal működik; a tagfüggvények még nem támogatottak. Bekapcsolhatja a gyorsindításban a "Prediktív" szöveget, vagy az Eszközök>beállításai>szövegszerkesztő>C/C++>Kísérleti>engedélyező prediktív IntelliSense lehetőséget.
A prediktív IntelliSense felülbírálásához és a hosszabb lista megjelenítéséhez nyomja le a Ctrl + J billentyűkombinációt. Ha a Prediktív IntelliSense be van kapcsolva, a Ctrl + J billentyűkombináció meghívásával eltávolítja a prediktív szűrőt. A Ctrl + J billentyűkombináció ismételt lenyomásával eltávolítja az akadálymentességi szűrőt a taglista eredményeiből, ahol releváns. Az IntelliSense legördülő lista ([+]) gombja ugyanazt teszi, mint a Ctrl + J billentyűkombináció. Vigye az egérmutatót a gombra a megjelenő elemleírások megjelenítéséhez.
Az előző képernyőképen több gomb látható a legördülő lista alatt. Ezek lehetővé teszik az IntelliSense-szűrők különböző típusú eredményekhez való használatát:
- Változók és állandók
- Functions
- Types
- Makrók
- Enumok
- Namespaces
A gomb csak akkor jelenik meg, ha az aktuális IntelliSense-munkamenet szempontjából releváns. Általában nem látja egyszerre az összes gombot.
Sablon IntelliSense
A sablonsáv egy felhasználói felületi elem, amely akkor jelenik meg, amikor a kurzor egy sablondefiníción van. Ez azért hasznos, mert a sablon törzsének szerkesztésekor megjelenő intelliense mintasablonargumentumokat is megadhat. Megadhatja például, hogy egy sablonargumentum típusa legyen std::vector<int>. Ezután, ha ezt az argumentumot használja a sablon törzsében, látni fogja az intellisense tagjait std::vector<int>.
Kattintson a T< ikonra a>sablonsáv kibontásához/összecsukásához. Kattintson a ceruza ikonra, vagy kattintson duplán a sablonsávra a Szerkesztés ablak megnyitásához, ahol argumentumtípusokat adhat meg a paraméterekhez.
A sablonsáv automatikusan kitöltheti a paramétertípusokat a sablon példányai alapján a kódban. Kattintson az Összes meglévő példány hozzáadása elemre az összes olyan konkrét argumentum listájának megtekintéséhez, amelyek a sablonnak a kódbázisban való példányosítására szolgálnak.
A szerkesztő alján egy ablak mutatja, hogy hol találhatók az egyes példányok, és milyen argumentumai voltak. Kiválaszthat egy példányt, hogy a kód azon helyére lépjen, ahol a példányt megtalálták.
A sablonsáv adatai felhasználóspecifikusak. A rendszer a .vs mappában tárolja, és nem kötelezi el magát a forráskezelés mellett.
Hibalehetőségek és gyorsjavítások
Ha a szerkesztő észleli a kóddal kapcsolatos problémákat, színes hullámos váltógombokat fog hozzáadni a probléma alá. A piros hullámos kapcsolók olyan kódot jelölnek, amely nem fordítható le. A zöld hullámos kapcsolók más típusú problémákat jeleznek, amelyek még mindig súlyosak lehetnek. A hibalista ablak megnyitásával további információt kaphat a problémákról.
Bizonyos típusú hibák és gyakori kódolási minták esetén a szerkesztő egy gyorsjavítást kínál egy villanykörte formájában, amely akkor jelenik meg, amikor rámutat a hullámos váltóra. A javaslatok megtekintéséhez kattintson a lefelé mutató nyílra.
A következő példában deklaráltak egy vector deklarált definíciót, ezért a szerkesztő felajánlja, hogy tartalmazza a szükséges fejlécfájlt:
A szerkesztő gyorsjavításokat is kínál néhány újrabontási lehetőséghez. Ha például egy osztályt deklarál egy fejlécfájlban, a Visual Studio felajánlja, hogy létrehoz egy definíciót egy külön .cpp fájlban.
Változások követése
Amikor módosít egy fájlt, megjelenik egy sárga sáv a bal oldalon, amely jelzi, hogy a nem mentett módosítások történtek. A fájl mentésekor a sáv zöldre vált. A zöld és sárga sávok mindaddig megmaradnak, amíg a dokumentum meg van nyitva a szerkesztőben. Ezek a dokumentum legutóbbi megnyitása óta végrehajtott módosításokat jelölik.
Kód áthelyezése
A kódsorokat felfelé és lefelé is mozgathatja, ha kijelöli őket, lenyomja az Alt billentyűt, és lenyomja a Fel/Le nyílbillentyűket.
Kódrészletek beszúrása
A kódrészletek egy előre definiált forráskódrészletek. Kattintson a jobb gombbal egy pontra vagy a kijelölt szövegre, és válassza a Kódrészlet lehetőséget egy kódrészlet beszúrásához, vagy a kijelölt szöveg körülvéve a kódrészlettel. Az alábbi ábra azt a három lépést mutatja be, amellyel körbeveheti a kijelölt utasítást egy ciklussal. A végső képen a sárga kiemelések szerkeszthető mezők, amelyeket a tabulátorbillentyűvel érhet el. További információ: Kódrészletek.
Ki van jelölve egy függvény. A függvény nevére való jobb kattintás után megjelenő legördülő menüben a Surround With... sárga színnel van kiemelve. A Surround With: legördülő listában a "for" ciklus kódrészlete van kiválasztva. Ez egy ciklust eredményez a függvény körül. A ciklusváltozó és a korlát sárga színnel jelenik meg, ami azt jelzi, hogy szerkeszthető mezők.
Osztály hozzáadása
Adjon hozzá egy új osztályt a Project menüből vagy a Megoldáskezelő helyi menüjéből:
Az Osztályvarázslóval is módosíthatja vagy megvizsgálhatja a meglévő osztályokat.
További információ: Funkciók hozzáadása kódvarázslókkal (C++).
Refaktorálás
Az újrabontások a Gyorsművelet helyi menüben vagy a szerkesztőben található villanykörte ikonra kattintva érhetők el. Néhány az Újrabontás szerkesztése > menüben is megtalálható. Ezek a funkciók a következők:
- Átnevezés
- Kinyerés függvény
- Tiszta virtuális gépek implementálása
- Deklaráció/definíció létrehozása
- Függvénydefiníció áthelyezése
- Konvertálás nyers sztringkonstanssá
- Aláírás módosítása
Kódstílus-kényszerítés a ClangFormat és a EditorConfig használatával
A Visual Studio 2017 és újabb verziói beépített támogatást nyújtanak a ClangFormathoz, amely a C++ népszerű kódformázási segédprogramja a Clang/LLVM-en alapul. Írja be a "ClangFormat" kifejezést a Fontos rovatok mezőbe, és állítsa be az alábbi gyakori formátumok egyikét:
- LLVM
- Króm
- Mozilla
- WebKit
- Visual Studio
Saját vagy .clang-format fájlokat is megadhat_clang-format, hogy egyéni szabályokat alkalmazzanak az összes azonos szintű vagy alacsonyabb szintű kódfájlra.
A fájlok könnyen megoszthatók a forrásvezérlőn keresztül, így a kódolási konvenciók az egész fejlesztői csapatra érvényesek.
A Visual Studio 2017 és újabb verziók szintén támogatják a EditorConfigot, amely hasonló módon működik. A ClangFormat azonban több stíluslehetőséget kínál, mint a EditorConfig, beleértve a C++-ra jellemző szabályokat is. A Szerkesztőkonfigurációval.editorconfig fájlokat hozhat létre, és a kódbázis különböző mappáiba helyezheti őket a mappák és almappáik kódstílusainak megadásához. A .editorconfig fájl felülírja a szülőmappákban lévő többi .editorconfig fájlt, és felülírja az Eszközök>beállításaival konfigurált formázási beállításokat. A tabulátorok és szóközök, behúzási méret stb. szabályai beállíthatók. További információ: Hordozható, egyéni szerkesztőbeállítások létrehozása a Szerkesztőkonfigurációval.
Egyéb formázási beállítások
A gyorsindítási keresőmezővel a leggyorsabban megkeresheti a beállításokat vagy eszközöket. A főmenüben található. Kezdjen el gépelni, és az automatikus kiegészítési lista szűri az eredményeket.
A formázási beállítások, például a behúzás, a kapcsos kitöltés és a színezés beállításához írja be a "C++ Formázás" szöveget a Fontos rovatok ablakba.
A főmenüSpeciális> területén további formázási beállítások találhatók.
A C++-specifikus szerkesztési funkciók engedélyezésére és konfigurálására szolgáló beállítások az Eszközök>beállításai>szövegszerkesztő>C/C++ területen találhatók. Miután kiválasztotta a beállítani kívánt beállítást, további segítséget kaphat az F1 billentyű lenyomásával, amikor a párbeszédpanel a fókuszban van. Az általános kódformázási beállításokhoz írja be Editor C++ a Fontos rovatok mezőbe.
A Visual Studio jövőbeli verziójában esetleg nem szereplő kísérleti funkciók a Szövegszerkesztő C++ Kísérleti párbeszédpanelén találhatók. A Visual Studio 2017-ben és újabb verzióiban ezen a párbeszédpanelen engedélyezheti a Prediktív IntelliSense funkciót.
Lásd még
C++ kód
olvasása és értelmezéseNavigálás a C++ kódbázisban a Visual Studióban
Együttműködés a C++ élő megosztásával