Co je nového v jazyce C++ v sadě Visual Studio 2022
Visual Studio 2022 přináší mnoho aktualizací a oprav kompilátoru a nástrojů Microsoft C++. Integrované vývojové prostředí sady Visual Studio také nabízí významná vylepšení výkonu a produktivity a nyní běží nativně jako 64bitová aplikace.
- Další informace o novinkách ve všech sadě Visual Studio najdete v tématu Co je nového v sadě Visual Studio 2022.
- Informace o novinkách v dokumentaci jazyka C++ najdete v dokumentaci Microsoft C++: Co je nového.
- Informace o datech sestavení verzí najdete v tématu Historie vydání sady Visual Studio 2022.
Novinky pro C++ v sadě Visual Studio verze 17.12
Vydáno v listopadu 2024
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Novinky pro vývojáře v jazyce C++ v sadě Visual Studio 2022 17.12 |
Standardní knihovna (STL) sloučila funkce C++26 a C++23, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.12 |
Nové funkce v integrovaném vývojovém prostředí sady Visual Studio 17.12 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.12 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.12 | Vylepšení shody c++, změny chování a opravy chyb v sadě Visual Studio 2022 17.12 |
Stručný přehled některých nových funkcí:
- Vylepšení standardní knihovny
- Implementace rozsahů formátování C++23 (P2286R8) je dokončena. Byly přidány formátovací moduly pro adaptéry
stack
kontejneru ,queue
apriority_queue
. - Přidání multidimenzionálních operátorů dolního indexu, které podporují
<mdspan>
také . Například:print("m[{}, {}]: '{}'; ", i, j, m[i, j])
.
- Implementace rozsahů formátování C++23 (P2286R8) je dokončena. Byly přidány formátovací moduly pro adaptéry
- Vývoj her v jazyce C++
- Přímo otevřete projekty Unreal Engine v sadě Visual Studio, aniž byste museli vygenerovat soubor řešení sady Visual Studio, který zabalí projekt Unreal Engine. Další informace naleznete v tématu Práce s projekty Unreal Engine v sadě Visual Studio.
- Můžete zadat argumenty příkazového řádku, které se mají předat při ladění přímo z panelu nástrojů. Další informace naleznete v tématu Nastavení argumentů příkazového řádku pro projekty Unreal Engine.
- Vytváření přehledů
- Na vybraných souborech můžete spouštět Přehledy sestavení. Vyberte požadované soubory v Průzkumník řešení, klikněte pravým tlačítkem a zvolte Spustit přehledy sestavení u vybraných souborů:
- Výsledky Build Insights můžete filtrovat podle projektu. Klikněte na tlačítko filtru v záhlaví sloupce filtru a vyberte projekty, pro které chcete zobrazit výsledky:
- Kliknutím na ikonu otazníku v okně Build Insights zobrazíte krátký popis karet v okně Build Insights a odkaz na dokumentaci s podrobným vysvětlením:
- GitHub Copilot
- Kliknutím na Možnost Zeptat se copilotu vedle hodnoty proměnné získáte přehledy řízené AI o tom, co vedlo k jeho aktuálnímu stavu. Například následující program má v podmínce smyčky chybu off-by-one:
Pokud pro proměnnou kliknete na ikonu Zeptat se zkopírovaného objektuKód, který způsobil tento problém, je: for (auto it = h.animals_.begin(); it <= h.animals_.end(); it++).
it
, řekne vám, proč je<NULL>
:Tato chyba je uvnitř funkce definované jako int calculate_number_of_cats(const house&h). Zpráva GitHub Copilot říká: "Hodnota výrazu je NULL, což znamená, že iterátor neodkazuje na žádný platný prvek vektoru animals_. V kontextu vašeho programu má iterovat přes animals_ vektor v objektu domu, aby se spočítal počet objektů kočky. Proč má hodnotu null. Na základě místních hodnot a kontextu zásobníku volání: objekt domu h má prázdný vektor animals_ (size=0). Podmínka smyčky <= h.animals_.end() není správná. Mělo by to být != h.animals_.end()."
- Pokud chcete získat nápovědu k chybě a navrhované opravě, klikněte v seznamu chyb sady Visual Studio na možnost Zeptat se copilotu. Příklad:
Pokud kliknete na Příkaz Zeptat se zkopírovaného počítače, zobrazí se zpráva o chybě:Vedle chyby, která unique_ptr se pokouší odkazovat na odstraněnou funkci, je zvýrazněná ikona Ask Copilot.
Zpráva Copilot říká: "K chybě dochází, protože rozsah založený na smyčce se pokusil zkopírovat std::unique_ptr objekty, což není povoleno, protože std::unique_ptr nelze kopírovat. Pokud chcete tento problém vyřešit, změnil jsem smyčku tak, aby používala odkaz, aby se zabránilo kopírování objektů std::unique_ptr. Tímto způsobem smyčka iteruje odkazy na objekty std::unique_ptr, které jsou povoleny."
- Ladění
- Nové ladicí vizualizéry pro
mutex
,recursive_mutex
amove_iterator
. - Ladicí program teď zobrazuje vložené návratové hodnoty:
- Nové ladicí vizualizéry pro
Co je nového pro C++ v sadě Visual Studio verze 17.11
Vydáno v srpnu 2024
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Novinky pro vývojáře v jazyce C++ v sadě Visual Studio 2022 17.11 |
Standardní knihovna (STL) sloučila funkce C++26 a C++23, sestavy chyb C++20, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.11 |
Nové funkce v integrovaném vývojovém prostředí sady Visual Studio 17.11 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.11 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.11 | Vylepšení shody c++, změny chování a opravy chyb v sadě Visual Studio 2022 17.11 |
Částečný seznam nových funkcí:
Vylepšení standardní knihovny
- Formátovaná implementace výstupu nyní obsahuje
std::range_formatter
a formátovací nástroje prostd::pair
astd::tuple
. - Byla přidána podpora pro
std::println()
bez argumentů. Vytiskne se prázdný řádek podle návrhu v P3142R0. - Vylepšená vektorizace pro několik algoritmů včetně
replace_copy()
, ,replace_copy_if()
ranges::replace_copy
,ranges::replace_copy_if
,find_first_of()
aranges::find_first_of
, pro 8bitové a 16bitové prvky,mismatch()
, , ,ranges::count
ranges::mismatch
find()
ranges::find
count()
ranges::find_last
a .ranges::iota
- Formátovaná implementace výstupu nyní obsahuje
Vývoj her v jazyce C++
- V sadě Visual Studio teď můžete přidat běžné šablony, moduly a moduly plug-in třídy Unreal Engine. Další informace najdete v tématu Přidání tříd, modulů a modulů modulu unreal engine v sadě Visual Studio.
- Nový panel nástrojů Unreal Engine poskytuje rychlý přístup k akcím souvisejícím s Unreal Engine ze sady Visual Studio. Panel nástrojů umožňuje rychlé připojení k procesům unreal Engine, opětovné prohledání mezipaměti podrobných plánů, rychlý přístup k protokolu unreal Engine a poskytuje rychlý přístup ke stránce konfigurace unreal engine pro Visual Studio. Další informace naleznete v tématu Unreal Engine Toolbar.
- Výsledky trasování teď můžete filtrovat podle projektu. Výsledkem je také, že každý řádek zobrazuje relativní cestu a název souboru místo celé cesty. Vylepšili jsme také seskupení výsledků v zobrazení Zahrnuté soubory :
Zobrazení Zahrnuté soubory má pro projekt nový sloupec. Vybere se sloupec Projekt a vybere se například (Vybrat vše), CompilerIdC, OpenAL, common atd. Zahrnuté soubory jsou uvedeny podle relativní cesty a názvu souboru a seskupené dohromady.
Ladění CMake
- Teď můžete ladit skripty a
CMakeLists.txt
soubory CMake v ladicím programu sady Visual Studio pro projekty CMake, které cílí na Linux prostřednictvím Subsystém Windows pro Linux (WSL) nebo SSH. Pokud chcete spustit ladicí relaci CMake v sadě Visual Studio, nastavte vCMakeLists.txt
souboru zarážku a pak přejděte na Project>Configure Cache s laděním CMake.
- Teď můžete ladit skripty a
GitHub Copilot
- Když v editoru kódu najedete myší na symboly, klikněte v dialogovém okně Rychlé informace na tlačítko Copilot Řekněte mi další informace, abyste se dozvěděli více o daném symbolu:
Okno Rychlé informace je zobrazeno nad funkcí. Zvýrazněný odkaz Řekněte mi další.
- GitHub Copilot může generovat návrhy pojmenování pro vaše identifikátory (proměnné, metody nebo třídy) na základě způsobu použití identifikátoru a stylu kódu.
Dialogové okno Přejmenovat obsahuje pole Nový název s rozevíracím seznamem, který zobrazuje tyto možnosti: text_color, font_color, display_color, console_color a menu_text_color.
Potřebujete aktivní předplatné GitHub Copilot. Klikněte pravým tlačítkem myši na proměnnou, kterou chcete přejmenovat, a zvolte Přejmenovat (
Ctrl+R
,Ctrl+R
). Výběrem ikony GitHub Copilot sparkle vygenerujte návrhy pojmenování.Ladění
- Podmíněné zarážky v jazyce C++ jsou rychlejší.
Vylepšení diagnostiky
- Vylepšená diagnostika při volání
std::get<T>
nastd::tuple
více instancí v argumentechT
šablony. MSVC sloužící k hlášení:
error C2338: static_assert failed: 'duplicate type T in get<T>(tuple)'
.
Teď sestavuje:
error C2338: static_assert failed: 'get<T>(tuple<Types...>&) requires T to occur exactly once in Types.(N4971 [tuple.elemm]/5)'
- Vylepšená diagnostika, pokud
std::ranges::to
nelze vytvořit požadovaný výsledek. MSVC sloužící k hlášení:
error C2338: static_assert failed: 'the program is ill-formed per N4950 [range.utility.conv.to]/2.3'
Teď sestavuje:
error C2338: static_assert failed: 'ranges::to requires the result to be constructible from the source range, either by using a suitable constructor, or by inserting each element of the range into the default-constructed object. (N4981 [range.utility.conv.to]/2.1.5)'
- Vylepšená diagnostika při volání
Novinky pro C++ v sadě Visual Studio verze 17.10
Vydáno v květnu 2024
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Novinky pro vývojáře v jazyce C++ v sadě Visual Studio 2022 17.10 |
Standardní knihovna (STL) sloučila funkce C++26 a C++23, sestavy chyb C++20, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.10 |
Nové funkce v integrovaném vývojovém prostředí sady Visual Studio 17.10 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.10 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.10 | Vylepšení shody c++, změny chování a opravy chyb v sadě Visual Studio 2022 17.10 |
Částečný seznam nových funkcí:
- Aktualizace sady nástrojů MSVC: Verze sady nástrojů MSVC se aktualizuje z verze 19.39 na 19.40. To může mít vliv na projekty, u kterých se předpokládá verze. Další informace o některých způsobech, jak to ovlivňuje projekty, které předpokládají, že verze MSVC jsou všechny verze 19.3X pro Visual Studio 2022, naleznete v tématu MSVC Toolset Podverze číslo 14.40 v sadě VS 2022 v17.10.
- Vylepšení standardní knihovny: Standardní knihovna přidala podporu pro P2510R3 Ukazatele formátování, která přináší sadu specifikátorů formátu pro ukazatele při použití
std::format
více v souladu s těmi, které již existují pro celá čísla. Vylepšili jsme vektorizované implementacestd::min_element
,std::ranges::min
a přátel. - Build Insights: Teď poskytuje informace o vytváření instancí šablony. Viz Zobrazení šablon pro Build Insights v sadě Visual Studio nebo čistě virtuální C++ – zobrazení šablon pro sestavení insights v záznamu sady Visual Studio .
- Modul plug-in Unreal Engine: Existuje nová funkce výslovného souhlasu, která umožňuje spuštění modulu plug-in Unreal Engine na pozadí, což snižuje náklady na spuštění. Jedná se o funkci výslovného souhlasu, která se aktivuje prostřednictvím modulu Možnosti>nástrojů>Unreal Engine.
- Nové funkce pro Linux: Podívejte se na nové funkce vývoje pro Linux v sadě Visual Studio.
- Cíle CMake: Cíle CMake teď můžete připnout v zobrazení cílů CMake.
- Správce připojení uživatelské prostředí: Uživatelské prostředí poskytuje plynulejší prostředí při připojování ke vzdáleným systémům. Další informace naleznete v tématu Vylepšení použitelnosti v sadě Visual Studio Správce připojení.
- Komentáře k žádostem o přijetí změn: Teď můžete zobrazit komentáře GitHubu a Azure DevOps přímo v pracovním souboru. Povolte příznak funkce, komentáře k žádostem o přijetí změn v >možnostech funkcí preview prostředí>a pro začátek si projděte větev žádosti o přijetí změn.
- Vygenerovaný obsah AI: GitHub Copilot teď může vytvářet popisy žádostí o přijetí změn. Vyžaduje aktivní předplatné GitHub Copilot. Vyzkoušejte si to kliknutím na ikonu pera Pro vytvoření žádosti o přijetí změn v okně Vytvořit žádost o přijetí změn.
- Náhled obrázku: Najeďte myší na cestu k obrázku a zobrazte náhled s podrobnostmi o velikosti. Velikost je omezena na šířku 500 pixelů a vysokou.
Myš najede myší na řádek std::filesystem::p ath vs_logo_path = ".. /images/vs_logo.png". Pod ním se zobrazí náhled loga sady Visual Studio a informace o velikosti 251 × 500 pixelů a velikosti 13,65 kB.
- Vytvoření zarážky nebo tracepointu: Teď můžete vytvářet podmíněné zarážky nebo tracepointy přímo z výrazů ve zdrojovém kódu z nabídky po kliknutí pravým tlačítkem myši. Funguje to u názvů vlastností nebo polí a hodnot z automatických hodnot, místních hodnot, oken kukátků nebo datových popisů.
- Dialogové okno Připojit k procesu: Funkce poskytované dialogem Připojit k procesu je uživatelsky přívětivější. Teď můžete snadno přepínat mezi stromovými a seznamovými zobrazeními, lépe uspořádat procesy pomocí sbalitelných oddílů a vybrat typy kódu se zjednodušeným polem se seznamem. Funkce "Vybrat/sledovat okno" je teď jednodušší a umožňuje obousměrné sledování: výběr procesu zvýrazní jeho okno a kliknutím na okno vyberete jeho proces.
- Integrace GitHub Copilotu: Rozšíření GitHub Copilot a Copilot Chat jsou teď sjednocená a nyní se dodávají přímo v sadě Visual Studio. Pokud ji chcete nainstalovat, nainstalujte do Instalační program pro Visual Studio komponentu GitHub Copilot:
Rozhraní GitHub Copilot je v pravém horním rohu sady Visual Studio. Pokud ho chcete použít, potřebujete aktivní předplatné GitHub Copilot.
Tlačítko GitHub Copilot se zobrazí v pravém horním rohu sady Visual Studio. Nabízí možnosti otevření okna chatu, nastavení GitHub Copilotu, další informace a správu předplatného copilotu.
Novinky pro C++ v sadě Visual Studio verze 17.9
Vydáno únor 2024
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Novinky pro vývojáře v jazyce C++ v sadě Visual Studio 2022 17.9 |
STL (Standard Library) sloučené funkce C++23, vylepšení výkonu, vylepšené chování, řešení problémů LWG a opravené chyby | Protokol změn STL 17.9 |
Nové funkce integrovaného vývojového prostředí sady Visual Studio 17.9 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.9 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.9 | Vylepšení shody jazyka C++, změny chování a opravy chyb v sadě Visual Studio 2022 |
Souhrn aktualizací back-endu C++ | Aktualizace back-endu MSVC od sady Visual Studio 2022 verze 17.3 |
Částečný seznam nových funkcí:
#include
diagnostika, která poskytuje podrobnou analýzu vašich#include
direktiv. Aktivujte tuto funkci tak, že kliknete pravým tlačítkem na#include
direktivy #include direktivy>Zapnout diagnostiku direktiv #include. Nad jednotlivými#include
kódy je počet odkazů na tento#include
soubor. Kliknutím na odkaz přejděte na místo, kde váš kód používá něco z tohoto souboru záhlaví. Pokud chcete zobrazit čas sestavení direktiv#include
, spusťte Build Insights tak, že přejdete na sestavení>Build Insights v sestavení řešení.>Nad znakem #include je odkaz **odkaz** a mnoho odkazů na tento soubor #include (v tomto případě 1). Čas sestavení je také uvedený (v tomto případě menší než 1/2 sekunda).
- Vizualizace rozložení paměti, která ukazuje uspořádání paměti pro vaše třídy, struktury a sjednocení. Najeďte myší na typ a v rychlých informacích zvolte odkaz Rozložení paměti, aby se otevřelo vyhrazené okno zobrazující rozložení paměti vybraného typu. Když v tomto okně najedete myší na jednotlivé datové typy, zobrazí se podrobné informace o jejich velikosti a posunu v rámci tohoto typu.
Okno rozložení paměti zobrazuje obsah třídy Had. Zobrazuje posuny paměti různých polí třídy, jako jsou třídy bodů pro umístění hlavy a těla, skóre atd.
- Teď můžete zadat vlastní spustitelný soubor CMake. Tato funkce je užitečná, pokud chcete použít konkrétní verzi CMake, která není součástí sady Visual Studio. Přejděte na Možnosti nástrojů>a vyberte CMake>Obecné. Vyberte Povolit vlastní spustitelný soubor CMake a zadejte cestu k adresáři spustitelného souboru CMake.
Dialogové okno možností CMake se zvýrazněnou možností Povolit vlastní spustitelný soubor CMake a zvýrazněným polem Spustitelný adresář CMake.
- Vylepšená technologie IntelliSense pro projekty unreal Engine.
- Vylepšená podpora jazyka C++23:
std::format
aformattable
std::span
,range_format
format_kind
a vset_debug_format()
rámci P2286R8 rozsahů<mdspan>
formátování na P0009R18 a následných změn formulace, které byly použity na standard C++23.format()
Můžete také formátovat ukazatele na P2510R3.
Novinky pro C++ v sadě Visual Studio verze 17.8
Vydáno v listopadu 2023
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Novinky pro vývojáře v jazyce C++ v sadě Visual Studio 2022 17.8 |
STL (Standard Library) sloučené funkce C++26, C++23, rozšíření C++20, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.8 |
Nové funkce integrovaného vývojového prostředí sady Visual Studio 17.8 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.8 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.8 | Vylepšení shody jazyka C++, změny chování a opravy chyb v sadě Visual Studio 2022 |
Přehled vylepšení jazyka C++ v sadě Visual Studio, VS Code a vcpkg během roku 2023 | Rok vylepšení jazyka C++ |
Částečný seznam nových funkcí:
- Strukturovaná diagnostika jazyka C++ v okně Výstup a nové okno podrobností o problému, které poskytuje další informace o chybě. Další informace naleznete v části Strukturovaný výstup SARIF a okno podrobností o problému.
- Funkce, která umožňuje vizualizovat velikost a zarovnání tříd, struktur, sjednocení, základních typů nebo výčtů i před kompilací kódu. Najeďte myší na identifikátor a v rychlém přehledu se zobrazí informace o velikosti a zarovnání.
- Funkce, která navrhuje, kdy označit členské funkce
const
, protože neupravují stav objektu. Najeďte myší na členovou funkci a kliknutím na ikonu žárovky označte funkci jakoconst
. - Visual Studio vás teď vyzve k označení globálních funkcí jako statické pomocí ikony šroubováku, která se zobrazí podle názvu funkce. Kliknutím na ikonu šroubováku označte funkci jako statickou.
- Nevyužité direktivy #include jsou v editoru neaktivní. Když najedete myší na neaktivní, můžete použít nabídku žárovky k odebrání, která zahrnuje nebo všechny nepoužité prvky. Můžete také přidat
#include
direktivy pro entity, které jsou nepřímo zahrnuty prostřednictvím jiných hlaviček. Další informace naleznete v tématu Vyčištění C/C++ zahrnuje v sadě Visual Studio. - Další podpora unreal engine:
- Unreal Engine Test Adapter umožňuje zjišťovat, spouštět, spravovat a ladit testy unreal Engine bez opuštění integrovaného vývojového prostředí sady Visual Studio.
- Pomocí fragmentů kódu unreal engine můžete v seznamu členů najít běžné konstruktory Unreal Engine jako fragmenty kódu.
- Build Insights je teď integrovaný se sadou Visual Studio 2022 a pracuje s projekty MSBuild a CMake pomocí MSVC. Teď můžete zobrazit další informace o kompilaci funkce, například jak dlouho trvalo kompilaci, a počet forceInlines a vliv souborů hlaviček na čas sestavení. Další informace najdete v tématu Kurz: Řešení potíží s funkcí v čase sestavení a kurz: Řešení potíží s dopadem souboru hlaviček na čas sestavení.
- Podpora vzdáleného linuxového testu jednotek teď umožňuje spouštět testy CTest a GTest na vzdálených počítačích s Linuxem z Průzkumníka testů sady Visual Studio stejně jako místní testy.
Novinky pro C++ v sadě Visual Studio verze 17.7
Vydáno 2023.
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Novinky pro vývojáře v jazyce C++ v sadě Visual Studio 2022 17.7 |
Nové funkce C++ specifické pro vývoj her | Uvolnění výkonu sady Visual Studio 2022 pro vývoj her v jazyce C++ |
STL (Standard Library) sloučené funkce C++23, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.7 |
Nové funkce v integrovaném vývojovém prostředí sady Visual Studio 17.7 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.7 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.7 | Vylepšení shody jazyka C++, změny chování a opravy chyb v sadě Visual Studio 2022 |
Částečný seznam nových funkcí:
- Rychlejší ladicí relace a rychlejší časy načítání projektu
- Podrobná vizualizace rozšíření maker
- Stažení jedním kliknutím pro Subsystém Windows pro Linux (WSL)
- Vylepšená podpora komentářů k Doxygenu
- C++ Build Insights pro vývoj her
- Přidáno
/std:clatest
pro kompilátor jazyka C. - Vylepšení projektu unreal Engine, jako je rychlejší IntelliSense a barevné zvýrazňování syntaxe, možnost najít všechny odkazy podrobného plánu Unreal Engine a další.
Novinky pro C++ v sadě Visual Studio verze 17.6
Vydáno v květnu 2023
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Novinky pro vývojáře v jazyce C++ v sadě Visual Studio 2022 17.6 |
STL (Standard Library) sloučené funkce C++23, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.6 |
Nové funkce v integrovaném vývojovém prostředí sady Visual Studio 17.6 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.6 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.6 | Vylepšení shody jazyka C++, změny chování a opravy chyb v sadě Visual Studio 2022 |
Částečný seznam nových funkcí zahrnuje:
- Ladění skriptů CMake
- Integrovaná podpora pro jazyk HLSL (High Level Shading Language)
- Prohlížeč protokolů unreal engine
- Ve výchozím nastavení se teď přidá VCPKG.
- Počáteční podpora pro C++20 v projektech C++/CLI a některé standardní funkce knihovny C++23 pro rozsahy.
Novinky pro C++ v sadě Visual Studio verze 17.5
Vydáno 2023. února 2023
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Novinky pro vývojáře v jazyce C++ v sadě Visual Studio 2022 17.5 |
STL (Standard Library) sloučené funkce C++23, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.5 |
Nové funkce v integrovaném vývojovém prostředí sady Visual Studio 17.5 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.5 |
Částečný seznam nových funkcí zahrnuje:
std::move
,std::forward
std::move_if_noexcept
, astd::forward_like
nyní nevytvářet volání funkce ve vygenerovaném kódu, ani v režimu ladění. Tato změna zabraňuje pojmenovaným přetypováním, což v buildech ladění způsobuje zbytečné režijní náklady./permissive-
(nebo možnost, která to znamená, například/std:c++20
nebostd:c++latest
) je povinná.Přidáno
[[msvc::intrinsic]]
. Tento atribut můžete použít u nerekurzivních funkcí, které se skládají z jednoho přetypování, které přebírají pouze jeden parametr.Přidali jsme podporu konzoly Linuxu v integrovaném terminálu, která umožňuje vstupně-výstupní operace terminálu.
Přidání počáteční experimentální podpory pro atomické primitivy C11 (
<stdatomic.h>
). Tuto experimentální funkci můžete povolit pomocí/experimental:c11atomics
možnosti v/std:c11
režimu nebo novějším.Přidání nové sady experimentálních kontrol s vysokou spolehlivostí do kontroly životnosti pro snížení šumu
Nová funkce Preview, Vzdálená Průzkumník souborů, umožňuje zobrazit adresář souborů na vzdálených počítačích ve VS a nahrávat a stahovat do něj soubory.
Změna správy verzí spustitelných souborů CMake dodávaná se sadou Visual Studio tak, aby odpovídala verzím Kitware.
Přidání podpory pro Opětovné načítání za provozu do šablony projektu CMake
Přechod na definici jazyka C++ teď používá podrobnější indikátor operace, který trvá déle, a nahrazuje modální dialog z předchozích verzí.
Zahájení zavádění experimentu poskytujícího více inteligentních výsledků v seznamu automatického dokončování a člena jazyka C++. Tato funkce se dříve označovala jako Prediktivní technologie IntelliSense, ale nyní používá novou metodu prezentace.
Nyní dodáváme nativní sadu nástrojů Clang Arm64 s naší úlohou LLVM, která umožňuje nativní kompilaci na počítačích Arm64.
Přidání lokalizace do rozšíření Image Watch (Toto rozšíření je k dispozici na Marketplace a není součástí Instalační program pro Visual Studio).
Přidali jsme podporu pro otevření okna terminálu do aktuálně spuštěného vývojového kontejneru.
Provedli jsme několik vylepšení rozšíření maker IntelliSense. Zejména jsme povolili rekurzivní rozšíření v dalších kontextech a do automaticky otevíraných oken jsme přidali možnosti pro zkopírování rozšíření do schránky nebo rozbalení makra vložené.
Souběžné monitorování je nyní podporováno v sériovém monitoru. Souběžné monitorování umožňuje současně monitorovat více portů současně. Stisknutím tlačítka plus otevřete další sériový monitor a začněte.
Nyní můžete zobrazit vlastnosti ze základních tříd upravených v prostředku unreal Blueprint bez opuštění sady Visual Studio. Poklikáním v referenčních informacích k podrobnému plánu pro třídu nebo vlastnost jazyka C++ otevřete Kontrolu prostředků UE v sadě Visual Studio.
Povoleno spouštění DevContainers na vzdáleném počítači s Linuxem.
Povolení výběru více cílů pro sestavení v zobrazení cílů CMake
Byla přidána podpora pro CMakePresets.json verze 5. Informace o nových funkcích najdete v dokumentaci k CMake.
Průzkumník testů povolil paralelní sestavování a testování více cílů CMake.
Přidání možnosti Otevřít kontejner v terminálu do Dev Containers
Implementovali jsme standardní funkce knihovny:
Novinky pro C++ v sadě Visual Studio verze 17.4
Vydáno v listopadu 2022
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Novinky pro vývojáře v jazyce C++ v sadě Visual Studio 2022 17.4 |
STL (Standard Library) sloučené funkce C++23, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.4 |
Nové funkce v integrovaném vývojovém prostředí sady Visual Studio 17.4 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.4 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.4 | Vylepšení shody jazyka C++, změny chování a opravy chyb v sadě Visual Studio 2022 |
Částečný seznam nových funkcí ve verzi 17.4:
Vylepšené chybové zprávy kompilátoru, které poskytují přesnější a užitečnější informace, zejména pro koncepty.
Přidání experimentální možnosti
/experimental:log<directory>
MSVC pro výstup strukturované diagnostiky SARIF do zadaného adresářePřidání podpory atributů C23 do IntelliSense a pokračování v podpoře modulů C++20
Vylepšili jsme výkon indexování při otevírání nového řešení. Velké projekty můžou vidět 20–35% zlepšení z 17,3.
Vylepšená optimalizace pojmenovaných návratových hodnot (NRVO):
- NrVO je povolen pro případy, které zahrnují zpracování výjimek nebo smyčky.
- NRVO je povolena i v
/Od
případě, že uživatel předá/Zc:nrvo
možnost nebo/std:c++20
později nebo/permissive-
. - Pomocí této
/Zc:nrvo-
možnosti teď můžete NRVO zakázat.
Upgradovali jsme verzi LLVM dodávaná se sadou Visual Studio na verzi 15.0.1. Další informace o tom, co je k dispozici, najdete v poznámkách k verzi LLVM a Clang .
Přidání podpory do sady Visual Studio pro artefakty vcpkg s projekty CMake U projektů, které obsahují manifest vcpkg, se prostředí automaticky aktivuje při otevření projektu. Přečtěte si další informace o této funkci v aktivaci prostředí vcpkg v blogovém příspěvku sady Visual Studio .
Teď můžete používat Dev Containers pro své projekty C++. Další informace o této funkci najdete v blogovém příspěvku dev Containers for C++ .
Technologie IntelliSense teď respektuje pořadí předem odlehlých hlaviček, když je jedním z nich PCH. Dříve, když byl PCH použit prostřednictvím a vynuceně zahrnutý prostřednictvím
/Yu
/FI
, IntelliSense by vždy zpracovával jako první před všemi ostatními hlavičkami zahrnutými prostřednictvím/FI
. Toto chování neodpovídá chování sestavení. Při této změně/FI
se hlavičky zpracovávají v pořadí, v jakém jsou zadané.Odebrání interních předpon z názvů CTest v Průzkumníku testů
Aktualizace verze CMake dodávaná se sadou Visual Studio na verzi 3.24.1 Podrobnosti o tom, co je k dispozici, najdete v poznámkách k verzi CMake.
Aktualizace sady Android SDK:
- Skripty Ant byly odebrány, takže uživatelé už v dialogovém okně Nový projekt nevidí šablony založené na Antu. Nápovědu k migraci ze šablon Ant na šablony Gradle najdete v tématu Migrace sestavení z Apache Antu.
- Přidání podpory pro sestavování s NDK 23 a 24
- Aktualizace komponenty NDK na LTS verze 23
Přidání vektorizovaných implementací ,
ranges::min_element()
ranges::max_element()
aranges::minmax_element()
Pokračujeme ve sledování nejnovějšího vývoje standardizace jazyka C++. Podpora těchto funkcí C++23 je dostupná zahrnutím do
/std:c++latest
možností kompilátoru:Přidali jsme možnost Navigace po vytvoření deklarace nebo definice, která vám umožní zvolit navigační chování funkce Vytvořit deklaraci nebo definici. Můžete si vybrat mezi náhledem (výchozí) nebo otevřením dokumentu nebo bez navigace.
Buildy Arm64 sady Visual Studio teď sbalují verze Arm64 CMake a Ninja.
Byla přidána podpora předvoleb CMake verze 4. Podrobnosti o tom, co je k dispozici, najdete v poznámkách k verzi CMake.
Vzdálená systémová připojení využívající Správce připojení teď podporují SSH ProxyJump. ProxyJump se používá pro přístup k hostiteli SSH prostřednictvím jiného hostitele SSH (například pro přístup k hostiteli za bránou firewall).
Novinky pro C++ v sadě Visual Studio verze 17.3
Vydáno 2022
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Vylepšení C++ ve verzi 17.3 |
STL (Standard Library) sloučené funkce C++23, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.3 |
Nové funkce v integrovaném vývojovém prostředí sady Visual Studio 17.3 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.3 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.3 | Vylepšení shody jazyka C++, změny chování a opravy chyb v sadě Visual Studio 2022 |
Částečný seznam nových funkcí ve verzi 17.3:
- Sada nástrojů Arm64EC už není označená jako experimentální a je připravená k použití v produkčním prostředí.
- Terminál sady Visual Studio se teď dá použít jako klient SSH s uloženými připojeními SSH. S nainstalovanými nástroji C++ pro Linux otevřete okno Nástroje terminálu. Rozevírací seznam Terminálu se naplní uloženými připojeními. Když vyberete připojení, otevře se v sadě Visual Studio nové okno terminálu, ve které se ve vzdáleném systému zobrazí pseudo terminal. Podporují se všechny řídicí znaky, barvy a rozpoznávání pozice kurzoru.
- Visual Studio teď může přidat šablony tříd Unreal Engine pro projekty UE. Pokud chcete tuto funkci vyzkoušet, ujistěte se, že je v Instalační program pro Visual Studio vybraná podpora integrovaného vývojového prostředí (IDE) pro unreal Engine ve vývoji her s úlohou C++. Když pracujete na projektu UE, klikněte pravým tlačítkem myši na projekt nebo složku nebo filtr a vyberte Přidat>třídu UE.
- Přechod na definici si teď pamatuje předchozí podpis a naviguje odpovídajícím způsobem, pokud není k dispozici lepší shoda (například po ruční změně podpisu některého z párů). Rychlost odezvy funkce Přejít na vše je vylepšená. Dříve se výsledky zobrazily po ukončení psaní. V novém prostředí se výsledky zobrazí při psaní.
- V kontextech vyžadujících
enum
dokončení typu (například přiřazení kenum
proměnným, popisky písmen, návratovýenum
typ atd.) se seznam automatického dokončování teď filtruje jenom na odpovídající enumerátory a související konstruktory. - Přidání podpory PackageReference NuGet pro projekty C++/CLI MSBuild, které cílí na .NET Core Tato změna byla provedena tak, aby odblokovala smíšené základy kódu, aby bylo možné přijmout .NET Core. Tato podpora nefunguje pro jiné typy projektů C++ ani pro žádné typy projektů C++, které cílí na rozhraní .NET Framework. Neexistují žádné plány rozšíření podpory PackageReference na jiné scénáře C++. Tým pracuje na samostatných zkušenostech zahrnujících vcpkg pro scénáře bez MSBuildu a přidává větší funkce.
- Přidání okna sériového monitorování pro vložený vývoj, který je k dispozici prostřednictvím ladění>sériového monitoru systému Windows.>
- Vylepšili jsme indexování C++ o ~66 % oproti 17,2.
- Aktualizace verze CMake dodávaná se sadou Visual Studio na verzi 3.23 Podrobnosti o tom, co je k dispozici, najdete v poznámkách k verzi CMake 3.23.
- Upgradovali jsme verze nástrojů LLVM dodávané se sadou Visual Studio na verzi 14. Podrobnosti o tom, co je k dispozici, najdete v poznámkách k verzi LLVM a Clang .
- Aktualizace sady nástrojů C++ pro vývoj 16.11 vedle sebe na verzi 14.29.30145.00. Nejnovější verze sady nástrojů Pro vývoj 16.11 C++ obsahuje důležité opravy chyb, včetně opravy všech zbývajících sestav chyb C++20. Další informace o opravách chyb, včetně sestav chyb C++20 ve verzi Dev 16.11, najdete ve zprávě k vydání verze pro Visual Studio 2019 verze 16.11.14.
- Provedli jsme různá vylepšení prostředí editoru modulů C++. Neustále pracujeme na zlepšení kvality prostředí, ale doporučujeme vám je vyzkoušet ve verzi 17.3. Nahlášení zbývajících problémů prostřednictvím komunity vývojářů
Novinky pro C++ v sadě Visual Studio verze 17.2
Vydáno v květnu 2022
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Visual Studio 2022 17.2 je teď k dispozici. |
Standardní knihovna (STL) sloučila sestavy chyb C++20, funkce C++23, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.2 |
Nové funkce integrovaného vývojového prostředí sady Visual Studio 17.2 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.2 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.2 | Vylepšení shody jazyka C++, změny chování a opravy chyb v sadě Visual Studio 2022 |
Částečný seznam nových funkcí ve verzi 17.2:
- Byla přidána podpora kompilátoru pro odstranění duplicitních funkcí jazyka
this
C++23, která je k dispozici pod možností/std:c++latest
. - Přidání podpory IntelliSense pro funkce C++23, které se odvozují
this
aif consteval
. - Přidali jsme podporu názvu vloženého parametru a nápovědy pro psaní, přepínací klávesou Alt+F1 nebo poklepáním na ctrl. Toto chování lze přizpůsobit v části Nástroje > Možnosti > textové editory > C/C++ > IntelliSense.
- Přidání experimentální podpory modulů C++20 v projektech CMake Tato podpora je aktuálně dostupná pouze s generátorem sady Visual Studio (MSBuild).
- Ve verzi 17.1 jsme zavedli periferní registr a zobrazení RTOS pro vložené vývojáře. Dál vylepšujeme možnosti těchto zobrazení s vylepšeními použitelnosti ve verzi 17.2:
- Ve výchozím nastavení je okno nástroje RTOS skryté. Zabrání zobrazení okna nástroje s chybovými zprávami, které nejsou relevantní, když nepoužíváte RTOS.
- Když poklikáte na objekt RTOS v okně nástroje, přidá kukátko objektu.
- Když v okně nástroje RTOS vyberete počáteční a koncové hodnoty ukazatele zásobníku, otevře se v okně paměti.
- Přidání povědomí o vláknech pro cíle zařízení do okna zásobníku volání
- Uživatelé teď můžou vybrat ikonu špendlíku vedle periferních zařízení, registrů nebo polí, aby je připnuli na začátek zobrazení Periferní zařízení.
- Přidání implementací zbývajících sestav chyb C++20 (označovaných také jako backporty) Všechny funkce C++20 jsou teď dostupné v rámci
/std:c++20
této možnosti. Další informace o implementovaných backportech najdete v projektu C++20 Defect Reports v úložišti Microsoft/STL GitHub a blogovém příspěvku MSVC STL Completes/std:c++20
. - Do možnosti jsme přidali různé funkce knihovny C++23, které jsou k dispozici
/std:c++latest
. Další informace o nových funkcích najdete v protokolu změn úložiště STL. - Vylepšený výkon počátečního indexování jazyka C++ o až 20 % v závislosti na hloubkě zahrnutého grafu.
Novinky pro C++ v sadě Visual Studio verze 17.1
Vydáno února 2022
Další informace na téma | Seznamte se s |
---|---|
Novinky pro vývojáře v jazyce C++ | Visual Studio 2022 17.1 je teď k dispozici! |
STL (Standard Library) sloučené funkce C++23, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.1 |
Nové funkce integrovaného vývojového prostředí sady Visual Studio 17.1 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.1 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.1 | Vylepšení shody jazyka C++, změny chování a opravy chyb v sadě Visual Studio 2022 |
Částečný seznam nových funkcí ve verzi 17.1:
- Přidá se nová šablona Konfigurace přednastavení pro konfiguraci a sestavení projektů CMake ve vzdáleném systému macOS pomocí
CMakePresets.json
. Cíle CMake můžete také spustit ve vzdáleném systému macOS a pak vzdáleně ladit v ladicím programu sady Visual Studio, který podporuje GDB nebo LLDB. - Teď můžete ladit výpisy paměti jádra ve vzdáleném systému macOS ze sady Visual Studio s LLDB nebo GDB.
- Verze
Clang
sady Visual Studio aLLVM
dodávány se upgradují na verzi 13. - Integrace CMake sady Visual Studio je aktivní pouze v okamžiku, kdy
CMakeLists.txt
je identifikován v kořenovém adresáři otevřeného pracovního prostoru. Pokud se zjistíCMakeLists.txt
na jiné úrovni pracovního prostoru, zobrazí se výzva k aktivaci integrace CMake sady Visual Studio s oznámením. - Nová zobrazení, která umožňují kontrolovat a pracovat s periferními registry na mikrořadicích a objektech operačních systémů v reálném čase (RTOS), které jsou k dispozici prostřednictvím ladění>registrů windows Embedded>
- Přidali jsme nové zobrazení vláken pro projekty RTOS, které je dostupné prostřednictvím ladění>objektů Windows>RTOS. Další informace naleznete v tématu Vývoj vloženého softwaru v sadě Visual Studio.
Novinky pro C++ v sadě Visual Studio verze 17.0
Vydáno v listopadu 2021
Další informace na téma | Seznamte se s |
---|---|
Nové funkce v integrovaném vývojovém prostředí sady Visual Studio 17.0 | Zpráva k vydání verze pro Visual Studio 2022 verze 17.0 |
Standardní knihovna (STL) sloučila funkce C++23 a C++26, sestavy chyb C++20, řešení problémů LWG, vylepšení výkonu, vylepšené chování a opravené chyby | Protokol změn STL 17.0 |
Vylepšení shody jazyka C++ v sadě Visual Studio 2022 17.0 | Vylepšení shody c++, změny chování a opravy chyb v sadě Visual Studio 2022 17.10 |
Přehled některých nových funkcí v sadě Visual Studio 2022 verze 17.0:
- Integrované vývojové prostředí sady Visual Studio
devenv.exe
je nyní nativní 64bitovou aplikací. - Sada nástrojů MSVC teď ve výchozím nastavení v záznamech ladění nastaví hodnotu hash zdroje SHA-256. Sada nástrojů dříve používala MD5 pro vytváření zdrojových hodnot hash ve výchozím nastavení.
- Nástroje sestavení v143 jsou nyní dostupné prostřednictvím instalačního programu sady Visual Studio a v samostatných nástrojích sestavení.
Opětovné načítání za provozu pro nativní jazyk C++
- Opětovné načítání za provozu pro C++ umožňuje provádět mnoho typů úprav kódu ve spuštěné aplikaci a používat je, aniž by bylo nutné pozastavit provádění aplikace pomocí něčeho jako zarážky.
Když v sadě Visual Studio 2022 spustíte aplikaci v ladicím programu, můžete pomocí tlačítka Opětovné načítání za provozu upravit aplikaci, i když je stále spuštěná. Toto prostředí využívá nativní funkce Upravit a Pokračovat. Další informace o podporovanýchúpravch
- Opětovné načítání za provozu podporuje projekty CMake a Open Folder.
Podpora WSL2
- Nyní můžete nativně sestavovat a ladit ve WSL2 bez navázání připojení SSH. Podporují se projekty CMake pro různé platformy i linuxové projekty založené na MSBuildu.
Vylepšená podpora CMake
Upgradovala verzi CMake dodávaná se sadou Visual Studio na verzi 3.21. Další informace o tom, co je k dispozici v této verzi, najdete v poznámkách k verzi CMake 3.21.
Stránky přehledu CMake se aktualizují, aby podporovaly
CMakePresets.json
.Teď můžete nakonfigurovat a sestavit projekty CMake pomocí CMake 3.21 a
CMakePresets.json
v3.Visual Studio teď podporuje
buildPresets.targets
možnost vCMakePresets.json
souboru . Tato možnost umožňuje vytvořit podmnožinu cílů v projektu CMake.Nabídka Projekt v projektech CMake je zjednodušená a zpřístupňuje možnosti pro odstranění mezipaměti a změna konfigurace a zobrazení mezipaměti.
Implementovali jsme možnost kompilátoru
/scanDependencies
pro výpis závislostí modulů C++20 pro projekty CMake, jak je popsáno v P1689R5. Je to krok směrem k podpoře vytváření projektů založených na modulech pomocí CMake a pracujeme na dokončení této podpory v pozdějších verzích.
Vylepšení standardní knihovny
Tady jsou zvýrazněná vylepšení STL (Standard Library). Úplný seznam nových funkcí, změn, oprav chyb a vylepšení výkonu najdete v protokolu změn týmu STL.
- Přidání vizualizérů ladění pro zlepšení způsobu zobrazení následujících typů:
source_location
,bind_front()
,u8string
(a jeho iterátory),default_sentinel_t
, ,unreachable_sentinel_t
,ranges::empty_view
,ranges::single_view
,ranges::iota_view
(a jeho iterátor/sentinel),ranges::ref_view
,thread
,thread::id
,jthread
, afilesystem::path
- Přidáno
[[nodiscard]]
dostoi()
řady funkcí v<string>
a k různým funkcím,<locale>
jakocollate
jsou členské funkce,has_facet()
aisalnum()
rodiny.tolower()
- P0980R1 Made
std::string
constexpr
in VS 2019 16.10. Teď se podporuje pro Clang. - P1004R2 Made
std::vector
constexpr
in VS 2019 16.10. Teď se podporuje pro Clang.
Zvýrazněné funkce C++23
- P1048R1 Přidání
is_scoped_enum
– nová vlastnost pro standardní knihovnu jazyka C++, která zjistí, jestli je typ vymezený výčtem. -
out_ptr()
P1132R7 ,inout_ptr()
-
contains()
P1679R3 forbasic_string
abasic_string_view
-
to_underlying()
P1682R3 výčtů - P2162R2 Povolit dědění z
std::variant
- P2166R1 Zakázat vytváření
basic_string
abasic_string_view
odnullptr
. Tato změna představuje změnu způsobující chybu zdroje. Kód, který dříve měl nedefinované chování za běhu, je nyní odmítnut s chybami kompilátoru. - P2186R2 odebrání podpory uvolňování paměti. Tato změna odebere
declare_reachable
,undeclare_reachable
,declare_no_pointers
,undeclare_no_pointers
, .get_pointer_safety
. Dříve tyto funkce neměly žádný vliv.
Zvýrazněná vylepšení výkonu
<format>
Teď zjistí, kdy je zápis do kontejneruvector
basic_string
nebo doback_insert_iterator
něj zapisuje, a provede rychlejší voláníinsert()
end()
na kontejner.- Vylepšili jsme výkon
std::find()
std::count()
vector<bool>
19x a 26x (krát, ne procenta). - Vylepšili jsme výkon
std::count()
provector<bool>
std::byte
nyní má stejný výkon jakounsigned char
inreverse()
avariant::swap()
Podpora Clang a LLVM
Nástroje LLVM dodávané se sadou Visual Studio se upgradují na LLVM 12. Další informace najdete v poznámkách k verzi llVM.
Podpora Clang-cl byla aktualizována na LLVM 12.
Teď můžete ladit procesy spuštěné ve vzdáleném systému ze sady Visual Studio pomocí LLDB.
Zastaralé C++ AMP
- Záhlaví C++ AMP jsou teď zastaralá. Zahrnutí
<amp.h>
do projektu C++ generuje chyby sestavení. Chcete-li umlčet chyby, definujte_SILENCE_AMP_DEPRECATION_WARNINGS
. Další informace najdete na našich odkazech pro vyřazení AMP.
Vylepšení IntelliSense
- Vylepšili jsme technologii IntelliSense jazyka C++ při poskytování navigace a zvýrazňování syntaxe pro typy z importovaných modulů a jednotek hlaviček. IntelliSense je pro nás aktivní oblastí investic. Pomozte nám vylepšovat: Sdílejte svůj názor na komunitu vývojářů pomocí funkce Poslat názor.>
- Vylepšili jsme výkon technologie IntelliSense jazyka C++ optimalizací přístupu k databázi hlaviček v mezipaměti a získáním lepší doby načítání pro přístup k kódu.
- Technologie IntelliSense Code Linter pro C++ je teď ve výchozím nastavení zapnutá a poskytuje okamžité návrhy při psaní a opravuje návrhy běžných vad kódu.
- Technologie IntelliSense jazyka C++ pro projekty CMake teď funguje při použití přednastaveného zobrazovaného názvu.
Aktualizace úloh C++
- Aktualizace na NDK r21 LTS v úloze vývoje mobilních aplikací C++.
- Vývoj her s úlohou C++ teď nainstaluje nejnovější Unreal Engine s podporou sady Visual Studio 2022.
Vylepšení analýzy kódu
- Analýza kódu teď vynucuje, aby se vracely hodnoty funkcí anotovaných
_Check_return_
nebo_Must_inspect_result_
se musí kontrolovat. - Detekce dereference ukazatele null je vylepšená v našich nástrojích pro analýzu kódu.
- Přidání podpory pro
gsl::not_null
analýzu kódu - Podpora pro Libfuzzer v rámci možnosti kompilátoru
/fsanitize=fuzzer
.
Poznámky k verzi pro starší verze
Poznámky k verzi pro starší verze C++ jsou k dispozici také:
- Informace o novinkách jazyka C++ v sadě Visual Studio 2019 najdete v tématu Co je nového pro C++ v sadě Visual Studio 2019.
- Informace o novinkách jazyka C++ v sadě Visual Studio 2017 najdete v tématu Co je nového pro C++ v sadě Visual Studio 2017.
- Informace o novinkách ve starších verzích najdete v tématu Visual C++ Co je nového 2003 až 2015.
Známé problémy
C++ IntelliSense
Další informace o dalších otevřených problémech a dostupných řešeních pro jazyk C++ v sadě Visual Studio 2022 najdete v seznamu problémů komunity vývojářů jazyka C++.
Názory a návrhy
Rádi se dozvíme váš názor! Problém můžete nahlásit nebo navrhnout funkci pomocí ikony Odeslat zpětnou vazbu v pravém horním rohu instalačního programu nebo integrovaného vývojového prostředí sady Visual Studio nebo z nápovědy>k odeslání názoru. Problémy můžete sledovat pomocí komunity vývojářů sady Visual Studio, kde přidáváte komentáře nebo hledáte řešení. Naše podpora na živém chatu vám navíc poskytne bezplatnou pomoc s instalací.
Blogy
Využijte přehledy a doporučení, která jsou k dispozici na webu Blogy pro vývojáře Microsoftu , abyste zůstali v aktualizovaném stavu ve všech nových verzích. Blogy obsahují podrobné příspěvky o široké škále funkcí. Blog týmu C++ a blog sady Visual Studio jsou zvláště zajímavé.