Condividi tramite


note sulla versione di Visual Studio Insiders

Siamo lieti di annunciare la disponibilità dell'aggiornamento di aprile Visual Studio 2026. Questa versione segna l'inizio di una nuova era per Visual Studio con un'integrazione approfondita della piattaforma di intelligenza artificiale, concetti fondamentali più forti e prestazioni migliorate.

Scaricare Visual Studio 2026 Insider per godere di queste nuove funzionalità e miglioramenti.

Versione 11716.218

Data di rilascio: 21 aprile 2026

Correzioni di bug principali Dalla comunità
F# La stringa vuota corrispondente nelle quotazioni di codice causa FS0452 ticket di feedback
Il Copilot di GitHub per l'estensione Query Azure Resource Graph non riesce ticket Feedback ticket

Funzionalità

Data di rilascio: 14 aprile 2026.

IDE

Sistema temi scuri/chiari 📣

Commuta automaticamente Visual Studio temi quando il sistema si sposta tra la modalità Chiaro e Scuro, mantenendo l'IDE sincronizzato con l'ambiente.

Potresti preferire un tema più chiaro e a contrasto più alto durante il giorno e un tema più scuro di notte. Visual Studio ora passa automaticamente tra i temi Light e Dark selezionati quando l'impostazione di sistema cambia, mantenendo l'IDE sincronizzato con l'ambiente.

Come usarlo

  1. Aprire Strumenti → Opzioni → Ambiente → Esperienza visiva
  2. Impostare Tema colore su Usa impostazioni di sistema
  3. Selezionare un tema chiaro di sistema e un tema scuro di sistema

Visual Studio applica automaticamente il tema corrispondente quando cambia il tema Windows.

Visual Studio effettua il passaggio automatico tra temi chiari e scuri quando il tema di sistema cambia

📣 Consulta il ticket di funzionalità per condividere il tuo feedback e continuare la conversazione.

GitHub Copilot

View e gestire le competenze dell'agente

Sfoglia, modifica e individua tutte le capacità dell'Agente Copilot dalla finestra di chat.

È ora possibile visualizzare tutte le competenze dell'agente in un'unica posizione. Facendo clic sull'icona degli strumenti nell'angolo in basso a destra della finestra della chat, è possibile aprire un pannello di competenze dedicato che elenca ogni competenza individuata dall'area di lavoro e dal profilo utente, semplificando la visualizzazione immediata delle funzionalità disponibili.

Dal pannello è possibile gestire le competenze direttamente senza lasciare Visual Studio:

  • Modificare una competenza : fare clic sul menu a tre punti (⋯) su qualsiasi competenza per aprirla e modificarla direttamente in Visual Studio.
  • Aprire il percorso del file : usare lo stesso menu per passare direttamente al file di competenza su disco.
  • Cercare una competenza : usare la barra di ricerca nella parte superiore per trovare rapidamente una competenza specifica in base al nome o alla parola chiave.

Pannello Delle competenze nella finestra della chat che mostra le competenze disponibili con le opzioni di gestione

Questo si basa sul supporto delle competenze dell'agente introdotto in precedenza, offrendo un modo più semplice per esplorare e mantenere le proprie competenze. Provalo e condividi i tuoi commenti e suggerimenti.

Diff di riepilogo per le modifiche di Copilot

Visualizzare tutte le modifiche Copilot in più file in un'unica visualizzazione di riepilogo con controlli di accettazione e annullamento granulari.

Quando Copilot modifica più file, non è più necessario esaminarne uno separatamente. La nuova visualizzazione diff riepilogativa multi-file mostra tutte le modifiche in un'unica posizione.

Fare clic sul pulsante Apri riepilogo modifiche nel set di lavoro di Copilot Chat dopo che Copilot ha terminato la modifica. Verrà visualizzata una singola scheda con tutti i file modificati e le relative differenze.

Screenshot che mostra il pulsante Apri riepilogo modifiche nel working set di Copilot Chat

