Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A Visual Studio segít frissíteni az örökölt C++ kódot fordítóbeállításokkal, kódelemzési figyelmeztetésekkel és szerkesztőfunkciókkal, például gyorsjavításokkal, gyors információval és továbbfejlesztett görgetősávtal. Az "örökölt kód" kifejezés az alábbi kategóriák bármelyikére vonatkozik:
A Microsoft C++ (MSVC) fordító által korábban engedélyezett, de a C++ szabványnak nem megfelelő kód.
A régebbi, nem megfelelő MSVC-kód frissítéséhez kapcsolja be a
/permissive-fordítót. A nem megfelelő használatok összes példánya piros hullámos vonallal van aláhúzva a kódszerkesztőben. A Hibalista ablakban található hibaüzenetek tartalmazzák a hiba kijavítására vonatkozó javaslatot. Kattintson a hibakódra a dokumentáció súgóoldalára való ugráshoz. Ha az összes hiba egyszerre történő javítása nem praktikus, a nem megfelelő kódokat szakaszokban frissítheti a/permissive-beállítás bekapcsolásával, néhány hiba kijavításával, majd a beállítás ismételt kikapcsolásával. A kód az új fejlesztésekkel fog összeállni, és később visszatérhet, és kijavíthatja a fennmaradó problémákat./permissive-A lapon példákat talál a nem megfelelő MSVC-kódra.A C++ szabvány egy korábbi verziójában engedélyezett, de egy későbbi verzióban elavult vagy eltávolított kód.
Ha újabb nyelvi szabványra szeretne frissíteni, állítsa a C++ Language Standard beállítást a kívánt szabványra, és javítsa ki a felmerülő fordítási hibákat. Általánosságban azt javasoljuk, hogy a nyelvi szabványt
/std:c++17vagy/std:c++20-re állítsa. Az újabb szabványra való frissítéskor felmerülő hibák nem kapcsolódnak a beállítás használatakor/permissive-felmerülő hibákhoz.A standard összes verziójának megfelelő kód, de a modern C++-ban már nem tekinthető ajánlott eljárásnak.
A kód azonosításához, ahol a módosítások ajánlottak, futtassa a Kódelemzést.
Régi projekt megnyitása és konvertálása
Ha az örökölt projektek a Visual Studio régebbi verzióján alapulnak, akkor is betöltheti őket egy újabb verzióba, és ott dolgozhat rajtuk, miközben megtarthatja a régebbi verzióval való kompatibilitást. Ha készen áll arra, hogy véglegesen áttérjen a Visual Studio új verziójára, újratervezheti projektjeit. Ez lehetővé teszi a legújabb buildelési eszközök és projektfunkciók használatát az IDE-ben, de többé nem fogja tudni betölteni az újracélzott projekteket a Visual Studio régebbi verziójában.
Ha a projekteket Visual Studio 2026 formátumba szeretné újratárni, használhatja a beállítási segédet, amely a régebbi projekteket tartalmazó megoldás első megnyitásakor jelenik meg. A megoldás eléréséhez kattintson a jobb gombbal a megoldásra a Megoldáskezelőben , és válassza a Retarget-megoldás lehetőséget.
A beállítási asszisztens ezután lehetőséget ad arra, hogy a régebbi verzión maradjon, és telepítse a buildeléshez szükséges hiányzó buildelési eszközöket vagy Windows SDK-kat, vagy frissítse a projekteket. A megoldás minden projektjéhez újracélzási beállításokat adhat meg, vagy a frissítéshez választhatja az Összes újracélzása>Alkalmaz lehetőséget.
További információ: C++ projektek frissítése a Visual Studio korábbi verzióiból.
Hibalista
Miután beállította a kívánt C++ Language Standard és egyéb fordítóbeállításokat (Project>Properties>General), nyomja le a Ctrl+Shift+B billentyűkombinációt a projekt fordításához. A kód különböző pontjain piros hullámos vonalak formájában hibákra és figyelmeztetésekre számíthat. A hibák a hibalistában is megjelennek. Ha további információt szeretne egy adott hibáról, kattintson a hibakódra a dokumentáció súgóoldalára való ugráshoz. A "C" betűvel kezdődő hibakódok fordítóhibák. Az "MSB" kezdetű kódok MSBuild hibák, amelyek a projektkonfigurációval kapcsolatos problémát jeleznek.
Dokumentumállapot-mutató
A dokumentum állapotjelzője a szerkesztő alján az aktuális dokumentumban található hibák és figyelmeztetések számát mutatja, és lehetővé teszi, hogy közvetlenül az egyik figyelmeztetésről/hibáról a következőre navigáljon.
A Visual Studio változási előzményeiről és megfelelőségéről szóló dokumentációban sok esetben további információt talál egy adott hibáról.
- C++ megfelelőségi fejlesztések
- Visual C++ Change History 2003 – 2015
- A lehetséges frissítési problémák áttekintése
Kódelemzés használata a kód modernizálásához
Frissítéskor javasoljuk, hogy futtassa a kódelemzést a projekten, hogy a kód legalább megfeleljen a Microsoft natív ajánlott szabályainak. Ezek a szabályok a Microsoft által meghatározott szabályok kombinációját és a C++ alapvető irányelvek egy részét képezik. Ezeknek megfelelően jelentősen csökkentheti vagy kiküszöbölheti a gyakori hibák forrásait, ugyanakkor olvashatóbbá és könnyebben karbantarthatóvá teheti a kódot. Alapértelmezés szerint engedélyezve van a Kódelemzés a Microsoft natív ajánlott szabályaival. A Project>Properties>Code Analysis területen további szabályokat is engedélyezhet. Az egyik szabályt megsértő kód figyelmeztetésként van megjelölve, és a kódszerkesztőben egy zöld hullámos kapcsolóval alá van aláhúzva. Vigye az egérmutatót a hullámvonalra a problémát leíró QuickInfo súgó megjelenítésére.
A Kód oszlop szűrőikonjára kattintva kiválaszthatja, hogy mely figyelmeztetések jelenjenek meg.
A kódelemzési hibák és figyelmeztetések a fordítóhibákhoz hasonlóan a hibalistában is megjelennek.
Módosíthatja, hogy mely szabályok aktívak, és létrehozhat egyéni szabálykészleteket. A Kódelemzés használatáról további információt a C/C++ áttekintésében talál.
Kód modernizálása gyorsműveletekkel
A kódszerkesztő gyorsműveleteket biztosít néhány gyakori javaslathoz. Amikor megjelenik a villanykörte ikon, rá kattintva megtekintheti a rendelkezésre álló gyorsműveleteket.
Makrók konvertálása constexpr függvényekké
Az alábbi képen az alapértelmezett szemantikai színezésű makró AVERAGEhasználata látható. A képen a QuickInfo elemleírás is látható, amely akkor jelenik meg, amikor az egérmutató rá mutat:
Mivel a modern C++-ban a makrók használata nem ajánlott, a Visual Studio megkönnyíti a makrók függvényekké alakítását constexpr :
Kattintson a jobb gombbal,
AVERAGEés válassza az Ugrás a definícióra parancsot.Kattintson a csavarhúzó ikonra, és válassza a makrót constexpr-é alakítás lehetőséget.
A makró az alábbi módon lesz konvertálva:
A hívás AVERAGE most már függvényhívásként van színezve, és az eszköztipp a függvény levezetett típusát mutatja:
Változók inicializálása
Az nem inicializált változók olyan véletlenszerű értékeket tartalmazhatnak, amelyek súlyos hibákhoz vezetnek. A kódelemzés megjelöli ezeket a példányokat, a szerkesztő pedig egy gyorsműveletet biztosít:
Konvertálás nyers karakterlánckonstanssá
A nyers karakterlánc literálok kevésbé hajlamosak a hibákra, és kényelmesebben írhatók, mint a beágyazott speciális karaktereket tartalmazó karakterláncok. Kattintson a jobb gombbal egy karakterláncra, és válassza a Gyorsműveletek lehetőséget, hogy nyers karakterlánc-literállá alakítsa.
A sztring a következővé lesz konvertálva: R"(C:\Users\bjarnes\demo\output.txt)".