Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Visual Studio vám pomůže upgradovat starší verzi kódu C++ s možnostmi kompilátoru, upozorněními analýzy kódu a funkcemi editoru, jako jsou rychlé opravy, rychlé informace a vylepšený posuvník. Termín "starší kód" odkazuje na některou z těchto kategorií:
Kód, který byl dříve povolen kompilátorem Microsoft C++ (MSVC), ale nikdy neodpovídá standardu C++.
Pokud chcete upgradovat starší nevyhovující kód MSVC, zapněte možnost kompilátoru
/permissive-. Všechny instance nevyhovujících použití jsou v editoru kódu podtržené červenou vlnovkou. Chybové zprávy v okně Seznam chyb obsahují doporučení, jak chybu opravit. Kliknutím na kód chyby přejděte na stránku nápovědy v dokumentaci. Pokud jsou všechny chyby najednou nepraktické, můžete upgradovat nevyhovující kód ve fázích zapnutím/permissive-možnosti, opravou některých chyb a opětovným vypnutím možnosti. Kód se zkompiluje s novými vylepšeními a můžete se vrátit a opravit zbývající problémy později. Příklady nevyhovujícího kódu MSVC najdete na/permissive-stránce.Kód, který byl povolen ve starší verzi standardu C++, ale byl zastaralý nebo odebrán v novější verzi.
Pokud chcete upgradovat na novější jazykovou normu, nastavte možnost Standard jazyka C++ na požadovaný standard a opravte případné chyby kompilace, které jsou vyvolány. Obecně doporučujeme nastavit jazykový standard na
/std:c++17nebo/std:c++20. Chyby vyvolané při upgradu na novější standard nesouvisí s chybami vyvolaovými při použití/permissive-této možnosti.Kód, který odpovídá všem verzím standardu, ale v moderním jazyce C++ se už nepovažuje za osvědčený postup.
Pokud chcete identifikovat kód, ve kterém se doporučuje změny, spusťte analýzu kódu.
Otevření a převod starší verze projektu
Pokud jsou vaše starší projekty založené na starší verzi sady Visual Studio, můžete je stále načíst v novější verzi a pracovat na ní a zachovat zpětnou kompatibilitu se starší verzí. Až budete připraveni trvale přejít na novou verzi sady Visual Studio, můžete své projekty znovu nasměrovat. To vám umožní používat nejnovější nástroje sestavení a projektové funkce v integrovaném vývojovém prostředí, ale už nebudete moct načíst přepracované projekty ve starší verzi sady Visual Studio.
Pokud chcete projekty změnit na formát sady Visual Studio 2026, můžete použít pomocníka s nastavením, který se zobrazí při prvním otevření řešení obsahujícího starší projekty. Můžete k němu také přistupovat tak, že kliknete pravým tlačítkem na řešení v Průzkumníku řešení a vyberete řešení Retarget.
Pomocník s nastavením vám pak poskytne možnost buď zůstat ve starší verzi a nainstalovat všechny chybějící nástroje sestavení nebo sady SDK systému Windows potřebné k sestavení, nebo změnit cílení projektů na upgrade. Můžete provést nastavení přecílení pro každý projekt v řešení nebo vybrat Retarget all>Použít pro upgrade.
Další informace naleznete v tématu Upgrade projektů C++ ze starších verzí sady Visual Studio.
Seznam chyb
Jakmile nastavíte požadovaný jazyk C++ Standard a všechny další možnosti kompilátoru (), zkompilujte projekt stisknutím kombinace kláves > Můžete očekávat, že se zobrazí některé chyby a upozornění ve formě červených vlnovek na různých místech v kódu. Chyby se také zobrazí v seznamu chyb. Další informace o konkrétní chybě potřebujete kliknutím na kód chyby přejít na stránku nápovědy v dokumentaci. Kódy chyb, které začínají na "C", jsou chyby kompilátoru. Kódy, které začínají na MSB, jsou chyby NÁSTROJE MSBuild, které označují problém s konfigurací projektu.
Indikátor stavu dokumentu
Indikátor stavu dokumentu v dolní části editoru zobrazuje počet chyb a upozornění v aktuálním dokumentu a umožňuje přejít přímo z jednoho upozornění nebo chyby na další.
V mnoha případech najdete v dokumentaci další informace o konkrétní chybě v historii změn a vylepšeních shody sady Visual Studio.
- Vylepšení shody jazyka C++
- Historie změn v jazyce Visual C++ 2003 – 2015
- Přehled potenciálních problémů s upgradem
Modernizace kódu pomocí analýzy kódu
Při upgradu doporučujeme spustit analýzu kódu v projektu tak, aby kód odpovídal minimálně nativním doporučeným pravidlům Microsoftu. Tato pravidla jsou kombinací pravidel definovaných Microsoftem a podmnožinou pravidel C++ Core Guidelines. Díky tomu, že je v souladu s těmito informacemi výrazně snížíte nebo odstraníte běžné zdroje chyb, a zároveň zajistíte, aby byl váš kód čitelnější a lépe udržovatelný. Analýza kódu pomocí nativních doporučených pravidel Microsoftu je ve výchozím nastavení povolená. V části můžete povolit další pravidla. Kód, který porušuje jedno z pravidel, se označí jako upozornění a podtrží se zeleným vlnovkou v editoru kódu. Když najedete myší na vlnovku, zobrazí se popis rychlého informací , který tento problém popisuje.
Kliknutím na ikonu filtru ve sloupci Kód vyberte, která upozornění se zobrazí.
Chyby a upozornění analýzy kódu se také zobrazují v seznamu chyb stejně jako chyby kompilátoru.
Můžete změnit, která pravidla jsou aktivní, a vytvořit vlastní sady pravidel. Další informace o použití analýzy kódu naleznete v tématu Analýza kódu pro C/C++ přehled.
Modernizace kódu pomocí rychlých akcí
Editor kódu poskytuje rychlé akce pro některá běžná doporučení. Když se zobrazí ikona žárovky, můžete na ni kliknout a zobrazit dostupné rychlé akce.
Převod maker na funkce constexpr
Následující obrázek znázorňuje použití makra s názvem AVERAGE, který má výchozí sémantické zabarvení. Obrázek také ukazuje popis rychlého informací, který se zobrazí, když na něj najede kurzor myši:
Vzhledem k tomu, že použití maker se nedoporučuje v moderním jazyce C++, visual Studio usnadňuje převod maker na constexpr funkce:
Klikněte pravým tlačítkem myši a
AVERAGEzvolte Přejít k definici.Klikněte na ikonu šroubováku a zvolte Převést makro na constexpr.
Makro se převede, jak je znázorněno níže:
A volání AVERAGE je teď barevné jako volání funkce a popis rychlé informace zobrazuje vyvolaný typ funkce:
Inicializace proměnných
Neinicializované proměnné můžou obsahovat náhodné hodnoty, které vedou k vážným chybám. Analýza kódu označuje tyto instance a editor poskytuje rychlou akci:
Převod na nezpracovaný řetězcový literál
Nezpracované řetězcové literály jsou méně náchylné k chybám a jsou pohodlnější než řetězce s vloženými řídicími znaky. Klikněte pravým tlačítkem myši na řetězec a zvolte Rychlé akce a převeďte ho na nezpracovaný řetězcový literál.
Řetězec se převede na: R"(C:\Users\bjarnes\demo\output.txt)".