Blog o sadě Visual Studio 2019 je oficiální zdroj informací o produktu, které poskytuje tým technických specialistů sady Visual Studio. Podrobné informace o vydaných verzích sady Visual Studio 2019 najdete v těchto příspěvcích:
Při odstraňování metasouborů existuje ohrožení zabezpečení spočívající ve vzdáleném spuštění kódu, když na něj stále existuje grafické rozhraní. Toto ohrožení zabezpečení existuje pouze v systémech se systémem MacOS nebo Linux.
Problémy vyřešené v této verzi sady Visual Studio 2019 verze 16.8.5
Opravili jsme problém, který způsoboval, že x86 Microsoft.VCLibs Appx byl nainstalován v sadách ExtensionSDKs se správným podpisem.
Opravili jsme nevracení paměti při použití funkcí DesignTime jazyka C++.
Opravili jsme problém, kdy při importu existující databáze do projektu SSDT došlo k výjimce, když se nezapamatovalo heslo.
Opravili jsme problém, kdy se při prvním publikování projektů .NET Core do složky nebo jiných cílů hostování zakázalo tlačítko publikovat.
Opravili jsme zablokování, ke kterému občas docházelo, když vývojáři otevřeli stránku zobrazení profilů publikování.
CVE-2021-1651 / CVE-2021-1680 Ohrožení zabezpečení z hlediska zvýšení oprávnění služby standardního kolektoru diagnostického centra
Ve standardním kolektoru diagnostického centra může existovat ohrožení zabezpečení z důvodu možného zvýšení oprávnění při nesprávně provedených operacích s daty.
CVE-2020-26870 Instalační program pro Visual Studio ohrožení zabezpečení z hlediska možnosti vzdáleného spuštění kódu
Pokud se Instalační program pro Visual Studio pokusí zobrazit škodlivý markdown, může dojít k ohrožení zabezpečení při vzdáleném spuštění kódu.
CVE-2021-1723 ASP.NET Core a Ohrožení zabezpečení spočívající v odepření služby v sadě Visual Studio
Ve způsobu, jakým Kestrel analyzuje požadavky HTTP/2, existuje ohrožení zabezpečení v podobě útoku DoS.
Problémy vyřešené v této verzi sady Visual Studio 2019 verze 16.8.4
Byl opraven problém, kdy komponenty IntelliCode specifické pro jazyk C# nemusí být nainstalovány, pokud byla funkce IntelliCode dříve nainstalována z Visual Studio Marketplace ve starších verzích sady Visual Studio.
Přechodné odkazy na projekt jsou nyní respektovány, pokud projekt PackageReference odkazuje na projekty packages.config se závislostmi PackageReference.
Přidána podpora Xcode 12.3.
Opravy podpory simulátoru x86_64 watchOS 7.0+
Opravili jsme falešně pozitivní výsledky (C33001 ~ C33005) pro použití VARIANT, které se vrací z funkce.
Oprava přerušovaného chybového ukončení VS v návrháři WinForms .NET Core při zavírání projektu nebo řešení
Oprava databázového projektu: Přetažení souboru z Průzkumníka řešení do otevřeného projektu odstraňuje soubor ze systému souborů!
Oprava aktualizace klikání na sql schema compare neukládá změny do souboru sqlproj
Opravili jsme chybu, kdy sestavení selhala s chybami Tabulka/sloupec nebyla nalezena.
Oprava zaškrtávacího políčka Potvrzení po sloučení z Team Exploreru –> Větve
Opravili jsme chybu, kdy Visual Studio během kontroly aktualizací nereaguje několik sekund.
nástroj DeploymentAppRecipe.exe teď podporuje spouštění z libovolného aktuálního adresáře. Nyní také vrací nenulovou návratovou hodnotu při každém selhání nasazení a vytiskne chybové zprávy do standardního chybového streamu.
CVE-2020-17156 Ohrožení zabezpečení spočívající ve vzdáleném spuštění kódu v sadě Visual Studio
V případě, že Visual Studio naklonuje škodlivé úložiště, vznikne ohrožení zabezpečení spočívající v možnosti vzdáleného spuštění kódu.
Problémy vyřešené v této verzi sady Visual Studio 2019 verze 16.8.3
Byla opravena vnitřní chyba kompilátoru, kdy je šablona vnořené funkce definovaná mimo nadřazenou třídu.
Byla opravena nesprávná chyba C2355 při použití this v inicializátoru nestatického datového členu.
Byla opravena chyba při načítání vlastní sady pravidel pomocí možnosti /analyze:ruleset s možností /analyze:rulesetdirectory nebo /analyze:projectdirectory.
Byla opravena občasná chyba v sadě Visual Studio při použití návrháře WinForms .NET Core.
Vložení .NET 5.0.1 do sady Visual Studio verze 16.8.3
Byl odstraněn problém, kdy některé z oken aktivovaných nástrojů v kontextu uživatelského rozhraní mohly způsobovat chybové ukončení sady Visual Studio.
Byl odstraněn problém s nabízením ze stránky pro správu větví, když není k dispozici žádná větev pro vzdáleného sledování Git.
Vyřešené problémy v tomto vydání sady Visual Studio 2019 verze 16.8.1
Opravili jsme problém s velkým dopadem, kdy se objevovalo upozornění, že se správně nenačetl balíček SourceExplorerPackage při klonování úložiště v Team Exploreru. V případě, že uživatelé narazili na tento problém, došlo u nich k zablokování produktu.
Visual Studio 2019 verze 16.8.0
Vydáno 10. listopadu 2020
Shrnutí novinek v tomto vydání sady Visual Studio 2019 verze 16.8
F#:
F# 5 se teď vydává společně s rozhraním .NET 5.
Vylepšení výkonu a opravy pro nástroje sady Visual Studio prostřednictvím F# Tools verze 11.0.0
Upgradovali jsme verzi CMake dodávanou se sadou Visual Studio na CMake 3.18.
Naše nástroje pro analýzu kódu teď podporují standard SARIF 2.1, standardní formát protokolu statické analýzy.
Chybějící nástroje sestavení v projektech pro Linux teď zobrazí upozornění na panelu nástrojů a srozumitelný popis chybějících nástrojů v seznamu chyb.
Teď můžete ladit výpisy paměti Linuxu na vzdáleném systému Linux nebo WSL přímo ze sady Visual Studio.
Pro generování komentářů C++ Doxygen jsme přidali další možnosti stylu komentáře (/*! a //!).
Podpora kompilátoru pro výrazy lambda v nehodnocených kontextech
/debug:full – vylepšený výkon odkazu vytvořením pdb s více vlákny. U několika velkých aplikací a her AAA dochází k dvakrát až čtyřikrát rychlejšímu propojování.
Ladicí program sady Visual Studio teď podporuje char8_t.
Přidali jsme novou možnost propojení, která umožňuje starší chování tisku hodnot s plovoucí desetinnou čárkou, které se změnily v Dev16.2 tak, legacy_stdio_float_rounding.obj aby správně zaokrouhlily přesně reprezentovatelná čísla s plovoucí desetinnou čárkou. Další podrobnosti najdete v tématu printf, _printf_l, wprintf, _wprintf_l.
Analyzátory Roslyn jsou teď součástí sady .NET 5.0 SDK.
Refaktoring, který zavádí novou syntaxi porovnávání vzorů C# 9 not, když je přítomen operátor potlačení
Refaktoring vložené metody, který pomáhá nahradit použití statických, instančních a rozšiřujících metod v rámci jednoho těla příkazu
Oprava kódu pro převod instancí typeof na nameof v jazyce C# a GetType na NameOf v jazyce Visual Basic
Pro jazyk C# a Visual Basic je k dispozici podpora tipů k názvům vložených parametrů, díky čemuž je možné vkládat grafické doplňky pro literály, přetypované literály a vytvoření instancí objektů před každým argumentem ve volání funkce.
Refaktoring, který extrahuje členy z vybrané třídy do nové základní třídy v jazyce C# i Visual Basic
Vyčištění kódu má nové možnosti konfigurace, které můžou použít předvolby formátování a hlaviček souborů nastavené v souboru EditorConfig v jednom souboru nebo v celém řešení.
Oprava kódu pro odebrání klíčového slova in, kde by argument neměl být předán pomocí odkazu
Refaktoring, který zavádí nové kombinátory vzorů C#9 a návrhy porovnávání vzorů, jako je například převod == pro použití is, kde je to možné
Oprava kódu, která při pokusu o zápis abstraktní metody do třídy, která není abstraktní, změní třídu na abstraktní
Dokončování IntelliSense v řetězcových literálech DateTime a TimeSpan se automaticky zobrazí při zadání první uvozovky.
Oprava kódu pro odebrání nepotřebných pragma suppressions a nepotřebných SuppressMessageAttributes
Rename a Find All References teď rozumí odkazům na symboly v rámci cílového řetězce globálních SuppressMessageAttributes
ByVal jsme vypustili jako nepotřebný a současně vydáváme opravu kódu k odebrání nepotřebných parametrů ByVal.
Podpora interaktivního okna pro více modulů runtime, například .NET Framework a .NET Core
Přidali jsme nové rozhraní API RegisterAdditionalFileAction, které autorům analyzátoru umožňuje vytvořit analyzátor pro další soubory.
Přidejte svůj účet GitHub pomocí prostředí pro správu účtů.
V této verzi se starší verze funkce Najít v souborech už nepoužívá a všichni uživatelé začnou používat nové prostředí. Tým Editoru pracuje s lidmi, kteří zadají zpětnou vazbu v komunitě vývojářů (Developer Community), u kterých dochází k problémům s moderním hledáním v souborech.
Poskytovatel publikování ClickOnce je teď dostupný pro desktopové aplikace Windows pro .NET Core 3.1 a .NET 5.0.
Nastavení Opětovné načítání za provozu XAML se přesunulo na ladění > Opětovné načítání za provozu
Vyplnění panelu nástrojů z neodkazovaných balíčků NuGet
JavaScript/TypeScript:
Ladicí program JavaScriptu a TypeScriptu teď umožňuje současné ladění pracovních procesů služby, webových pracovních procesů, prvků iFrame a JavaScriptu na vaší stránce. Kromě toho jsme do nového prostředí ladění přidali možnost ladit back-endové aplikace serveru uzlu společně s JavaScriptem v prohlížeči na straně klienta. Tato funkce je stále experimentální. Můžete ji povolit v nabídce možností ladění.
Teď můžete aktivovat refaktory kdekoli, kde mohou být k dispozici, pomocí klávesové zkratky pro akci kódu (ctrl + .). Nemusíte ani vybírat žádný text – TypeScript je teď dostatečně inteligentní na to, aby kolem umístění vašeho kurzoru vyhledal ty nejlepší dostupné refaktory.
Teď můžete upřesnit, které balíčky TypeScript vyhledává automatické dokončení importu. Výsledkem může být vylepšení výkonu v některých projektech s velkým množstvím závislostí. Další podrobnosti najdete v dokumentaci k TypeScript 4.0 (zpráva k vydání verze)[https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html].
Do podokna výstupu jsme přidali zprávu s informacemi o tom, které typy nainstalujeme pro podporu technologie IntelliSense. Doporučujeme přidat do projektu tsconfig, abyste mohli přizpůsobit to, které typy se používají.
Upozorňujeme, že jsme zahrnuli kompilátor a službu jazyka TypeScript 4.0.
Oznámení o informačním zpravodaji zabezpečení
CVE-2020-17100 Ohrožení zabezpečení spočívající v manipulaci se sadou Visual Studio
K tomuto ohrožení zabezpečení z důvodu možných neoprávněných úprav dochází, když nástroje Python Tools for Visual Studio vytvoří složku python27. Pokud by útočník toto slabé místo využil, mohl by spouštět procesy v kontextu se zvýšenými oprávněními.
Problémy vyřešené v této verzi
Opravili jsme problém, kdy při kompilaci v sadě Visual Studio 2019 16.7 s 80bitovým typem long double kompilátoru Intel C++ docházelo k chybám kompilátoru, které bránily v sestavování projektů.
Opravili jsme problém, kdy v některých scénářích nešlo spustit Live Unit Testing.
Do sady Visual Studio 2019 v16.8 Preview 4 jsme přidali .NET 5.0.RC2.
Opravili jsme chybu, kdy se některé operace Git spustily a nikdy nedokončily.
Přidání dalších funkcí pro vytváření a připojování u sady Visual Studio Codespaces
Opravili jsme chybu, která způsobovala, že při zavírání nebo navigaci mimo řešení ASP.NET Core docházelo k chybovému ukončení sady Visual Studio 2019 nebo k tomu, že sada Visual Studio 2019 přestala reagovat.
Opravili jsme problém, kdy se po odinstalaci a přeinstalaci sady Visual Studio 2019 nedařilo načíst projektový systém C++.
Podrobnosti o novinkách v sadě Visual Studio 2019 verze 16.8.0
C++
Korutiny C++20 se teď podporují v rámci /std:c++latest a hlavičky <korutiny>. Podpora pro naše starší chování je k dispozici v experimentální </korutině> a přepínač /await.
Technologie IntelliSense teď poskytuje podporu pro C++20 hlavičky <konceptů> a <rozsahů> a umožňuje přejmenování a procházení pro definice konceptu. Dochází ke známému problému, jehož řešení očekáváme ve verzi Preview 4.
Naše STL teď podporuje většinu rozsahů C++20. Můžete sledovat, jak postupujeme v řešení problému s rozsahy na GitHubu.
Upgradovali jsme verzi CMake dodávanou se sadou Visual Studio na CMake 3.18.
Naše nástroje pro analýzu kódu teď podporují standard SARIF 2.1, standardní formát protokolu statické analýzy. Další informace o formátu SARIF najdete v oficiální specifikaci.
Chybějící nástroje sestavení v projektech pro Linux teď zobrazí upozornění na panelu nástrojů a srozumitelný popis chybějících nástrojů v seznamu chyb.
Teď můžete ladit výpisy paměti Linuxu na vzdáleném systému Linux nebo WSL přímo ze sady Visual Studio.
Pro generování komentářů C++ Doxygen jsme přidali další možnosti stylu komentáře (/*! a //!).
V sadě Visual Studio je teď k dispozici linter a opravy při psaní. Konfigurujte pomocí nástrojů-Options-Text> Editor-C>>/C++->CodeStyle-Linter> + Fixups.
Linter při psaní
Ladicí program
Podpora ladění výpisu paměti Linuxu – .NET Core
Ladění spravovaných výpisů paměti Linuxu ve Windows bylo dosud obtížné provádět, protože to obvykle znamenalo nastavení dalšího prostředí Linuxu, které přesně zrcadlilo produkci, a následnou instalaci sady nástrojů pro analýzu. Se sadou Visual Studio 2019 16.8 Preview 3 ovšem můžete jednoduše přetáhnout spravovaný výpis paměti Linuxu přímo do IDE a hned začít ladit.
Automatická analýza na platformě .NET
Asynchronní (asynchronní) programování je na platformě .NET dostupné už několik let, ale v minulosti ho nebylo snadné dobře provádět. Zavedli jsme a spravujeme analyzátor výpisů paměti, který pomáhá identifikovat následující scénáře a antivzory:
Sync-over-Async
Vyčerpání fondu vláken
Automatická analýza kritické cesty paměti .NET a .NET Core
To umožňuje zákazníkům intuitivně prohlížet dominující typy objektů v jejich haldě paměti pomocí poznámek (plamenů) v okně nástroje pro diagnostiku paměti.
Fakes s projekty ve stylu sady SDK – problémy s generováním shimů
Při použití nové podpory Fakes v projektech ve stylu sady SDK narazili někteří uživatelé na následující chybu při generování shimů.
Cannot generate shim for System.DateTime: type is not supported because of internal limitations
Opravu této chyby vydáváme ve verzi 16.8 Preview 3. Pokud používáte verzi 16.7.*, můžete použít následující alternativní řešení:
Přidejte <fakesUseV2Generation>False</FakesUseV2Generation> do propertyGroup v souboru csproj.
Přidejte fakes <Include="Fakes\*.fakes" /> do itemGroup v souboru csproj.
Přidejte odkaz na generovaná sestavení Fakes do složky ProjectDir/FakesAssemblies.
Nový experimentální editor Razor teď podporuje následující funkce pro úpravu souborů Razor:
Žárovky Blazor:
Extrahování do kódu na pozadí*:
Vytvoření komponenty ze značky*
Přidání direktivy @using pro komponentu
Plně kvalifikovaný název značky komponenty
Žárovky jazyka C#
Přidání direktivy @using
Plně kvalifikovaný název typu
Vylepšené formátování Razor
Přejmenování komponent Razor v označení ze souborů .razor
Přechod k definici názvů značek komponent Blazor
Zabarvení C# při najetí myší
Zabarvení tipu k dokončení C#
Vyhledání všech referencí v zavřených souborech Razor
Vylepšený výkon a stabilita úprav v Razoru u velkých projektů a řešení
* Funguje jenom v místních scénářích Razor, které ještě nejsou podporované v sadě Visual Studio Codespaces nebo Live Share.
Pokud chcete povolit experimentální editor Razor, přejděte na Nástroje>Možnosti>Prostředí>Funkce ve verzi Preview, vyberte Povolit experimentální editor Razor a potom restartujte Visual Studio.
Integrované vývojové prostředí sady Visual Studio 2019
Přidejte svůj účet GitHub pomocí známého prostředí pro správu účtů sady Visual Studio. Správa verzí, integrovaný terminál a další funkce potom budou moct využívat přihlašovací údaje vašeho účtu k ověřování v rámci GitHubu.
Přidávání účtů GitHub v sadě Visual Studio
Poskytovatel publikování ClickOnce je teď dostupný pro desktopové aplikace Windows pro .NET Core 3.1 a .NET 5.0. Začněte tak, že v Průzkumník řešení kliknete pravým tlačítkem na projekt a vyberete Publikovat, nebo vyberete nabídku Build Publish AppName (Sestavit > publikovat <appName>). ClickOnce najdete v části pro kategorii složek.
Poskytovatel publikování ClickOnce v sadě Visual Studio
Produktivita platformy Git
Vytvoření nové větve z pracovní položky Azure DevOps
Vytvoření nové větve z pracovní položky
Otevření úložiště Git ze seznamu vašich místních úložišť v nabídce Git
Seznam místních úložišť v nabídce Git
Výchozím poskytovatelem správy zdrojového kódu je teď Git namísto TFVC, což se dá změnit z pomocí možnosti Nástroje – Možnosti – Správa zdrojového kódu.
Přepínání mezi historiemi větví v okně úložiště Git jedním kliknutím
Zobrazení a výběr ze seznamu řešení v úložišti v Průzkumník řešení po otevření úložiště
Funkce Preview, která zobrazí seznam zobrazení při otevírání úložiště
Seznam zobrazení v Průzkumníku řešení
Produktivita platformy .NET
Analyzátory platformy .NET Compiler Platform (Roslyn) kontrolují kód jazyka C# nebo Visual Basic z hlediska zabezpečení, výkonu, návrhu a dalších problémů. Od verze .NET 5.0 jsou tyto analyzátory obsažené v .NET SDK. Analyzátory jsou ve výchozím nastavení povolené pro projekty, které cílí na rozhraní .NET 5.0 nebo novější. Pro projekty, které cílí na starší verze rozhraní .NET, můžete analýzu kód povolit nastavením vlastnosti EnableNETAnalyzers na true. Analýzu kódu pro projekt můžete zakázat nastavením vlastnosti EnableNETAnalyzers na false. K povolení nebo zakázání analyzátorů .NET můžete také použít okno Vlastnosti projektu. Pokud chcete získat přístup k oknu Vlastnosti projektu, klikněte pravým tlačítkem myši na projekt v Průzkumníku řešení a vyberte Vlastnosti. Potom vyberte kartu Analýza kódu, kde můžete zaškrtnout nebo zrušit zaškrtnutí políčka pro povolení analyzátorů .NET.
Okno Vlastnosti projektu pro povolení analyzátorů .NET
K dispozici je teď refaktoring, který zavádí novou syntaxi porovnávání vzorů C# 9 not, když je přítomen operátor potlačení. Umístěte kurzor na operátor potlačení. Stisknutím Ctrl+. aktivujte nabídku Rychlé akce a refaktoring. Vyberte Použít porovnávání vzorů.
Refaktoring zavádějící novou syntaxi porovnávání vzorů C# 9
K dispozici je teď refaktoring vložené metody, který vám pomáhá nahradit použití statických, instančních a rozšiřujících metod v rámci jednoho těla příkazu možností odebrat deklaraci původní metody. Umístěte kurzor na použití metody. Stisknutím Ctrl+. aktivujte nabídku Rychlé akce a refaktoring. Potom vyberte jednu z následujících možností:
Výběrem možnosti <QualifiedMethodName> Vložit odeberete deklaraci vložené metody:
Refaktoring vložené metody – odebrání deklarace
Pokud chcete zachovat deklaraci původní metody, vyberte vloženou položku a ponechte <QualifiedMethodName> ji:
Refaktoring vložené metody – zachování deklarace
Vytvoření nového souboru C# nebo Visual Basic ze šablony respektuje nastavení stylu kódu EditorConfig. Následující styly kódu se automaticky použijí při vytváření nových souborů: hlavičky souborů, řazení direktiv using a umístění direktiv using ve vnitřních/vnějších oborech názvů.
Nyní je pro C# a Visual Basic k dispozici podpora nápovědy k názvům vložených parametrů, díky čemuž jde vkládat doplňky pro literály, přetypované literály a vytvoření instancí objektů před každým argumentem ve volání funkce. Tuto možnost je napřed potřeba zapnout tak, že přejdete na Nástroje>Možnosti>Textový editor>C# nebo Basic>Upřesnit a vyberete Zobrazovat nápovědy k názvům vložených parametrů (experimentální). Nápovědy k názvům vložených parametrů se pak zobrazí v souboru C# nebo Visual Basicu.
Nápovědy k názvům vložených parametrů
Nyní můžete extrahovat členy z vybrané třídy do nové základní třídy pomocí nového refaktoringu Extrahovat základní třídu. Umístěte kurzor buď na název třídy, nebo na zvýrazněný člen. Stisknutím Ctrl+. aktivujte nabídku Rychlé akce a refaktoring. Vyberte Načíst členy do nové základní třídy. Otevře se nové dialogové okno Extrahovat základní třídu, kde můžete zadat název základní třídy a její požadované umístění. Můžete vybrat členy, které chcete přenést do nové základní třídy, a pomocí políčka ve sloupci Nastavit jako abstraktní zvolit, jestli chcete nastavit členy jako abstraktní.
Extrahovat základní třídu
Po výběru OK se zobrazí nově přidaná základní třída společně se svými členy.
V případě Visual Basicu vyberte Převést GetType na NameOf:
Převedení GetType na NameOf
Vyčištění kódu má nové možnosti konfigurace, které můžou použít předvolby formátování a hlaviček souborů nastavené v souboru EditorConfig v jednom souboru nebo v celém řešení.
Podpora formátování a hlaviček souborů při vyčištění kódu
K dispozici je oprava kódu pro odebrání klíčového slova in, kde by argument neměl být předán pomocí odkazu. Umístěte kurzor na chybu. Stisknutím Ctrl+. aktivujte nabídku Rychlé akce a refaktoring. Vyberte Odebrat klíčové slovo in.
Odebrání opravy kódu klíčového slova in
K dispozici je refaktoring, který zavádí nové kombinátory vzorů C#9. Společně s návrhy porovnávání vzorů, jako je například převod == na použití is tam, kde je to možné, tato oprava kódu také navrhuje kombinátory vzorů and, or a not při porovnávání více různých vzorů a negování. Umístěte kurzor do příkazu. Stisknutím Ctrl+. aktivujte nabídku Rychlé akce a refaktoring. Vyberte Použít porovnávání vzorů.
Uvedení kombinátorů vzorů C#9
K dispozici je oprava kódu, která při pokusu o zápis abstraktní metody do třídy, která není abstraktní, změní třídu na abstraktní. Umístěte kurzor na chybu metody. Stisknutím Ctrl+. aktivujte nabídku Rychlé akce a refaktoring. Vyberte Nastavit třídu jako abstraktní.
Nastavení třídy jako abstraktní
Do verze 16.7 Preview 1 jsme přidali dokončování IntelliSense v řetězcových literálech DateTime a TimeSpan. V této verzi se tento seznam pro doplňování automaticky zobrazí při zadání první uvozovky. V minulosti bylo k zobrazení tohoto seznamu pro doplňování nutné zadat (Ctrl+mezerník). Umístěte kurzor do řetězcového literálu DateTime nebo TimeSpan a napište první dvojitou uvozovku. Zobrazí se možnosti doplnění a vysvětlení významu každého znaku. Kromě toho uvidíte také formát data a času a příklad.
Doplňování technologie IntelliSense v řetězcových literálech DateTime a TimeSpan
Toto vylepšení funguje také pro interpolované řetězce při zadání dvojtečky.
K dispozici je oprava kódu pro odebrání nepotřebných potlačení pragma a nepotřebných SuppressMessageAttributes. Umístěte kurzor na upozornění pragma nebo SuppressMessageAttribute. Stisknutím Ctrl+. aktivujte nabídku Rychlé akce a refaktoring. Vyberte Odebrat nepotřebné potlačení.
Přejmenovat a Najít všechny odkazy teď rozumí odkazům na symboly v rámci cílového řetězce globálních potlačení SuppressMessageAttribute.
Rename SuppressMessageAttribute
Najít všechny odkazy pro SuppressMessageAttribute
Ve Visual Basicu bylo více způsobů předávání parametrů, ByVal a ByRef, a po dlouhou dobu byl ByVal volitelný. ByVal jsme vypustili jako nepotřebný a současně vydáváme opravu kódu k odebrání nepotřebných parametrů ByVal. Umístěte kurzor na klíčové slovo ByVal. Stisknutím Ctrl+. aktivujte nabídku Rychlé akce a refaktoring. Vyberte Klíčové slovo ByVal není potřebné a je možné ho odebrat.
Refaktoring odebrání ByVal ve Visual Basicu
K dispozici je podpora interaktivního okna pro více modulů runtime, například .NET Framework a .NET Core.
Podpora interaktivního okna v .NET Core
K dispozici je nové rozhraní API RegisterAdditionalFileAction, které autorům analyzátoru umožňuje vytvořit analyzátor pro další soubory.
Zalamování textu v podokně Podrobnosti testu v Průzkumníku testů
Tato často požadovaná funkce umožňuje uživateli nastavit zalamování textu nebo ponechat výchozí zarovnání řádků textu. Pokud zarovnání textu není nezbytné, může zalamování výrazně usnadnit prohlížení zpětné vazby z testovacího běhu a eliminovat potřebu vodorovného posuvníku. Tuto možnost můžete aktivovat v nabídce nastavení Průzkumníka testů nebo v místní nabídce podokna souhrnu.
Nabídka nastavení testu
Zalomení podrobností testu z místní nabídky po kliknutím pravým tlačítkem myši
Nástroje XAML (WPF, UPW a Xamarin.Forms)
Vylepšení diagnostiky chyb vazeb XAML
Vývojáři, kteří pracují na projektech WPF, UPW, WinUI a Xamarin.Forms, musí často detekovat a řešit chyby datové vazby XAML ve svých aplikacích. Za účelem vylepšení diagnostických nástrojů v tomto scénáři jsme do sady Visual Studio 2019 verze 16.8 nebo novější přidali dvě nová prostředí:
Ikona indikátoru chyb vazeb XAML: Na panelu nástrojů v aplikaci pro vývojáře WPF a UPW a v dynamickém vizuálním stromu pro všechny projekty XAML, včetně Xamarin.Forms, je teď nová ikona indikátoru chyb vazeb XAML. Pokud je zjištěna alespoň jedna chyba vazby, zobrazí tato ikona červený indikátor. Kliknutím na tuto ikonu také přejdete do nového okna chyb vazeb XAML.
Ikona chyby vazby (panel nástrojů v aplikaci)
Okno chyb vazeb XAML: Nové okno chyb vazeb XAML je teď k dispozici pro projekty WPF, UPW, WinUI a Xamarin.Forms. Toto nové vyhrazené prostředí poskytuje bohaté uživatelské rozhraní s informacemi o chybách vazeb, které byly dříve k dispozici jenom v okně Výstup. Mezi vylepšení patří možnost zobrazit chyby jako sadu sloupců, které je možné seřadit a přizpůsobit a které se dají plně prohledávat. Také jsme seskupili podobné chyby, což omezuje šum, který může nastat během určité kombinace chyb šablon datových vazeb, přičemž jsou stále k dispozici původní nezpracované informace o chybách, které se dají snadno kopírovat pomocí možnosti nabídky zobrazené po kliknutí pravým tlačítkem. (poznámka: vyžaduje Xamarin verze 4.5.0.266-pre3 nebo vyšší)
Přejděte na Zdroj pro selhání vazeb: Ve spolupráci s týmem WPF jsme umožnili přejít na zdroj chyb vazeb pro zákazníky, kteří cílí na WPF v .NET 5 (RC2 nebo novější).
Okno chyb vazeb XAML & ikona LVT
Opětovné načítání XAML za provozu
Režim Jen změny při opětovném načítání XAML za provozu v Xamarin.Forms teď podporuje UPW: – v této verzi začínáme zavádět podporu pro často požadovanou funkci, která umožňuje podporu nového režimu Jen změny při opětovném načítání XAML za provozu v projektech Xamarin.Forms při cílení na UPW. Upozorňujeme, že tato funkce je stále ve vývoji, takže zatímco při úpravách XAML se už budou aktivovat aktualizace v běžící aplikaci, nejsou některé další funkce, jako je například panel nástrojů v aplikaci (výběr prvků atd.), zatím plně implementované, ale budou k dispozici v budoucí verzi.
Opětovné načítání za provozu Nastavení XAML se přesunulo na Ladění > Opětovné načítání za provozu: V této verzi jsme konsolidovali nastavení Opětovné načítání za provozu XAML v rámci WPF, UPW a Xamarin.Forms do sjednocené obrazovky nastavení v části Ladění>. Opětovné načítání za provozu". Také jsme poprvé povolili možnost zakázat nebo povolit opětovné načítání XAML za provozu pro jednotlivé platformy, abyste měli plnou kontrolu nad tím, kdy je tato funkce dostupná. (Poznámka: Během této migrace nebudou změněna žádná nastavení, takže všechny vaše stávající volby budou platit i nadále přímo pod tímto novým umístěním).
Opětovné načítání XAML za provozu – konsolidované nastavení
Editor kódu XAML:
Podpora Technologie IntelliSense pro WinUI 3.0: V této verzi jsme vývojářům povolili lepší podporu Technologie IntelliSense pro vývojáře, kteří vytvářejí aplikace pomocí nové verze WinUI 3.0 Preview 3 nebo novější. Další informace o WinUI 3.0 najdete v dokumentaci , a pokud nám chcete napsat svůj názor, navštivte uložiště Windows UI XAML na GitHubu. Poznámka: Nejnovější verze WinUI 3.0 Preview se doporučuje ve verzi 16.9 Preview 1 pro aktualizované prostředí nástrojů.
Vylepšení podpory MVVM: Při vytváření dokumentu XAML můžete nastavit d:DataContext, abyste získali přesnou vazbu IntelliSense pro dokument XAML. Dříve bylo ruční zadávání typu kontextu dat těžkopádné. Museli jste opustit dokument XAML, najít požadovaný typ modelu zobrazení, zkopírovat a vložit jeho obor názvů a název do deklarace d:DataContext.
V této verzi představujeme novou funkci, která vám umožní rychle deklarovat d:DataContext prostřednictvím žárovky, která navrhuje možné kandidáty na model zobrazení.
XAML IntelliSense pro MVVM d:DataContext
Rozšiřitelnost
Sada nástrojů z neodkazovaných balíčků NuGet: V této verzi jsme přidali podporu pro soubory specifické VisualStudioToolsManifest.xml pro TargetFrameworkMoniker při naplnění sady nástrojů ovládacími prvky z nereferencovaných balíčků NuGet. Váš balíček by například mohl vystavit různé sady ovládacích prvků pro projekty .NET Core 3.1 a .NET 5.0.
Rádi uslyšíme váš názor! O problémech nás můžete informovat prostřednictvím možnosti Nahlásit problém v pravém horním rohu instalačního programu nebo v samotném integrovaném vývojovém prostředí sady Visual Studio. Ikona se nachází v pravém horním rohu.
Na stránce komunity vývojářů sady Visual Studio můžete posílat návrhy k produktu a sledovat svoje nahlášené problémy. Můžete tu pokládat otázky, hledat odpovědi a navrhovat nové funkce.
Naše podpora na živém chatu vám navíc poskytne bezplatnou pomoc s instalací.
Blogy
Využijte přehledů a doporučení, které najdete na webu Blogy o vývojářských nástrojích, abyste si udržovali přehled o všech nových vydaných verzích a měli k dispozici podrobné příspěvky popisující širokou škálu funkcí.