È possibile accettare o annullare modifiche a livelli diversi:

  • Su tutti i file contemporaneamente
  • Per ogni file
  • Per singolo segmento diff

È anche possibile aprire qualsiasi file separatamente per visualizzarne il contesto completo.

Screenshot della visualizzazione diff riepilogo multi-file che mostra più file con differenze in linea e controlli accetta/annulla

Usare i controlli nell'angolo superiore sinistro per:

  • Comprimere tutto il contenuto del file per visualizzare solo le intestazioni di file per una rapida panoramica
  • Spostarsi tra blocchi diff usando i pulsanti successivi e precedenti per passare rapidamente alle modifiche

Questa visualizzazione semplifica la comprensione delle modifiche apportate da Copilot nel tuo codice e offre un controllo preciso su quali modifiche mantenere.

Indicatore della finestra di contesto

Visualizza quanta parte del contesto Copilot sta utilizzando e ottimizzalo con un riepilogo a un clic.

Quando si chatta con Copilot, tiene traccia della cronologia delle conversazioni, dei file allegati e di altro contesto per fornire risposte pertinenti. Questa operazione è denominata finestra di contesto e ha un limite. Una volta riempito, Copilot potrebbe perdere traccia delle parti precedenti della conversazione.

È ora possibile visualizzare esattamente la quantità di tale finestra di contesto usata con il nuovo indicatore della finestra di contesto.

Cercare l'icona dell'anello nell'angolo superiore destro della casella di richiesta Copilot Chat. Questo mini grafico ad anello si riempie man mano che cresce la conversazione, mostrando a colpo d'occhio quanto contesto è stato utilizzato.

Fare clic sull'indicatore per visualizzare:

  • Percentuale esatta del contesto usato
  • Suddivisione dettagliata degli elementi che contribuiscono al contesto
  • Pulsante Riepiloga conversazione per compattare la conversazione e liberare spazio

Indicatore della finestra di contesto con anello percentuale che mostra l'utilizzo di 45% e una suddivisione elenca i messaggi di conversazione, i file dell'area di lavoro e altre origini

Quando il contesto sta esaurendo, fare clic su Riepiloga per comprimere le parti precedenti della conversazione. In questo modo è possibile continuare a chattare senza perdere contesto importante o avviare una nuova conversazione.

Indicatore della finestra di contesto dopo il riepilogo, che mostra un utilizzo ridotto e una notifica che la conversazione è stata riepilogata

Pianificare prima di eseguire la compilazione con la modalità pianificazione

Creare e scorrere i piani di implementazione prima di apportare modifiche al codice.

A volte si vuole riflettere su un approccio prima di iniziare a scrivere codice. La nuova modalità chat Planning consente di collaborare con Copilot in un piano di implementazione, senza apportare modifiche alla codebase.

Come funziona

Modalità piano selezionata

Quando si seleziona la modalità Planning, Copilot segue un processo in due passaggi:

  1. Explore e chiarire: Copilot usa strumenti di sola lettura per comprendere la codebase e porre domande chiare. Per attività semplici, viene elaborato immediatamente un piano.
  2. Raccolta e perfezionamento: Copilot crea un piano di implementazione dettagliato che è possibile esaminare, discutere e perfezionare insieme.

Modalità di pianificazione per la creazione di un piano di implementazione

Quando si è pronti, fare clic su Implementa piano per passare alla modalità Agente per l'esecuzione.

Implementazione in modalità agente del piano in corso

I piani vengono salvati come markdown

Copilot salva ogni progetto come file markdown nel repository in .copilot/plans/plan-{title}.md. Questo file è l'unica fonte di verità. È possibile modificarlo direttamente nell'editor o perfezionarlo tramite chat. Copilot rileva le modifiche e mantiene sincronizzato il piano.

Quando usare la modalità pianificazione
  • Funzionalità di grandi dimensioni : suddividere il lavoro complesso in passaggi chiari prima di scrivere codice.
  • Cobase di codice sconosciute - Consentire Copilot esplorare e spiegare prima di proporre modifiche.
  • Collaborazione in team - Condividere i piani come file markdown da rivedere prima dell'implementazione

