Visual Studio Insiders utgivningsanteckningar

Vi är glada över att kunna meddela tillgängligheten för uppdateringen Visual Studio april 2026. Den här versionen markerar början på en ny era för Visual Studio med djup plattformsintegrering av AI, starkare grunder och bättre prestanda.

Ladda ned Visual Studio 2026 Insiders för att njuta av dessa nya funktioner och förbättringar.

Version 11723.189

Släpptes den 28 april 2026

De vanligaste felkorrigeringarna Från gemenskapen
Fel vid användning av Add-Migration i nuget-konsolen i Visual Studio Insiders feedbackbegäran
kända problem
TypeScript 7 (intern förhandsversion)

TypeScript 7 ger betydande prestandaförbättringar i Visual Studio och vi fortsätter att förfina experience.

Det här arbetar vi aktivt med:

IntelliSense. Du kanske märker att slutföranden inte visas i vissa fall. I .cshtml filer kanske typescript-slutförandelistan inte visas i en <script> tagg. När du godkänner ett slutförande för det sista argumentet i en funktion kan den avslutande parentesen tas bort. Om du trycker på Ctrl+Blanksteg kan du kringgå detta. Kodåtgärder och refaktorisering. Snabbkorrigeringar (Ctrl+.) är inte tillgängliga ännu. Endast Copilot AI-baserade förslag kan visas. Kommandot Ordna importer (Ctrl+R, Ctrl+G) är inte heller tillgängligt. Navigering och sökning. Listrutorna i navigeringsfältet överst i redigeraren visar inte dokumentsymboler. Sök efter alla referenser (Skift+F12) visar en platt lista utan semantisk gruppering (läs/skriv/deklaration) och referenser mellan filer kan vara ofullständiga. Kodsökresultat kan visa felaktiga rubriker och beskrivningar. CodeLens. Referensantal (t.ex. "19 referenser") visas inte ovanför gränssnitts- och klassdeklarationer. Verktygstips vid hovring. Verktygstipsen saknar symbolikonen och har en annan textfärg jämfört med den tidigare språktjänsten. Utdrag. Infoga kodfragment (Ctrl+K, Ctrl+X) fungerar inte i JavaScript-filer. Jsdoc. När du /** skriver ovanför en funktion med parametrar genereras inte JSDoc-mallen automatiskt med @param element. Formatering. Avmarkera "Format på öppna block {" i Verktyg > Alternativ > Textredigeraren > JavaScript/TypeScript > Formatering träder inte i kraft. Uppgiftslista. Om en TypeScript-fil innehåller både en TODO-kommentar och en variabel med namnet "TODO" kan aktivitetslistan visa duplicerade aktiviteter felaktigt. Fil- och mappbyte. Om du byter namn på en fil eller mapp i ett TypeScript-projekt uppdateras inte importsökvägarna i andra filer konsekvent. Filövervakning. När filer ändras utanför Visual Studio identifieras inte ändringarna förrän filen öppnas och ändras i IDE:t. Fel från externa redigeringar visas inte i fellistan.

Vi uppskattar din feedback när vi arbetar mot full paritet. Rapportera eventuella problem via Hjälp > Skicka feedback i Visual Studio.

Version 11716.218

Släpptes den 21 april 2026

De vanligaste felkorrigeringarna Från gemenskapen
F# Tom strängmatchning i kodofferter orsakar FS0452 feedbackbegäran
Github-Copilot för Azure-tillägget Frågeverktyget Azure Resource Graph misslyckas feedbackbegäran

Features

Släpptes den 14 april 2026.

IDE

System mörka/ljusa teman 📣

Automatiskt växla Visual Studio teman när systemet flyttas mellan ljust och mörkt läge och hålla din IDE synkroniserad med din miljö.

Du kanske föredrar ett lättare tema med högre kontrast under dagen och ett mörkare tema på natten. Visual Studio växlar nu automatiskt mellan dina valda ljusa och mörka teman när systeminställningen ändras, vilket håller din IDE synkroniserad med din miljö.

Så här använder du den

  1. Öppna verktyg → alternativ → miljö → visuell upplevelse
  2. Ange Färgtema till Använd systeminställning
  3. Välj ett System Light-tema och ett System Dark-tema

Visual Studio tillämpar motsvarande tema automatiskt när ditt Windows tema ändras.

Visual Studio automatiskt växla mellan ljusa och mörka teman när systemtemat ändras

📣 Se funktionärende för att dela din feedback och fortsätta diskussionen.

GitHub Copilot

Visa och hantera agentkunskaper

Bläddra, redigera och hitta alla dina Copilot Agent-färdigheter från chattfönstret.

Nu kan du visa alla dina agentkunskaper på ett och samma ställe. Genom att klicka på verktygsikonen i det nedre högra hörnet av chattfönstret kan du öppna en dedikerad kompetenspanel som visar alla kunskaper som identifieras från arbetsytan och användarprofilen, vilket gör det enkelt att snabbt se vad som är tillgängligt.

Från panelen kan du hantera färdigheter direkt utan att lämna Visual Studio:

  • Redigera en färdighet – klicka på trepunktsmenyn (⋯) på valfri färdighet för att öppna och redigera den direkt i VS.
  • Öppna filplatsen – använd samma meny för att göra ett hopp direkt till färdighetsfilen på disken.
  • Sök efter en färdighet – använd sökfältet högst upp för att snabbt hitta en specifik färdighet efter namn eller nyckelord.

Kompetenspanelen i chattfönstret som visar tillgängliga kunskaper med hanteringsalternativ

Detta bygger på supporten för agentkunskaper som introducerades tidigare, vilket ger dig ett mer användarvänligt sätt att bläddra bland och underhålla dina kunskaper. Prova och dela med dig av din feedback!

Flerfilers sammanfattningsdiff för Copilot-ändringar

Visa ändringar i Copilot i en enda sammanfattningsvy för flera filer med detaljerade acceptera- och ångraakontroller.

När Copilot redigerar flera filer behöver du inte granska var och en separat längre. Den nya sammanfattningsvyn för flera filer visar alla ändringar på ett och samma ställe.

Klicka på knappen Öppna ändringar sammanfattning i Copilot Chat arbetsuppsättning när Copilot har slutfört redigeringen. Du ser en enda flik med alla ändrade filer och deras diff tillsammans.

Skärmbild som visar knappen Sammanfattning av öppna ändringar i Copilot Chat arbetsuppsättning

Du kan acceptera eller ångra ändringar på olika nivåer:

  • Genom alla filer samtidigt
  • På basis av varje fil
  • Per enskilt diff-segment

Du kan också öppna valfri fil separat för att se dess fullständiga kontext.

Skärmbild av sammanfattningsvy för flera filer som visar inline-ändringar och kontroller för att godkänna eller ångra

Använd kontrollerna i det övre vänstra hörnet för att:

  • Dölj allt filinnehåll om du bara vill se filhuvuden för en snabb översikt
  • Navigera mellan olika segment med hjälp av nästa och föregående knappar för att snabbt gå igenom ändringar

Den här vyn gör det enklare att förstå vad Copilot ändrat i kodbasen och ger dig exakt kontroll över vilka redigeringar som ska behållas.

Kontextfönsterindikator

Se hur mycket kontext Copilot använder och optimera det med en sammanfattning med ett klick.

När du chattar med Copilot spårar den din konversationshistorik, bifogade filer och andra kontexter för att ge dig relevanta svar. Detta kallas för kontextfönstret och har en gräns. När den har fyllts kan Copilot förlora kontrollen över tidigare delar av konversationen.

Nu kan du se exakt hur mycket av kontextfönstret du har använt med den nya indikatorn för kontextfönster.

Leta efter ringikonen i det övre högra hörnet i rutan Copilot Chat prompt. Det här mini-ringdiagrammet fylls när konversationen växer, vilket visar hur mycket kontext du har förbrukat.

Klicka på indikatorn för att se:

  • Exakt procentandel av kontexten som används
  • Detaljerad beskrivning av vad som bidrar till kontexten
  • Sammanfatta konversationsknappen för att komprimera konversationen och frigöra utrymme

Indikator för kontextfönster med procentring som visar 45% användning och en uppdelning med konversationsmeddelanden, arbetsytefiler och andra källor

När kontexten börjar ta slut klickar du på Sammanfatta för att komprimera tidigare delar av konversationen. På så sätt kan du fortsätta chatta utan att förlora viktig kontext eller starta en ny konversation.

Indikator för kontextfönster efter sammanfattning, som visar minskad användning och ett meddelande om att konversationen sammanfattades

Planera innan du skapar med planeringsläge

Skapa och iterera om implementeringsplaner innan du gör några kodändringar.

Ibland vill du tänka igenom en metod innan du dyker in i kod. Med det nya chattläget Planning kan du samarbeta med Copilot på en implementeringsplan utan att göra några ändringar i din kodbas.

Så här fungerar det

Planläge valt

När du väljer läget Planning följer Copilot en tvåstegsprocess:

  1. Utforska och klargör – Copilot använder skrivskyddade verktyg för att förstå din kodbas och ställa frågor för att klargöra. För enkla uppgifter skapar den en plan omedelbart.
  2. Utkast och förfining – Copilot skapar en noggrann implementeringsplan som ni kan granska, diskutera och förfina tillsammans.

Planeringsläge för att skapa en implementeringsplan

När du är klar klickar du på Implementera plan för att lämna över den till agentläge för körning.

Implementering av agentläge för pågående plan

Planer sparas som markdown

Copilot sparar varje plan som en markdown-fil på lagringsplatsen på .copilot/plans/plan-{title}.md. Den här filen är den enda sanningskällan. Du kan redigera den direkt i redigeringsprogrammet eller förfina den via chatt. Copilot identifierar dina ändringar och håller planen synkroniserad.

När du ska använda planeringsläge
  • Stora funktioner – Dela upp komplext arbete i tydliga steg innan du skriver kod.
  • Unfamiliar codebases – Låt Copilot utforska och förklara innan du föreslår ändringar.
  • Teamsamarbete – Dela planer som markdown-filer för granskning före implementering

Git-verktyg

Sammanfattningsdiff för flera filer📣

Visa filändringar i ett enhetligt diff för snabb förståelse.

Sammanfattningsdiff för flera filer visar alla ändrade rader från flera filer i en enhetlig vy, så att du snabbt kan förstå omfånget för en inchecknings- eller pull-begäran utan att hoppa mellan filer.

Enhetlig vy som visar ändrade rader från flera filer i en enda panel

Du ser sammanfattningsknappen Öppna ändringar på flera platser:

  • Git-ändringar
  • Incheckningsinformation i Git → Visa grenhistorik
  • Pull-begäranden i fönstret Visa → Git-lagringsplats

Listan över pull-begäranden är för närvarande endast tillgänglig i Visual Studio Insiders med förhandsgranskningsfunktionen View pull-begäranden för en Git-lagringsplats.

Knappen Öppna sammanfattning av ändringar markerad i verktygsfältet Git-ändringar

📣 Se funktionärende för att dela din feedback och fortsätta diskussionen.

Lägg till commit i Copilot Chat

Fäst commitkontext till Copilot Chat direkt från IDE:n.

Granska en commit och vill ha Copilots hjälp med att förstå den, identifiera problem eller göra nya ändringar baserade på den? I stället för att jaga commit-ID:t och klistra in det i chatt kan du nu högerklicka på en commit och lägga till den direkt i kontext i Copilot Chat.

Du hittar det här kommandot på följande ytor:

  • Git-historik (Git Visa grenens historik>)
  • File History (Högerklicka på en fil i Prieskumník riešení och Git > View History)
  • Annotera (Blame) (Högerklicka i redigeraren och sedan Git > Annotera (Blame))

Du kan också markera flera commit för att koppla flera till chatten samtidigt.

Lägg till incheckning till Copilot Chat

Copilot tar emot commit som kontext, så du kan fråga saker som förklara den här ändringen, medför detta några problem eller skriv en liknande ändring för den andra filen.

Copilot Chat med incheckningskontext

Anvisningar för commit-meddelanden har flyttats

Anpassade commit-meddelandeinstruktioner använder nu instruktionsfilen för Copilot i stället för inställningen i Visual Studio.

Om du har använt anpassade instruktioner för commit-meddelandet textinmatning under inställningen GitHub → Copilot → Source Control Integration för att skräddarsy Copilot-genererade commit-meddelanden, kommer den inställningen inte längre att gälla. Framöver hanteras instruktioner för commit-meddelanden via anpassade instruktioner i Copilot-filen.

Detta får commit-meddelanden att stämma överens med hur Copilots andra anpassade instruktioner fungerar i hela ditt arkiv, och håller allt på ett ställe.

Konfigurera anpassade instruktioner

Lägg till åtagandemeddelandets instruktioner i Copilot-instruktionsfilen för arkivet. Fullständig installationsinformation finns i Lägga till instruktioner för lagringsplats.

Copilot-instruktionsfil med regler för meddelanden vid incheckning

Review-kod med Git-agenten i Copilot Chat

Starta en kodgranskning från Copilot Chat och se resultatet i Visual Studio review experience.

Nu kan du granska koden via agenten Git i Copilot Chat. Växla till Git-agenten och be den granska dina ändringar.

Copilot Chat visar Git-agenten med alternativet Granska ändringar markerat

Agenten analyserar dina ogenomförda ändringar med hjälp av GitHub Copilot Kodgranskning och visar infogade kommentarer i redigeraren och vyn Git Changes. Du kan sedan fortsätta konversationen i chatten för att diskutera resultat, be om förklaringar eller gå igenom föreslagna redigeringar.

Redigeraren visar en inlinje kodgranskningskommentar från Git-agenten

Mer information om kodgranskningsupplevelsen finns i Granska lokala ändringar med Copilot Chat.

C++

MSVC Build Tools v14.51

Förbättrat C++23-stöd, prestanda och många felkorrigeringar.

Microsoft C++ (MSVC) Build Tools version 14.51 är nu tillgänglig och installeras som standard med skrivbords- och spelarbetsbelastningarna C++ . Kontrollera om den är installerad genom att kontrollera att en eller båda komponenterna är incheckade i installationsprogrammet:

  1. MSVC Build Tools för x64/x86 (senaste)
  2. MSVC Build Tools för ARM64/ARM64EC (nyaste)

Du kan också välja en av de komponenter som är märkta med versionsnumret v14.51 för att fästa installationen på den här versionen. Screenshot som visar Visual Studio installationskomponenter för MSVC v14.51

Versionsnumret som skrivs ut av cl.exe och link.exe är minst 14.51.36231.

Den stabila versionen av v14.51 får 9 månaders servicekorrigeringar, enligt beskrivningen i Ny lanseringstakt och supportlivscykel för Microsoft C++ Build Tools.

Se nedan för en fullständig lista över nyheter.

C++-standardefterlevnad

Klientdelsteamet fortsatte att implementera C++23- och C++20-funktioner och åtgärda efterlevnadsproblem:

  • C++23-implementeringar: Mer information finns i blogginlägget C++23 Support i MSVC Build Tools 14.51 .
  • Consteval-förbättringar: Flera korrigeringar för consteval funktionshantering, constexprnew/deletei moduler, initialiserarlistans säkerhetskopieringsmatriser, /experimental:constevalVfuncVtable beteende som nu är aktiverat som standard och bättre feldiagnostik för misslyckade konstanta uttryck.
  • Coroutine-förbättringar: Coroutine-relaterade globala refaktoriseringar och utfasning av experimentella coroutine-huvudfiler.
  • Parsningsmodernisering: Rekursiv descentparser hanterar nu [[attributes]], med fortsatta förbättringar av felhantering och borttagning av äldre tokenhanterare.
  • C-språkförbättringar: Stöd för kvalificerare har lagts till _Atomic , felaktig diagnostik har tagits bort för medlemmar i den flexibla C99-matrisen och stöd för funktionstyper har lagts till __typeof__ .

Kodgenerering

Backend-optimeraren fick betydande investeringar inom många områden:

  • Exempelbaserade profilstyrda optimeringar: Stöd för exempelbaserade profilstyrda optimeringar med stödverktyg. Mer information att följa i ett framtida blogginlägg.
  • Förbättringar av SSA-optimering (Static Single-Assignment): Implementerade dussintals nya algebraiska förenklingsmönster, inklusive ternary-operatormönster, aritmetiska mönster och min/max.
  • Common Subexpression Elimination (CSE): Förbättra CSE-laddningarna via if/else-villkor, redundanta lagringar och har förbättrat flerbytealias-kontroller.
  • Skalär ersättning av aggregeringar (SROA): Mer aggressiv uppackning av strukturer.
  • Loopoptimeringar: Korrigeringar av LFTR-teckentyper (Linear Function Test Replace) och optimeringar av räknarslingor när den primära induktionen används efter slingan.
  • Inlining: Utökad begränsad inlining av anropsställen och förbättrad spridning av parametertypsinformation under inlining.
  • Kopieringsspridning: Flera förbättringar av kopieringsspridning för heltalskonstanter och sekventiella kopior.
  • Styrkareduktion: Implementerade konverteringsminskning som en optimeringsmetod för styrkareduktion.
  • Predikat- och hopptrådning: Förbättringar av predikatbaserade optimeringar för att eliminera gränskontroller, inklusive bättre användning av predikat från minimönster.
  • Stacklayout: Kompilatorn föredrar nu att pusha callee-sparade register till stacken istället för att använda skuggfack, vilket minskar omkostnaderna för funktionsprologer/epiloger.
  • PGO: Förbättrade kompromisser mellan funktionsstorlek och hastighet för att mildra icke-representativa profiler samt förbättringar av PGO-trimning.
  • Begränsa pekare: Stöd har lagts till för att begränsa pekarsemantik för att aktivera ytterligare aliasoptimeringar.
  • Mönstermatchningsoptimeringar: Nya mönster för MSUB/MADD generering, ADC/SBB för villkorsstyrd add/subtraktion och CMOVE/NE varianter.
  • Intel APX: Förhandsversionsstöd för Intel APX (Advanced Performance Extensions) i MSVC-verktygskedjan. Mer information kommer snart.

ARM64 och SVE

  • Stöd för SVE (skalbart vektortillägg): Viktig ny funktion som ger ARM SVE till MSVC, inklusive främre typstöd för SVE-skalär och aggregerade typer, intrinsisk sänkning, callee-sparat registeravlindning, överföring av variadiska funktionsparametrar, installation av headerfiler och tryblock/funclet-stöd. Flera ICE- och felkompileringskorrigeringar åtgärdades.
  • Krympslagning: Flera problem har åtgärdats, inklusive fragmentinformation med endast epilog, kodgenereringsfel med chkstk som dödar X15 och krympslagsområden med flera inmatningar.
  • Kodkvalitet: Nya mönster för CSEL pow2, 0 + ORR → CSET + ORR_SHIFT, optimerad NEON_DUPR, borttagen redundant NEON_INSR efter NEON_DUPR, ARM NEON-mönster för x264, förbättringar av instruktionsfusion, omtypning av register efter globregs och justering av funktionsinpassning.
  • DIA SDK: Fullständigt SVE-stöd i felsökningsgränssnittet, inklusive RtlpGetSveContextPointers och IDiaStackWalkHelper3.

SIMD och vektorisering

  • SLP Vectorizer: Förbättringar av SLP-vektorisering (Superword Level Parallelism):
    • Vektorisering av skalära reduktioner
    • Stöd för allmänna och överdimensionerade vektorinstruktioner
    • Permute-optimeringar och överdimensionerat stöd för val
  • Förbättringar av vektoriserare: Lyftning av vektoriserade inre looppekare, kontroll av överlappande pekare till överordnade loopar, stöd för loopar med teckenräkning, stöd för icke-sammanhängande minnesåtkomst för datatyper med 2 byte och förbättrad heuristik för låg itereringsräkning på ARM64.
  • AVX/SSE: AVX512 memcpy/memset, AVX2-åsidosättning memcmp , AVX10.2 och vektoriserade bitmaskeringsmönster för x264.

Linker och PDB

  • DIA: COM-initieringstrådsäkerhet och SVE-stöd.
  • PDB Fuzzing: Utlöst PDB-fuzzing från nattliga byggen.
  • SPGO: Exempelbaserade guidade profiloptimeringar som är tillgängliga för användning.

Standardbibliotek (STL)

På GitHub spårar lagringsplatsen microsoft/STL dess status med hög detaljnivå. Se Changelog för MSVC Build Tools 14.51. Viktiga biblioteksfunktioner som nyligen är tillgängliga:

  • P0429R9 - <flat_map>
  • P1222R4 - <flat_set>
  • P2255R2 – Typegenskaper för att identifiera referenser som binds till temporaries
  • P2590R2 – Explicit livslängd-hantering
  • P2674R1 - is_implicit_lifetime

Andra viktiga ändringar:

  • Vi har kraftigt sett över <regex> för att åtgärda långvariga korrekthets- och prestandaproblem som har funnits sedan den första implementeringen i VS 2008 SP1. Efter nästan två decennier är stacköverflöden äntligen åtgärdade!
  • Vi har fortsatt att lägga till och förbättra SIMD-vektoriserade STL-algoritmer med hjälp av SSE4.2 och AVX2 för x64/x86 och (nyligen leverans i MSVC Build Tools 14.51) med NEON för ARM64/ARM64EC.
  • Vi har implementerat 18 LWG-problemlösningar.
  • Vi har tagit bort inaktuella funktioner som inte är standard, till exempel TR1, <hash_map>, <hash_set>, <experimental/filesystem>, stdext::checked_array_iteratoroch stdext::unchecked_array_iterator.

Allt detta har varit möjligt tack vare våra fantastiska GitHub deltagare.

AddressSanitizer (ASan)

  • ARM64-stöd: Förbättrat stöd för ASan för ARM64 med omfattande bibliotekspaketering, avlyssningskorrigeringar och falska positiva lösningar.
  • SanitizerCoverage: Fasta blocklisthantering, codegen-problem och forwarddeklarationer för att säkerställa att sancov-initierare anropas.
  • Prestanda: Cachelagrade gick heaps för prestandaförbättringar under skuggminnesåtgärder.

Moduler och IFC

  • UPPDATERING AV IFC-version: MSVC-klientdelen genererar IFC-filer enligt 0.44-versionen av IFC-specifikationen.
  • Samtidighetskorrigering: En användnings-efter-fri-tävling har åtgärdats i samtidiga IFC-felsökningsposter.

Statisk analys

  • EspX-konsolidering: Sammanfogade EspX och dess tillägg som CppCoreCheck till en enda DLL, vilket förenklar distributionen.
  • Felkorrigeringar: Åtgärdade falska positiva från felaktig platsavreferens och ett antal interna kompilatorfel (ICE) vid användning av /analyze.

ARM64EC & ARM64X

  • Coroutine-stöd: Åtgärdade saknade inmatningstubbar för coroutine-komponenter och rampfunktioner.
  • ICF: Förbättrad identisk COMDAT-vikningsoptimering (ICF) i ARM64X-binärfiler.
  • Flyktig XMM: ARM64EC-tilldelning av flyktig XMM har korrigerats.

Diagnostik

  • C4319 utlöstes inte vid kompilering av C-kod.
  • Felaktiga diagnosmeddelanden för medlemmar i en flexibel C99-matris har tagits bort.
  • Varning C4789 förbättrades för att minska falska positiva identifieringar.

Information om felsökning

  • Aktiverad felsökningsinformationsrensning för att minska PDB-storlekar.

Biljetter har åtgärdats

Följande kundrapporterade problem har åtgärdats i den här versionen:

De vanligaste felkorrigeringarna

De vanligaste felkorrigeringarna Från gemenskapen
MCP-registret använder inte rätt URL feedbackbegäran
GitHub Copilot powershell-kommandon som körs i Copilot terminalen slutar i väntande tillstånd feedbackbegäran

Från hela vårt team, tack för att du valde Visual Studio! De senaste uppdateringarna, resurserna och nyheterna finns i Visual Studio Hub och håll kontakten.

Glad kodning!
Visual Studio-teamet


Anmärkning

Den här uppdateringen kan innehålla nya Microsoft eller programvara från tredje part som licensieras separat, enligt vad som anges i 3rd Party Notices eller i dess tillhörande licens.