Microsoft släpper Visual Studio 2022 med flera nya förbättringar

Lästid ikon 12 min. läsa


Läsare hjälper till att stödja MSpoweruser. Vi kan få en provision om du köper via våra länkar. Verktygstipsikon

Läs vår informationssida för att ta reda på hur du kan hjälpa MSPoweruser upprätthålla redaktionen Läs mer

Förhandsvisning av Microsoft Visual Studio 2022

Förhandsvisning av Microsoft Visual Studio 2022

Microsoft tillkännagav idag den allmänna tillgängligheten av Visual Studio 2022. Denna GA-version av Visual Studio 2022 kommer med en live-licens, för produktionsanvändning.

Nyckelfunktioner i Visual Studio 2022:

64-bitars

  • devenv.exe är nu endast 64-bitars

Azure Cloud Services

  • Azure Cloud Service (klassisk) och Azure Cloud Service (utökat support)-projekt stöds nu.

C + +

  • Byggverktygen för v143 är nu tillgängliga via installationsprogrammet för Visual Studio samt fristående byggverktyg.
  • Den nya Hot Reload-upplevelsen är nu tillgänglig för inbyggda C++-applikationer när de körs under debuggern. Den stöder både MSBuild- och CMake-projekt. För mer information se vår Hot Reload sektion nedan.
  • Du kan nu bygga och felsöka inbyggt på WSL2 utan att upprätta en SSH-anslutning. Både plattformsoberoende CMake-projekt och MSBuild-baserade Linux-projekt stöds.
  • Visual Studio stöder nu buildPresets.targets alternativet i CMakePresets.json. Detta låter dig bygga en delmängd av mål i ditt CMake-projekt.
  • Projektmenyn i CMake-projekt har effektiviserats och visar alternativen "Ta bort cache och konfigurera om" och "Visa cache".
  • CMake-översiktssidor har uppdaterats för att stödja CMakePresets.json.
  • Genomförda /scanDependencies flagga för att mata ut C++20-modulberoenden för CMake-projekt enligt beskrivningen i P1689r3. Detta är ett steg mot stöd för att bygga modulbaserade projekt med CMake och vi arbetar med att slutföra detta stöd i senare utgåvor.
  • Du kan nu felsöka processer som körs på ett fjärrsystem från Visual Studio med LLDB.
  • Vi har uppgraderat versionen av CMake som levereras med Visual Studio till version 3.21. Se CMake 3.21 release notes för detaljer om vad som finns tillgängligt.
  • LLVM-verktyg som levereras med Visual Studio har uppgraderats till LLVM 12. Se LLVM release notes för mer information.
  • MSVC-verktygsuppsättningen har nu som standard SHA-256 källhashning i felsökningsposter. Tidigare använde verktygsuppsättningen MD5 för källhashning som standard.
  • Spelutvecklingen med C++-arbetsbelastning installerar nu den senaste Unreal Engine med stöd för Visual Studio 2022.
  • Gjorde förbättringar i C++ IntelliSense när de tillhandahåller navigering och syntaxmarkering för typer från importerade moduler och header-enheter.
  • Förbättrad C++ IntelliSense-prestanda genom att optimera cachad rubrikanvändning och symboldatabasåtkomst, vilket ger förbättrade laddningstider för att komma in i din kod.
  • IntelliSense Code Linter för C++ är nu på som standard och ger omedelbara förslag medan du skriver och fixar förslag på vanliga koddefekter.
  • Stöd för libfuzzer under switchen -fsanitize=fuzzer. Se dokumentationen för mer detaljer.
  • Vi har förbättrat detektering av nollpekare i vårt kodanalysverktyg.
  • Kodanalys upprätthåller nu att returnera värden för funktioner som är annoterade med _Check_return_ or _Must_inspect_result_ måste kontrolleras.
  • Lagt till stöd för gsl::not_null till kodanalys.
  • Uppdaterad till NDK r21 LTS i C++ Mobile Development arbetsbelastning.
  • C++ AMP-huvuden är nu utfasade. Inklusive i ett C++-projekt genererar byggfel. För att tysta felen, definiera _SILENCE_AMP_DEPRECATION_WARNINGS. Snälla se våra AMP-utfasningslänkar för mer detaljer.