Strumenti Git

Differenze di riepilogo su più file 📣

Visualizzare le modifiche dei file in un diff unificato per la comprensione rapida.

Il diff riassuntivo multi-file visualizza tutte le righe modificate da più file in una vista unificata, in modo da poter comprendere rapidamente l'ambito di un commit o richiesta di pull senza dover navigare tra i file.

Visualizzazione unificata che mostra le righe modificate da più file in un unico pannello

Il pulsante Di riepilogo Apri modifiche verrà visualizzato in diverse posizioni:

  • Modifiche Git
  • Dettagli del commit in Git → Visualizza la Cronologia del Branch
  • Richieste pull nella finestra Visualizza repository Git →

L'elenco delle richieste pull è attualmente disponibile solo in Visual Studio Insiders con la funzionalità di anteprima Visualizza richieste pull per un repository Git.

Pulsante di riepilogo delle modifiche evidenziato nella barra degli strumenti Modifiche Git

📣 Consulta il ticket di funzionalità per condividere il tuo feedback e continuare la conversazione.

Aggiungi commit a Copilot Chat

Allega il contesto del commit a Copilot Chat direttamente dall'IDE.

Stai esaminando un commit e vuoi che Copilot ti aiuti a comprenderlo, individuare i problemi o basare nuove modifiche su di esso? Invece di cercare l'ID commit e incollarlo in Chat, è ora possibile fare clic con il pulsante destro del mouse su un commit e aggiungerlo direttamente come contesto in Copilot Chat.

