Microsoft rilascia Visual Studio 2022 con diversi nuovi miglioramenti
12 minuto. leggere
Aggiornato su
Leggi la nostra pagina informativa per scoprire come puoi aiutare MSPoweruser a sostenere il team editoriale Per saperne di più
Microsoft ha annunciato oggi la disponibilità generale di Visual Studio 2022. Questa versione GA di Visual Studio 2022 viene fornita con una licenza go-live, per l'uso in produzione.
Funzionalità principali di Visual Studio 2022:
64-bit
- devenv.exe ora è solo a 64 bit
Servizi cloud di Azure
- I progetti Servizio cloud di Azure (classico) e Servizio cloud di Azure (supporto esteso) sono ora supportati.
- Gli strumenti di compilazione v143 sono ora disponibili tramite il programma di installazione di Visual Studio e il strumenti di costruzione autonomi.
- La nuova esperienza di ricaricamento rapido è ora disponibile per le applicazioni C++ native durante l'esecuzione con il debugger. Supporta sia i progetti MSBuild che CMake. Per maggiori informazioni consultare il ns Sezione di ricarica a caldo qua sotto.
- È ora possibile creare ed eseguire il debug in modo nativo su WSL2 senza stabilire una connessione SSH. Sono supportati sia i progetti CMake multipiattaforma che i progetti Linux basati su MSBuild.
- Visual Studio ora supporta il
buildPresets.targets
opzione in CMakePresets.json. Ciò ti consente di creare un sottoinsieme di obiettivi nel tuo progetto CMake.- Il menu Progetto nei progetti CMake è stato semplificato ed espone le opzioni "Elimina cache e riconfigura" e "Visualizza cache".
- Le pagine di panoramica di CMake sono state aggiornate per supportare CMakePresets.json.
- implementato
/scanDependencies
flag per l'output delle dipendenze del modulo C++ 20 per i progetti CMake come descritto in P1689r3. Questo è un passo verso il supporto per la creazione di progetti basati su moduli con CMake e stiamo lavorando per completare questo supporto nelle versioni successive.- È ora possibile eseguire il debug dei processi in esecuzione su sistemi remoti da Visual Studio con LLDB.
- Abbiamo aggiornato la versione di CMake fornita con Visual Studio alla versione 3.21. Vedi il Note sulla versione di CMake 3.21 per i dettagli su ciò che è disponibile.
- Gli strumenti LLVM forniti con Visual Studio sono stati aggiornati a LLVM 12. Vedere il Note sulla versione di LLVM per i dettagli.
- Il set di strumenti MSVC ora è predefinito su SHA-256 hashing della sorgente nei record di debug. In precedenza, il set di strumenti utilizzava MD5 per l'hashing del codice sorgente per impostazione predefinita.
- Il carico di lavoro Sviluppo giochi con C++ ora installa l'ultimo Unreal Engine con supporto per Visual Studio 2022.
- Sono stati apportati miglioramenti in C++ IntelliSense durante la fornitura dell'evidenziazione della sintassi e della navigazione per i tipi da moduli importati e unità di intestazione.
- Migliorate le prestazioni di C++ IntelliSense ottimizzando l'utilizzo dell'intestazione memorizzata nella cache e l'accesso al database dei simboli, fornendo tempi di caricamento migliorati per accedere al codice.
- IntelliSense Code Linter per C++ è ora attivo per impostazione predefinita e fornisce suggerimenti istantanei durante la digitazione e suggerimenti per la correzione di difetti di codice comuni.
- Supporto per libfuzzer sotto l'interruttore
-fsanitize=fuzzer
. Vedere la documentazione per ulteriori dettagli.- Abbiamo migliorato il rilevamento del dereferenziamento del puntatore nullo nei nostri strumenti di analisi del codice.
- L'analisi del codice ora impone la restituzione dei valori delle funzioni annotate con
_Check_return_
or_Must_inspect_result_
deve essere controllato.- Aggiunto supporto per
gsl::not_null
all'analisi del codice.- Aggiornato a NDK r21 LTS nel carico di lavoro di sviluppo mobile C++.
- Le intestazioni AMP C++ sono ora obsolete. Compreso in un progetto C++ genererà errori di compilazione. Per silenziare gli errori, definire
_SILENCE_AMP_DEPRECATION_WARNINGS
. Perfavore guarda i nostri link di deprecazione AMP per ulteriori dettagli.
- Allega per elaborare i miglioramenti della finestra di dialogo
- Miglioramenti dell'assistente di eccezione
- Forza l'esecuzione per fare clic
- Analisi diagnostica del dump di memoria
- Abbiamo rilasciato un nuovo tipo di punto di interruzione chiamato Punto di interruzione dipendente, che consente di configurare un punto di interruzione da abilitare solo se viene colpito per la prima volta un altro punto di interruzione.
- Abbiamo aggiunto altri aggiornamenti al nodo Extrenal Sources, ora puoi vedere il modulo sotto il sottonodo "Modules without Sources" e caricare i simboli dal solution explorer stesso.
- Miglioramenti alla grondaia del punto di interruzione
- Punto di interruzione temporaneo
- Trascina e rilascia punto di interruzione
- Nodo Sorgenti esterne in Esplora soluzioni
- Allega per elaborare i miglioramenti della finestra di dialogo
Personalizzazione
- Aggiunte schede colore per schede verticali e orizzontali
- Aggiunto Theme Pack e lavorato con gli autori di temi VS Code per il lancio raccolta di temi personalizzati
- Costruito Convertitore di temi per convertire i temi di VS Code in modo che funzionino in Visual Studio 2022
- Aggiunta la possibilità di sincronizzare il tema di Visual Studio con il tema di Windows
- Aggiunte nuove funzionalità di gestione dei documenti, tra cui la personalizzazione della larghezza della scheda, il grassetto del documento attivo e un pulsante di chiusura aggiuntivo in docwell.
- Aggiunta la navigazione delle sottoparole
- Il salvataggio automatico è ora disponibile come funzione di anteprima
- Esperienza di copia/incolla multi-caret
- API rimosse dagli assembly Microsoft.VisualStudio.Language.Client
- VS SDK contiene diverse modifiche sostanziali e le estensioni di Visual Studio 2019 non funzioneranno nel 2022. Vedi Documentazione VSSDK per maggiori informazioni.
- Gli assembly di riferimento dell'SDK VS non sono più installati in
VSSDK\VisualStudioIntegration\Common\Assemblies
cartella. Se la build si basava su questi assembly, migrare il progetto per usare invece i pacchetti NuGet. Per scenari offline:
- Conserva un feed nuget in-org da cui ripristinare i pacchetti nuget.
- Controlla i binari.
- Aggiunte correzioni di modifiche sostanziali di ILanguageClient
Servizi cloud
- Azzurrite verrà usato per l'emulazione locale di Archiviazione di Azure invece dell'emulatore di archiviazione di Azure precedente e non più sviluppato attivamente.
Strumenti Git
- Supporto multi-repo sotto una bandiera di anteprima per qualsiasi soluzione che si estende su diversi repository (ovvero soluzioni con progetti ospitati in diversi repository Git)
- Pubblica in Azure DevOps è ora completamente supportato nell'esperienza di creazione del repository git
- Miglioramenti della barra di stato inclusi una nuova capacità di visualizzare e aprire repository da un VS vuoto ed visualizzare un conteggio di commit non ritirati
- Il menu di overflow nella finestra Git Changes è ora disponibile per repository solo locali con operazioni git aggiuntive
- Barra degli strumenti Unified Diff contenente il numero di righe aggiunte/eliminate e opzioni di configurazione rilevabili
- Impegna miglioramenti ai dettagli, inclusa un'interfaccia utente più reattiva e intuitiva
Menu Guida
- Durante il 17.0 abbiamo rimodellato il menu Aiuto con materiale per iniziare e utili suggerimenti/trucchi.
- Fornisce maggiore collaborazione con il nostro team di sviluppo aggiungendo elementi come l'accesso alla community di sviluppatori, alle note di rilascio, alla roadmap del prodotto Visual Studio e alle nostre pagine sui social media.
Esperienza di ricarica a caldo
- Hot Reload è ora disponibile per gli sviluppatori .NET tramite il debugger di Visual Studio e senza il debugger per molti tipi di applicazioni .NET 6
- Il ricaricamento a caldo è ora disponibile per gli sviluppatori C++ quando usano Visual Studio Debugger
Per maggiori dettagli vedere il link sopra
Codice Intelli
- Completamenti di intera linea prevedi il tuo prossimo blocco di codice C# in base al tuo contesto attuale e lo presenta come un suggerimento in linea a destra del tuo cursore.
- Completamenti di intera linea sono ora compatibile con le build più recenti di JetBrains ReSharper. Si noti che l'aggiornamento del contesto di completamento riga in base alla selezione dell'elemento dell'elenco dei completamenti personalizzati di ReSharper non è supportato: se necessario, gli utenti di ReSharper possono scegliere di utilizzare invece IntelliSense nativo di Visual Studio, come documentato qui
JavaScript / TypeScript
- Abbiamo rilasciato un nuovo tipo di progetto JavaScript/TypeScript che crea progetti JavaScript/TypeScript autonomi con strumenti aggiuntivi. Sarai in grado di creare progetti Angular e React in Visual Studio utilizzando la versione del framework installata sul tuo computer.
- I test JavaScript e TypeScript sono ora disponibili in Visual Studio Test Explorer
- GUI NPM disponibile, quindi ora puoi scaricare i moduli NPM nello stesso modo in cui scarichi i pacchetti Nuget
SDK di .NET 6
- .NET 6 SDK è incluso in Visual Studio 2022
- L'introduzione del refactoring dei parametri può spostare un nuovo parametro dall'implementazione del metodo ai suoi chiamanti.
- Traccia la sorgente del valore per l'analisi del flusso di dati
- Opzione per sottolineare le variabili che vengono riassegnate
- Aggiunta l'opzione di ricerca nella finestra di dialogo Genera sostituzioni
- Le informazioni rapide per i tags now preserve whitespace and CDATA blocks
- La finestra Trova tutti i riferimenti ora raggrupperà i progetti multi-target
- Refactoring per rimuovere i tipi ripetitivi in Visual Basic
- Vai a implementazione non passerà più ai membri con dichiarazioni astratte che sono anche sovrascritte.
- Sincronizza gli spazi dei nomi in modo che corrispondano alla struttura delle cartelle da Esplora soluzioni
- Configura l'analisi del codice in background da Esplora soluzioni
- I tipi di riferimento nullable sono ora abilitati per impostazione predefinita per i nuovi progetti .NET
- C# 10.0 Refactoring dello spazio dei nomi con ambito file
- Passa a sorgenti decompilate ora è attivo per impostazione predefinita
- Refactoring per preferire il controllo nullo al controllo del tipo
- I commenti XML ora genereranno automaticamente un file
<exception>
tag quando un metodo genera esplicitamente eccezioni- Il margine di ereditarietà è ora abilitato per impostazione predefinita
- C # 10
- Ridotti blocchi dell'interfaccia utente e prestazioni migliorate all'avvio della soluzione
- Colorazione semantica più veloce fino a 2x in alcune soluzioni
- Supporto F7 (visualizza codice) nei file Razor
- Supporto snippet nei file razor che completerà una sessione di snippet con una singola scheda invece di premere tab-tab
- Migliore formattazione nei blocchi @code quando sono presenti componenti HTML e Razor nidificati
- Supporto per la ricarica a caldo nei file Razor
- I miglioramenti delle prestazioni
- Miglioramenti alla formattazione e al rientro
- Nuovi colori dell'editor Razor
- I TagHelpers ora sono colorati e hanno un rapido supporto per la classificazione delle informazioni e suggerimenti per il completamento
- Evidenziazione e navigazione delle parentesi angolari per i costrutti Razor
- I commenti ora hanno il completamento automatico, il rientro intelligente, l'inclusione automatica delle continuazioni dei commenti e la navigazione nei commenti dei blocchi
- Molto anteprima sperimentale anticipata dell'abilitazione dell'esecuzione di test su ambienti remoti come container Linux, WSL e su connessioni SSH.
Supporto per strumenti di test
- Mostra in Esplora test
- Le nuove versioni della piattaforma di test a partire dalla 17.0 non saranno in grado di eseguire test generici e test ordinati. Queste funzionalità specifiche vengono fornite solo come parte di una versione precedente di MSTestv1 e non sono incluse in MSTestv2. Vediamo un utilizzo molto basso di queste funzionalità e i test ordinati sono ora considerati contrari alle migliori pratiche di test.
- Alcune esperienze di test non saranno disponibili nella versione 17.0, inclusa la creazione di nuovi file TestSettings e l'editor TestSettings. Le esecuzioni di test potranno ancora utilizzare i file TestSettings, tuttavia TestSettings è stato sostituito con RunSettings e incoraggiamo gli utenti a migrare prestazioni e funzionalità migliorate. Per saperne di più.
- Aggiornamenti del supporto per test di caricamento Web e test dell'interfaccia utente codificati. Test codificati dell'interfaccia utente e [Test di carico Web] (servizio di test di carico basato su cloud a fine vita | Blog di Azure DevOps (microsoft.com) sono stati ufficialmente ritirati nel 2019. Per ridurre al minimo l'impatto per gli utenti, è previsto un supporto minimo per queste funzionalità in Visual Studio 2022. È fortemente incoraggiare gli utenti ad abbandonare il test codificato dell'interfaccia utente e il test di caricamento Web.
Popolazione Toolbox per SDK di estensione UWP
- Gli SDK di estensione UWP ora sono tenuti a dichiarare esplicitamente i tipi che desiderano visualizzare nella casella degli strumenti elencandoli nella loro File SdkManifest.xml. Il comportamento delle versioni precedenti di Visual Studio è invariato; ignoreranno l'elenco dei controlli nel manifest e enumereranno invece dinamicamente i tipi di controllo negli assembly dell'SDK.
- Abbiamo rinnovato la funzionalità "Impostazioni di attendibilità" e ora possiamo mostrare un avviso ogni volta che un codice non attendibile (ad esempio file, progetti o cartelle) sta per essere aperto all'interno dell'IDE.
- I controlli di affidabilità ora vengono eseguiti a livello di cartella della soluzione
- I progetti creati dall'utente vengono automaticamente aggiunti all'elenco attendibili
- Gli utenti possono ignorare i controlli di attendibilità nelle posizioni temporanee create da Visual Studio
Aggiornamenti, LTSC e distribuzione
- Con Visual Studio 2022, ci saranno più linee di base di manutenzione supportate contemporaneamente che verranno rilasciate in autunno e in primavera. Per maggiori dettagli, fare riferimento a Documentazione sul ritmo di rilascio di Visual Studio e la Ciclo di vita del prodotto Visual Studio 2022.
- Il nuovo programma di installazione fornito con Visual Studio 2022 ora ha la capacità di configurare la posizione da cui il prodotto Visual Studio deve ottenere gli aggiornamenti. Ciò ti consente di scegliere gli aggiornamenti da un LTSC diverso oppure, se ti trovi in un ambiente aziendale gestito, puoi configurare il client per ottenere gli aggiornamenti da un layout. La possibilità di configurare l'origine per gli aggiornamenti è una nuova funzionalità fornita con il programma di installazione di Visual Studio, quindi il comportamento è applicabile anche alle versioni di livello inferiore di Visual Studio, come Visual Studio 2019. Per ulteriori informazioni sulla configurazione del canale di aggiornamento, fare riferimento a il Aggiorna Visual Studio documentazione. Per ulteriori informazioni su come eseguire questa operazione per i layout di rete, fare riferimento a Guida per gli amministratori di Visual Studio.
- Gli amministratori IT ora possono segnalare problemi senza che Visual Studio sia installato.
- Le icone predefinite sono state aggiornate e aggiornate.
Strumenti Web
- La pagina di riepilogo Pubblica ora contiene azioni per avviare/arrestare il debug remoto e la profilazione nel menu "..." nell'angolo in alto a destra della sezione "Hosting"
- La pagina Servizi connessi ora ha un'azione per avviare Storage Explorer
- Il modello "ASP.NET Core Empty" fornito con .NET 6 utilizza il nuovo 'API minime' paradigma per il quale abbiamo iniziato ad aggiungere supporto
- Azzurrite verrà usato per l'emulazione locale di Archiviazione di Azure invece dell'emulatore di archiviazione di Azure precedente e non più sviluppato attivamente.
- È possibile aggiungere l'autenticazione all'applicazione ASP.NET Core utilizzando Piattaforma di identità Microsoft tramite l'esperienza Connected Services in Visual Studio.
Progettazione XAML WPF per .NET Framework
- L'attuale Progettazione XAML WPF per .NET Framework è stata sostituita con una nuova Progettazione XAML WPF per .NET Framework, basata sulla stessa architettura usata per la Progettazione XAML WPF per .NET (.NET Core). L'esperienza di Visual Studio avrà lo stesso aspetto, ma i fornitori di controlli di terze parti devono supportare il nuovo modello di estendibilità poiché il modello precedente basato su
.design.dll
edMicrosoft.Windows.Design.Extensibility
è deprecato. Se hai già creato un.designtools.dll
per .NET (.NET Core), la stessa estensione funzionerà per il nuovo Designer XAML WPF per .NET Framework. Si prega di fare riferimento al documento di migrazione di seguito per ulteriori informazioni su come migrare al nuovo modello di estendibilità.
- Modifiche al ricaricamento a caldo di XAML: modifiche minori alla barra degli strumenti e alle impostazioni in-app
Anteprima in tempo reale di XAML
- XAML Live Preview è ora disponibile per gli sviluppatori WPF, UWP, WinUI e Xamarin.Forms che eseguono le proprie app nell'emulatore Android o come app desktop UWP. Anteprima in tempo reale acquisisce un'interfaccia utente di applicazioni in esecuzione e la porta in una finestra ancorata all'interno di Visual Studio. Ciò semplifica l'uso del ricaricamento a caldo di XAML per modificare l'app visualizzando le modifiche all'interno di Visual Studio stesso, senza la necessità di scorrere avanti e indietro tra l'app in esecuzione e Visual Studio mentre si apportano modifiche al codice XAML in tempo reale.
Per maggiori informazioni clicca sul link qui sopra.
Dati di esempio XAML
- I dati di esempio in fase di progettazione verranno ora aggiunti per impostazione predefinita durante la creazione di controlli DataGrid, ListBox e ListView dalla casella degli strumenti nelle applicazioni WPF. Per disabilitare questo comportamento, deseleziona "Aggiungi automaticamente dati di esempio alla creazione dell'elemento" in Strumenti -> Opzioni -> Progettazione XAML".
- Per ulteriori informazioni sui dati di esempio, visitare il Esempio di documentazione sui dati.
Esperienza di associazione XAML migliorata
- Abbiamo apportato una serie di miglioramenti per rendere l'associazione dati semplice e veloce, come l'accesso rapido alla finestra di dialogo Associazione dati da Property Inspector, la possibilità di impostare l'associazione da Azioni rapide, la possibilità di scegliere la proprietà a cui associare all'interno della finestra di dialogo Associazione dati .
Per maggiori informazioni clicca sul link qui sopra.
Fonte: Microsoft