Felsökning och diagnostik

  • Bifoga förbättringar till processdialog
  • Undantag hjälpare förbättringar
  • Tvinga kör för att klicka
  • Diagnostisk analys av minnesdump
  • Vi har släppt en ny typ av brytpunkt som heter Dependent Breakpoint, som låter dig konfigurera en brytpunkt så att den bara aktiveras om en annan brytpunkt först träffas.
  • Vi har lagt till fler uppdateringar till noden för externa källor , du kan nu se modulen under undernoden "Moduler utan källor" och ladda symbolerna från själva lösningsutforskaren.
  • Breakpoint Gutter förbättringar
  • Tillfällig brytpunkt
  • Dra och släpp brytpunkt
  • Externa källnod i Solution Explorer
  • Bifoga förbättringar till processdialog

personalisering

  • Lade till färgflikar för vertikala och horisontella flikar
  • Lade till Theme Pack och arbetade med VS Code-temaförfattare för att lansera samling anpassade teman
  • Byggd Temakonverterare att konvertera VS Code-teman för att fungera i Visual Studio 2022
  • Tillagd möjlighet att synkronisera Visual Studio-tema med Windows-tema
  • Lade till nya dokumenthanteringsfunktioner inklusive anpassning av flikbredd, fetstilt aktivt dokument och ytterligare stängningsknapp i docwell.

redaktör

  • Lade till underordsnavigering
  • Autospara är nu tillgängligt som en förhandsgranskningsfunktion
  • Erfarenhet av att kopiera/klistra in flera rader

Sträckbarhet

  • Tog bort API:er från Microsoft.VisualStudio.Language.Client-sammansättningar
  • VS SDK innehåller flera brytande ändringar och Visual Studio 2019-tillägg kommer inte att fungera under 2022. Se VSSDK dokumentation för mer information.
  • VS SDK-referensenheter är inte längre installerade på VSSDK\VisualStudioIntegration\Common\Assemblies mapp. Om din konstruktion förlitade sig på dessa sammansättningar, migrera ditt projekt för att använda NuGet-paket istället. För offlinescenarier:
    1. Behåll ett in-org nuget-flöde från vilket du kan återställa nuget-paketen.
    2. Kontrollera i binärerna.
  • Lade till ILanguageClient-brytande ändringsfixar

moln~~POS=TRUNC

  • Azurite kommer att användas för lokal emulering av Azure Storage istället för den äldre och inte längre aktivt utvecklade Azure Storage Emulator.

Git Tooling

Hjälpmeny

  • Under 17.0 har vi gjort om hjälpmenyn med Kom igång-material och användbara tips/tricks.
  • Ger mer samarbete med vårt utvecklingsteam genom att lägga till saker som tillgång till Developer Community, Release Notes, Visual Studio-produkten Roadmap och våra sidor för sociala medier.

Hot Reload Experience

  • Hot Reload är nu tillgängligt för .NET-utvecklare via Visual Studio-debuggern och utan debugger för många .NET 6-applikationstyper
  • Hot Reload är nu tillgängligt för C++-utvecklare när de använder Visual Studio Debugger

För mer information se länken ovan

IntelliCode

JavaScript / TypeScript

  • Vi har släppt en ny JavaScript/TypeScript-projekttyp som bygger fristående JavaScript/TypeScript-projekt med ytterligare verktyg. Du kommer att kunna skapa Angular och React-projekt i Visual Studio med hjälp av ramversionen installerad på din dator.
  • JavaScript- och TypeScript-testning är nu tillgänglig i Visual Studio Test Explorer
  • NPM GUI tillgängligt, så du kan nu ladda ner NPM-moduler på samma sätt som du laddar ner Nuget-paket

.NET 6 SDK

  • .NET 6 SDK ingår i Visual Studio 2022

