Novità di Visual Studio 2022?

Contenuti

Visual Studio 2022 è ora in anteprima e uscirà a novembre 2021 insieme a .NET 6, che sarà compatibile. Include molte nuove funzionalità e miglioramenti, come AI IntelliCode che può completare automaticamente frammenti di codice per te.

Puoi scarica l'anteprima dal tuo sito web. Anche se è ancora “Anche se è ancora” Anche se è ancora, ancora studio visivo, affinché, a meno che tu non dipenda da estensioni che non sono state ancora aggiornate, non aver paura di provare.

Tratteremo i cambiamenti più importanti a partire dall'Anteprima 3, ma se vuoi leggere le note sulla patch riga per riga, puoi farlo da Microsoft Docs. Ci sono anche una tabella di marcia descrivendo la direzione generale.

Finalmente è di 64 bit

Visual Studio è sempre stato 32 bit, il che significa che è stato limitato a 4 GB di RAM nel processo principale. Generalmente, non supera questo budget per i progetti normali, ma alcuni utenti potrebbero incorrere in eccezioni di memoria insufficiente con soluzioni particolarmente grandi.

Con VS 2022, è stato corretto e ora è un'applicazione di 64 bit. Microsoft ha testato progetti con 1600 progetti e 300k file, e funziona bene.

In teoria, 64 i bit dovrebbero essere più veloci, e sembra essere un po' più veloce nei tempi di avvio, ma Microsoft ha lavorato anche sulle prestazioni in generale, quindi è difficile sapere quanto questo ti influenzi davvero. In entrambi i casi, un bel cambiamento.

Certo, puoi ancora sviluppare applicazioni da 32 bit con VS 2022. Questo vale solo per l'editor.

AI IntelliCode è fantastico

Funzionalità di Visual Studio 2022 un importante aggiornamento al tuo motore di completamento automatico IntelliCode. È in grado di completare automaticamente intere righe e frammenti di codice, e funziona molto bene.

È un po' diverso da Copilota GitHub, chi fa un lavoro simile. Copilot genererà frammenti di codice completi e funziona al meglio per piccole funzioni contenute con una soluzione chiara. È ottimo, ma ha i suoi problemi, principalmente il fatto che il codice che generi non è garantito che sia quello che vuoi (e può estrarre codice parola per parola da repository GitHub casuali, qual è un altro problema?).

IntelliCode ha un approccio molto più ristretto e riempie solo una singola riga, tenendo conto di alcuni dei seguenti fattori:

  • Nomi e posizioni delle variabili
  • Librerie che stai utilizzando
  • Funzioni nel codice circostante
  • L'elenco a discesa IntelliSense, che puoi effettivamente premere verso il basso per dare a IntelliCode più suggerimenti

Dopo averlo usato per due settimane, è qualcosa che devi davvero provare per te stesso. È sorprendentemente intelligente, Anche se è ancora “Anche se è ancora, stavo per scriverlo!”

Ad esempio, scrivere una funzione che prende un numero da 1 al 12:

Per comprendere e fornire questo risultato, IntelliCode sta facendo molto di più che completare automaticamente la sintassi; Capisci che sto aspettando un'eccezione, Anche se è ancora “Anche se è ancora”, e potresti notare che questa eccezione viene generata solo se un confronto di dimensioni intere fallisce. Sai cosa Width è un argomento che viene verificato prima che il codice venga eseguito, e che sto lanciando un'eccezione perché c'è qualcosa di sbagliato nell'argomento.

Sapendo tutto questo, prende un'ipotesi estremamente accurata sulle mie intenzioni e decide che a ArgumentOutOfRangeException deve essere quello che sto cercando di scrivere, Anche se è ancora “nuovo”.

E, se sposti una pagina, puoi compilare i risultati per diverse opzioni. È ancora un po' incoerente (Anche se è ancora “Larghezza” Anche se è ancora nameof) ma, generalmente, Funziona bene.

IntelliCode funziona sempre, e tutto quello che devi fare è premere tab-tab per accettarlo; altrimenti, puoi continuare a scrivere. Attualmente, funziona solo per C #, Anche se è ancora “Anche se è ancora”.

Supporto .NET 6

.NETTO 6 è l'ultima versione, anche in versione anteprima. VS 2022 avrà il supporto integrato per esso e tutte le sue funzionalità, e sarà predefinito in .NET 6 per nuovi progetti.