È possibile trovare questo comando nelle aree seguenti:

  • Cronologia Git (cronologia dei rami di visualizzazione Git>)
  • Cronologia file (fare clic con il pulsante destro del mouse su un file in Esplora soluzioni, quindi Git > Visualizza cronologia
  • Annota (Blame) (fare clic con il pulsante destro del mouse nell'editor, quindi Git > Annota (Blame))

È anche possibile selezionare più commit per allegarli a una chat contemporaneamente.

Aggiungi commit a Copilot Chat

Copilot riceve il commit come contesto, quindi è possibile porre domande come spiega questa modifica, questo introduce eventuali problemi o scrivi una modifica simile per quest'altro file.

Copilot Chat con contesto del commit

Le istruzioni del messaggio di commit sono state spostate

Le istruzioni personalizzate del messaggio Commit usano ora il file di istruzioni Copilot anziché l'impostazione Visual Studio.

Se hai utilizzato l'input di testo delle istruzioni personalizzate del messaggio Commit sotto l'impostazione GitHub → Copilot → Source Control Integration per adattare i messaggi di commit generati da Copilot, tale impostazione non sarà più applicabile. In futuro, le istruzioni dei messaggi di commit vengono gestite tramite il file di istruzioni personalizzate Copilot.

In questo modo vengono fornite istruzioni per i messaggi di commit in linea con altre istruzioni personalizzate Copilot nel repository, mantenendo tutto in un'unico posto.

Configurare istruzioni personalizzate

Aggiungere le istruzioni del messaggio di commit al file di istruzioni Copilot del repository. Per informazioni dettagliate sull'installazione completa, vedere Aggiungere le istruzioni del repository.

Il file di istruzioni Copilot con regole del messaggio di commit

Visualizzare il codice con l'agente Git in Copilot Chat

Avvia una revisione del codice da Copilot Chat e vedi i risultati nell'esperienza di revisione di Visual Studio.

È ora possibile esaminare il codice tramite l'agente Git in Copilot Chat. Passa all'agente Git e chiedigli di esaminare le tue modifiche.

Copilot Chat che mostra l'agente Git con l'opzione review changes evidenziata

L'agente analizza le modifiche di cui non è stato eseguito il commit usando GitHub Copilot Revisione del codice e visualizza i commenti in linea nell'editor e nella visualizzazione Git Changes. È quindi possibile continuare la conversazione in chat per discutere i risultati, chiedere spiegazioni o lavorare tramite modifiche suggerite.

Editor che mostra un commento di revisione del codice in linea da parte dell'agente Git

Per altre informazioni sull'esperienza di revisione del codice, vedere Visualizzare le modifiche locali con Copilot Chat.

C++

Strumenti di compilazione MSVC v14.51

Miglioramento del supporto, delle prestazioni e di molte correzioni di bug in C++23.

Microsoft C++ (MSVC) Build Tools versione 14.51 è ora disponibile ed è installato per impostazione predefinita con i carichi di lavoro di gioco e desktop C++. Per verificare se è installato, assicurarsi semplicemente che uno o entrambi i componenti siano controllati nel programma di installazione:

  1. Strumenti di compilazione MSVC per x64/x86 (versione più recente)
  2. Strumenti di compilazione MSVC per ARM64/ARM64EC (versione più recente)

È anche possibile selezionare uno dei componenti etichettati con il numero di versione v14.51 per aggiungere l'installazione a questa versione. Screenshot che mostra i componenti del programma di installazione di Visual Studio per MSVC v14.51

Il numero di versione stampato da cl.exe e link.exe sarà almeno 14.51.36231.

La versione stabile della versione 14.51 riceverà 9 mesi di correzioni di manutenzione, come descritto in Nuova cadenza di rilascio e ciclo di vita del supporto per Microsoft C++ Build Tools.

Per un elenco completo delle novità, vedere di seguito.

Conformità agli standard C++

Il team front-end ha continuato a implementare le funzionalità C++23 e C++20 e a risolvere i problemi di conformità:

  • Implementazioni di C++23: Per informazioni dettagliate, vedere il post di blog C++23 Support in MSVC Build Tools 14.51 (Supporto di C++23 in MSVC Build Tools 14.51 ).
  • Miglioramenti di Consteval: Numerose correzioni alla gestione delle funzioni consteval, constexpr new/delete nei moduli, matrici di supporto per le liste di inizializzazione, comportamento /experimental:constevalVfuncVtable ora abilitato per impostazione predefinita, e migliore diagnostica degli errori per le espressioni costanti non riuscite.
  • Miglioramenti di Coroutine: Il refactoring delle risorse globali correlate alla coroutine e la deprecazione delle intestazioni di coroutine sperimentali.
  • Modernizzazione del parser: Il parser di discesa ricorsivo ora gestisce [[attributes]], con miglioramenti continui al ripristino degli errori e alla rimozione delle funzioni di accesso ai token legacy.
  • Miglioramenti del linguaggio C: Aggiunto il _Atomic supporto per i qualificatori, rimozione della diagnostica errata per i membri di matrice flessibili C99 e aggiunto __typeof__ il supporto per i tipi di funzione.

Generazione di codice

L'ottimizzatore backend ha ricevuto investimenti significativi in molte aree:

  • Ottimizzazioni guidate dei profili basate su campioni: Supporto per ottimizzazioni guidate dei profili basate su esempio con strumenti di supporto. Altri dettagli da seguire in un post di blog futuro.
  • Miglioramenti dell'ottimizzazione di Single-Assignment statici (SSA): Implementazione di decine di nuovi modelli di semplificazione algebrica, tra cui modelli di operatore ternari, modelli aritmetici e min/max.
  • Eliminazione della sottoespressione comune (CSE): Miglioramento del CSE dei caricamenti di [x + C] tramite join if/else, archiviazioni ridondanti e miglioramento dei controlli di aliasing multibyte.
  • Sostituzione scalare delle aggregazioni (SROA): Scomposizione più aggressiva delle strutture.
  • Ottimizzazioni dei cicli: Correzioni relative al segno LFTR (Linear Function Test Replace) e ottimizzazioni dei cicli contati quando si utilizza l'induzione principale dopo il ciclo.
  • Integrazione: Estensione del limitato inline del sito di chiamata e miglioramento della propagazione delle informazioni sul tipo di parametro durante l'integrazione.
  • Propagazione della copia: Miglioramenti multipli per la propagazione della copia per costanti integer e copie sequenziali.
  • Riduzione della forza: È stata implementata una riduzione delle conversioni come ottimizzazione della riduzione della forza.
  • Predicato e threading del salto: Miglioramenti alle ottimizzazioni basate su predicato per eliminare le verifiche dei limiti, incluso un migliore utilizzo dei predicati dai pattern minimi.
  • Stack Layout: Il compilatore ora preferisce eseguire il push di registri salvati dal chiamante nello stack anziché utilizzare gli slot shadow, riducendo il sovraccarico del prologo/epilogo della funzione.
  • PGO: Miglioramento dei compromessi per dimensione/velocità per funzione per attenuare i profili non rappresentativi e i miglioramenti di taglio PGO.
  • Limita puntatori: Aggiunta del supporto per limitare la semantica del puntatore per abilitare ottimizzazioni di aliasing aggiuntive.
  • Ottimizzazioni per l'abbinamento di pattern: Nuovi modelli per la generazione MSUB/MADD, ADC/SBB per aggiunta/sottrazione condizionale e varianti CMOVE/NE.
  • Intel APX: Supporto preliminare di Intel APX (Advanced Performance Extensions) nella catena di strumenti MSVC. Altri dettagli da seguire.

ARM64 & SVE

  • Supporto di SVE (estensione vettoriale scalabile): Nuova funzionalità principale che porta ARM SVE a MSVC, tra cui il supporto dei tipi front-end per i tipi scalari SVE e aggregati, l'abbassamento intrinseco, la rimozione del registro salvata dal chiamato, il passaggio del parametro di funzione variadic, l'installazione dei file di intestazione e il supporto tryblock/funclet. Diverse correzioni per errori ICE ed errori di compilazione sono state apportate.
  • Shrink Wrapping: Sono stati risolti più problemi, tra cui informazioni di annullamento dei frammenti solo epilogo, bug di generazione del codice con chkstk che interrompe X15, e regioni di shrink wrap multi-punto.
  • Qualità del codice: Nuovi modelli per CSEL pow2, 0 + ORR → CSET + ORR_SHIFT, ottimizzati NEON_DUPR, rimossi modelli ridondanti NEON_INSR dopo NEON_DUPR, modelli ARM NEON per x264, miglioramenti della fusione delle istruzioni, ritipizzazione dei registri dopo globreg e messa a punto dell'allineamento delle funzioni.
  • DIA SDK: Supporto completo di SVE nell'interfaccia di debug, inclusi RtlpGetSveContextPointers e IDiaStackWalkHelper3.

SIMD & Vectorization

  • Vettore SLP: Miglioramenti alla vettorizzazione SLP (Superword Level Parallelism):
    • Vettorizzazione della riduzione scalare
    • Supporto per istruzioni vettoriali generiche e sovradimensionate
    • Ottimizzazione delle permutazioni e supporto per selezioni sovradimensionate
  • Miglioramenti del vettorizzatore: L'innalzamento dei controlli di sovrapposizione dei puntatori nei cicli interni vettorializzati ai cicli padre, il supporto per il ciclo di conteggio dei caratteri, il supporto per l'accesso alla memoria non contiguo per i tipi di dati a 2 byte e l'ottimizzazione euristica per i cicli con bassa frequenza di iterazioni su ARM64.
  • AVX/SSE: AVX512 memcpy/memset, AVX2 override memcmp, AVX10.2 e modelli di maschera di bit vettorializzati per x264.

Linker e PDB

  • DIA: Sicurezza dell'inizializzazione di thread COM e supporto SVE.
  • PDB Fuzzing: Attivazione del fuzzing PDB dai build notturni.
  • SPGO: Ottimizzazioni guidate dei profili basate su campioni disponibili per l'uso.

Libreria standard (STL)

In GitHub, il repository microsoft/STL tiene traccia dello stato con un elevato livello di dettaglio. Vedere Changelog for MSVC Build Tools 14.51. Funzionalità rilevanti della libreria appena disponibili:

  • P0429R9 - <flat_map>
  • P1222R4 - <flat_set>
  • P2255R2 - Tratti di tipo per rilevare l'associazione di riferimenti a temporanei
  • P2590R2 - Gestione esplicita del ciclo di vita
  • P2674R1 - is_implicit_lifetime

Altre modifiche rilevanti:

  • È stata apportata <regex> una revisione massiccia per risolvere problemi di correttezza e prestazioni di lunga data che sono stati presenti sin dalla sua implementazione iniziale in VS 2008 SP1. Dopo quasi due decenni, gli overflow dello stack sono stati finalmente risolti!
  • Abbiamo continuato ad aggiungere e migliorare gli algoritmi STL con vettori SIMD, usando SSE4.2 e AVX2 per x64/x86 e (appena disponibile in MSVC Build Tools 14.51) usando NEON per ARM64/ARM64EC.
  • Sono state implementate 18 risoluzioni dei problemi LWG.
  • Sono state rimosse funzionalità non Standard deprecate a lungo termine, ad esempio TR1, <hash_map>, <hash_set><experimental/filesystem>, stdext::checked_array_iterator, e stdext::unchecked_array_iterator.

Tutto questo è stato possibile grazie ai nostri incredibili collaboratori GitHub.

AddressSanitizer (ASan)

  • Supporto ARM64: Miglioramento del supporto di ASan per ARM64 con pacchetti di librerie completi, correzioni di intercettazione e risoluzione dei falsi positivi.
  • SanitizerCoverage: Correzione della gestione del blocklist, dei problemi di generazione del codice e delle dichiarazioni di inoltro per garantire che vengano richiamati gli inizializzatori sancov.
  • Prestazione: Heap memorizzati nella cache per migliorare le prestazioni durante le operazioni di memoria shadow.

Moduli e IFC

  • Aggiornamento della versione IFC: Il front-end MSVC genera file IFC in base alla versione 0.44 della specifica IFC.
  • Correzione della concorrenza: Corretto un problema di concorrenza di tipo use-after-free nella risoluzione concorrenziale dei record di debug IFC.

Analisi statica

  • Consolidamento espX: Unire EspX e le relative estensioni come CppCoreCheck in una singola DLL, semplificando la distribuzione.
  • Correzioni di bug: Corrette segnalazioni errate dalla dereferenziazione della posizione imprecisa e diversi errori interni del compilatore (ICE) con /analyze.

ARM64EC & ARM64X

  • Supporto coroutine: Correzione delle voci mancanti per i contorni coroutine e le funzioni di rampa.
  • ICF: Ottimizzazione migliorata del folding COMDAT identico nei binari ARM64X.
  • XMM volatile: Correzione dell'assegnazione volatile XMM per ARM64EC.

Diagnostica

  • Correzione di C4319 che non viene generata durante la compilazione del codice C.
  • Rimozione della diagnostica non corretta per i membri della matrice flessibile C99.
  • Avviso C4789 migliorato per ridurre i falsi positivi.

Informazioni di debug

  • Abilitazione dell'eliminazione delle informazioni di debug per ridurre le dimensioni del PDB.

Biglietti fissi

In questa versione sono stati risolti i problemi segnalati dai clienti seguenti:

Correzioni di bug principali

Correzioni di bug principali Dalla comunità
Registro MCP non usa l'URL corretto ticket di feedback
L'esecuzione di comandi PowerShell su GitHub Copilot nel terminale di Copilot termina rimanendo in sospeso. ticket Feedback ticket

Dall'intero team, grazie per aver scelto Visual Studio! Per gli aggiornamenti, le risorse e le notizie più recenti, vedere Visual Studio Hub e rimanere in contatto.

Buon codice!
Il team di Visual Studio


Annotazioni

Questo aggiornamento può includere nuovi Microsoft o software di terze parti concessi in licenza separatamente, come indicato nella 3rd Party Notices o nella relativa licenza associata.