.NET-produktivitet

  • Introducera parameter refactoring kan flytta en ny parameter från metodimplementeringen till dess anropare.
  • Spåra värdekälla för dataflödesanalys
  • Möjlighet att understryka variabler som omtilldelas
  • Lade till sökalternativ i dialogrutan Generera åsidosättningar
  • Snabbinformation för XML tags now preserve whitespace and CDATA blocks
  • Fönstret Hitta alla referenser kommer nu att gruppera projekt med flera mål
  • Refaktorering för att ta bort repetitiva typer i Visual Basic
  • Gå till implementering kommer inte längre att navigera till medlemmar med abstrakta deklarationer som också åsidosätts.
  • Synkronisera namnområden för att matcha din mappstruktur från Solution Explorer
  • Konfigurera bakgrundskodanalys från Solution Explorer
  • Nullbara referenstyper är nu aktiverade som standard för nya .NET-projekt
  • C# 10.0 Filomfattande namnområdesrefaktorering
  • Navigera till dekompilerade källor är nu på som standard
  • Refaktorering för att föredra nollkontroll framför typkontroll
  • XML-kommentarer kommer nu automatiskt att generera en <exception> taggen när en metod uttryckligen ger undantag
  • Arvsmarginal är nu aktiverad som standard

Programmeringsspråk

  • C # 10

Razor (ASP.NET Core) Editor

  • Minskad gränssnittsfrysning och förbättrad prestanda vid lösningsstart
  • Snabbare semantisk färgläggning upp till 2x i vissa lösningar
  • F7 (visa kod) stöd i Razor-filer
  • Utdragsstöd i rakbladsfiler som kommer att slutföra en utdragssession med en enda flik istället för att trycka på tab-tab
  • Bättre formatering i @code-block när det finns kapslade HTML- och Razor-komponenter
  • Hot Reload-stöd i Razor-filer
  • Prestandaförbättring
  • Förbättringar av formatering och indrag
  • Nya Razor editor färger
  • TagHelpers är nu färgade och har snabb informationsklassificeringsstöd och kompletteringsverktygstips
  • Markering av vinkelstag och navigering för Razor-konstruktioner
  • Kommentarer har nu automatiskt komplettering, smart indrag, automatisk inkludering av kommentarsfortsättningar och blockera kommentarsnavigering

Fjärrtestning

  • Mycket tidig experimentell förhandsgranskning av att möjliggöra körning av tester i fjärrmiljöer som linux-behållare, WSL och över SSH-anslutningar.