In particolare, VS 2022 avrà pieno supporto per .NET MAUI, l'interfaccia utente dell'applicazione multipiattaforma, Il nuovo standard di Microsoft per lo sviluppo di applicazioni native multipiattaforma.

Ricarica a caldo .NET

Una delle cose più fastidiose della programmazione è guardare lo schermo, attendi la compilazione dell'applicazione, si avvia e si aggiorna con le ultime modifiche. Hot Reloading è una funzionalità di molti altri linguaggi come JavaScript, ed è stato utilizzato da framework web come React per apportare modifiche rapide. tuttavia, fino ad ora, non esiste una soluzione standardizzata per .NET.

Non è completamente universale e richiede una configurazione specifica del progetto, ma VS 2022 Anche se è ancora “Anche se è ancora, Windows Form, Anteprime .NET MAUI, Applicazioni ASP.NET Core con codice dietro, app per console, WinUI 3 e molti altri”. Ciò esclude le librerie di classi utilizzate da un'altra applicazione.

Alcuni tipi di modifiche potrebbero non essere applicati correttamente, che ti chiederà di riavviare con successo. Puoi vedere l'elenco completo di loro qui, ma l'essenza è:

  • Firme del metodo non modificate
  • Non aggiungere dichiarazioni d'uso
  • Interfacce non modificate
  • Senza rinominare i membri di alcun tipo

Fondamentalmente, puoi modificare il codice in qualsiasi metodo, ma una volta che inizi a toccare con mano la struttura del progetto, potrebbe essere necessario riavviare.

È ben integrato nell'esperienza di debug VS, Anche se è ancora “Anche se è ancora” Anche se è ancora. Puoi anche usare il nuovo dotnet watch comando per ricaricare automaticamente a caldo in caso di modifiche ai file.

Applicazioni web rasoio / Blazer può attualmente utilizzare la ricarica a caldo, ma Blazor WebAssembly ha ancora alcune cose da risolvere e attualmente non funziona ancora. tuttavia, ci sta lavorando ed è possibile che raggiunga la versione definitiva alla fine di novembre.

Prova a distanza

VS 2022 include un'anteprima sperimentale che consente di eseguire test in altri ambienti, compresi i contenitori Linux, WSL e anche tramite SSH.

Ha un po' di setup e, Certo, dovrai assicurarti che il tuo ambiente sia configurato per eseguire correttamente il codice, ma una volta che sono, sarai in grado di selezionare ambienti diversi durante l'esecuzione dei test.

Miglioramenti generali

Ci sono molti piccoli cambiamenti in abbattere dalle note sulla patch, quindi elencheremo alcuni dei più interessanti qui.

La purificazione ha visto alcuni miglioramenti nella qualità della vita, con nuove opzioni di contesto per punti di interruzione più avanzati, così come “Forza l'esecuzione sul cursore”, che ignorerà tutti i punti di interruzione esistenti e si fermerà alla riga di codice che hai selezionato. Questo può essere molto utile se vuoi testare qualcosa senza rimuovere tutti i punti di interruzione o saltare di nuovo tutto manualmente.

Menu contestuale del punto di interruzione

Forza l'esecuzione sul cursore

Le integrazioni VS Git ora supportano più repository per soluzione, e impegnarsi in molti repository ora è più facile.

Tutte le icone sono state ridisegnate per coerenza.

Esempi di nuove icone con sfondi chiari e scuri

I commenti XML ora supportano i commenti su più righe con spazi vuoti preservati e blocchi CDATA.

Informazioni rapide per XML preserva gli spazi bianchi

“Anche se è ancora” Anche se è ancora.

Trova tutti i gruppi di riferimento Progetti multiuso

Razor Pages / Blazor ha ottenuto numerose integrazioni di editing e ora funzionerà meglio con IntelliSense, evidenziazione della sintassi e migliore formattazione nei blocchi @code. Anche se è ancora “Anche se è ancora” Anche se è ancora, che è stata una fastidiosa limitazione per un po'.

Supporto per la classificazione di TagHelpers

E ci sono altri modelli di progetto, incluse le app Angular e React ospitate su ASP.NET Core, che può essere creato automaticamente con le integrazioni API.

Per ottenere l'elenco completo delle modifiche, puoi controllare il Note sulla patch VS 2022.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.