Support för testverktyg

  • Visa i Test Explorer
  • Nya versioner av testplattformen som börjar med 17.0 kommer inte att kunna köra generiska tester och beställda tester. Dessa specifika funktioner levereras endast som en del av en tidig version av MSTestv1 och ingår inte i MSTestv2. Vi ser mycket låg användning av dessa funktioner och beställda tester anses nu strida mot bästa testpraxis.
  • Vissa testupplevelser kommer inte att vara tillgängliga i 17.0, inklusive att skapa nya TestSettings-filer och TestSettings-redigeraren. Testkörningar kommer fortfarande att kunna använda TestSettings-filer, men TestSettings ersattes med RunSettings och vi uppmuntrar användare att migrera förbättrad prestanda och funktionalitet. Läs mer.
  • Stöduppdateringar för webbbelastningstest och kodat UI-test. Kodade UI -tester och [Web Load Tests](molnbaserad belastningstesttjänst slut på livet | Azure DevOps Blog (microsoft.com) fasades officiellt ut 2019. För att minimera påverkan på användarna finns det minsta stöd för dessa funktioner i Visual Studio 2022. Vi starkt uppmuntra användare att gå av med kodat UI-test och webbbelastningstest.

Verktygslådan för UWP Extension SDK:er

  • UWP Extension SDK:er måste nu uttryckligen deklarera de typer som de vill ska visas i verktygslådan genom att lista dem i deras SdkManifest.xml-fil. Beteendet hos äldre versioner av Visual Studio är oförändrat; de kommer att ignorera listan med kontroller i manifestet och istället dynamiskt räkna upp kontrolltyperna i SDK:ns sammansättningar.

Tillförlitliga platser

  • Vi har förnyat funktionen "Trust Settings" och kan nu visa en varning när otillförlitlig kod (t.ex. filer, projekt eller mappar) är på väg att öppnas inuti IDE.
  • Förtroendekontroller görs nu på lösningsmappnivå
  • Användarskapade projekt läggs automatiskt till på den betrodda listan
  • Användare kan hoppa över förtroendekontroller på tillfälliga platser skapade av Visual Studio

Uppdateringar, LTSC:er och distribution

  • Med Visual Studio 2022 kommer det att finnas flera servicebaslinjer som stöds samtidigt som släpps under hösten och våren. För mer information, se Visual Studio Release Rhythm-dokumentation och Visual Studio 2022 produktlivscykel.
  • Det nya installationsprogrammet som följer med Visual Studio 2022 har nu möjlighet att konfigurera var Visual Studio-produkten ska få sina uppdateringar ifrån. Detta gör att du kan välja uppdateringar från en annan LTSC, eller, om du är i en hanterad företagsmiljö, kan du konfigurera klienten att hämta sina uppdateringar från en layout. Möjligheten att konfigurera källan för uppdateringar är ny funktionalitet som följer med Visual Studio Installer, och därför är beteendet tillämpligt på nednivåversioner av Visual Studio också, såsom Visual Studio 2019. För ytterligare information om att konfigurera uppdateringskanalen, se de Uppdatera Visual Studio dokumentation. För ytterligare information om hur du får detta att fungera för nätverkslayouter, se Visual Studio Administratörsguide.
  • IT-administratörer kan nu rapportera problem utan att ha Visual Studio installerat.

Användargränssnitt

  • Standardikonerna har uppdaterats och uppdaterats.

Webbverktyg

  • Sidan Publicera sammanfattning har nu åtgärder för att starta/stoppa fjärrfelsökning och profilering under "..."-menyn i det övre högra hörnet av "Hosting"-sektionen
  • Sidan Anslutna tjänster har nu en åtgärd för att starta Storage Explorer
  • Mallen "ASP.NET Core Empty" som följer med .NET 6 använder den nya "minimala API:er" paradigm som vi har börjat lägga till stöd för
  • Azurite kommer att användas för lokal emulering av Azure Storage istället för den äldre och inte längre aktivt utvecklade Azure Storage Emulator.
  • Du kan lägga till autentisering till din ASP.NET Core-applikation med Microsofts identitetsplattform genom Connected Services-upplevelsen i Visual Studio.

WPF XAML Designer för .NET Framework

  • Den nuvarande WPF XAML Designer för .NET Framework ersätts med en ny WPF XAML Designer för .NET Framework, baserad på samma arkitektur som används för WPF XAML Designer for .NET (.NET Core). Visual Studio-upplevelsen kommer att se likadan ut, men kontrollleverantörer från tredje part måste stödja den nya utbyggnadsmodellen sedan den tidigare modellen baserad på .design.dll och Microsoft.Windows.Design.Extensibility är utfasad. Om du redan har skapat en .designtools.dll tillägg för .NET (.NET Core), samma tillägg kommer att fungera för den nya WPF XAML Designer för .NET Framework. Vänligen se migrationsdokument nedan för ytterligare information om hur du migrerar till den nya utbyggnadsmodellen.

XAML Hot Reload

  • XAML Hot Reload Changes – Mindre ändringar av verktygsfältet och inställningarna i appen

XAML Live Preview

  • XAML Live Preview är nu tillgängligt för WPF-, UWP-, WinUI- och Xamarin.Forms-utvecklare som kör sina appar i antingen Android Emulator eller som en UWP-skrivbordsapp. Live Preview fångar ett användargränssnitt för ett program som körs och tar det in i ett dockat fönster i Visual Studio. Detta gör det enklare att använda XAML Hot Reload för att ändra appen samtidigt som du ser dessa ändringar i Visual Studio själv, utan att behöva gå fram och tillbaka mellan den körande appen och Visual Studio medan du gör live XAML-kodändringar.

För mer information klicka på länken ovan.

XAML-exempeldata

  • Design-Time Sample Data kommer nu att läggas till som standard när DataGrid, ListBox och ListView-kontroller skapas från verktygslådan i WPF-applikationer. För att inaktivera detta beteende, avmarkera "Lägg till exempeldata automatiskt när element skapas" under Verktyg -> Alternativ -> XAML Designer."
  • För att lära dig mer om exempeldata, besök Exempel på datadokumentation.

Förbättrad XAML-bindningsupplevelse

  • Vi har gjort en mängd förbättringar för att göra databindning snabb och enkel, till exempel snabb åtkomst till dialogrutan Databindning från Property Inspector, möjlighet att ställa in bindning från Quick Actions, möjlighet att välja egenskapen att binda till i databindningsdialogrutan .

För mer information klicka på länken ovan.

Källa: Microsoft

Mer om ämnena: microsoft, Visual Studio 2022