Novità di Visual Studio 2022?

0
327

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

Puoi scaricare l'anteprima dal loro sito web. Sebbene sia ancora “sperimentale,” e non è pronto per la produzione, è ancora Visual Studio, quindi, a meno che tu non dipenda da estensioni che non sono state ancora aggiornate, non aver paura di provarlo.

< p>Tratteremo le modifiche più importanti a partire dall'anteprima 3, ma se desideri leggere le note sulla patch riga per riga, puoi farlo dai documenti di Microsoft. C'è anche una tabella di marcia che descrive la direzione generale.

Finalmente è a 64 bit

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

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

Pubblicità

64-bit dovrebbe teoricamente funzionare più velocemente e sembra essere un po' più veloce nei tempi di avvio, ma Microsoft ha anche lavorato sulle prestazioni in generale, quindi è difficile dire quanto ciò influisca effettivamente su di esso. Ad ogni modo, un buon cambiamento.

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

IntelliCode AI è incredibile

Visual Studio 2022 offre un serio aggiornamento al motore di completamento automatico IntelliCode. È in grado di completare automaticamente intere righe e blocchi di codice e funziona molto bene.

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

IntelliCode adotta un approccio molto più ristretto e completa semplicemente 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 di IntelliSense, che puoi visualizzare fino a dare a IntelliCode ulteriori suggerimenti

Dopo averlo usato per due settimane, è davvero qualcosa che devi provare tu stesso. È incredibilmente intelligente e molte volte mentre lo usavo mi sono ritrovato a pensare “wow, stavo per scriverlo!”

Pubblicità

Ad esempio, scrivere una funzione che accetta un numero da 1 a 12:

Per comprendere e fornire questo risultato, IntelliCode sta facendo molto di più del semplice completamento automatico della sintassi; Capisce che mi aspetto un'eccezione, abbastanza ovvio dato che sto digitando “throw”, e può capire che questa eccezione viene generata solo se un confronto di dimensioni intere fallisce. Sa che Width è un argomento che viene verificato prima dell'esecuzione del codice e che sto generando un'eccezione perché c'è qualcosa di sbagliato nell'argomento.

Sapendo tutto questo, ci vuole un'ipotesi estremamente accurata sulle mie intenzioni e decide che un'eccezione ArgumentOutOfRangeException deve essere ciò che sto cercando di digitare, prima ancora di poter iniziare a digitare “nuovo”. 8221;

E, se scorri verso il basso, puoi riempire i risultati per diverse opzioni. È ancora un po' incoerente (ha deciso di codificare “Width” e poi ha usato nameof) ma nel complesso funziona bene.

IntelliCode è sempre in esecuzione e tutto ciò che devi fare è premere tab-tab per accettarlo, altrimenti puoi continuare a digitare. Attualmente funziona solo per C#, ma “arriveranno presto altri linguaggi.”

Supporto .NET 6

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

Pubblicità

In particolare, VS 2022 avrà il pieno supporto per .NET MAUI , o Interfaccia utente dell'app multipiattaforma, il nuovo standard di Microsoft per lo sviluppo di app native multipiattaforma.

Ricaricamento a caldo di .NET

Una delle cose più fastidiose della programmazione è fissare lo schermo, aspettare che la tua app venga compilata e avviata e si aggiorni con le ultime modifiche. Il ricaricamento a caldo è una funzionalità di molti altri linguaggi come JavaScript ed è stato utilizzato da framework Web come React per apportare modifiche rapide. Finora, però, non esisteva una soluzione standardizzata per .NET.

Non è completamente universale e richiede una configurazione specifica del progetto, ma VS 2022 include il ricaricamento a caldo per “WPF, Windows Forms, anteprime .NET MAUI, code-behind app ASP.NET Core, applicazioni 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, il che richiederà di eseguire un riavvio corretto. Puoi visualizzarne l'elenco completo qui, ma il succo è:

  • Nessuna modifica delle firme dei metodi
  • Nessuna aggiunta di istruzioni using
  • Nessuna modifica delle interfacce
  • Nessuna ridenominazione di membri di alcun tipo

Fondamentalmente, puoi modificare il codice in qualsiasi metodo, ma una volta che inizi a toccare la struttura del progetto, potresti dover riavviare.

È integrato bene nell'esperienza di debug VS, con una nuova icona per “Applica modifiche al codice” che attiverà la ricarica a caldo. Puoi anche utilizzare il nuovo comando dotnet watch per ricaricare automaticamente le modifiche ai file.

Pubblicità

Le applicazioni Web Razor/Blazor possono attualmente utilizzare il ricaricamento a caldo, ma Blazor WebAssembly ha ancora alcune cose da risolvere e attualmente non funziona ancora. Tuttavia, è in fase di elaborazione e potrebbe arrivare nella versione finale a novembre.

Test remoto

VS 2022 include un'anteprima sperimentale che consente di eseguire test in altri ambienti, inclusi container Linux, WSL e persino su SSH.

Ha un po' di configurazione e ovviamente dovrai assicurati che il tuo ambiente sia configurato per eseguire correttamente il codice, ma una volta che sarà possibile selezionare ambienti diversi durante l'esecuzione dei test.

Miglioramenti generali

Ci sono molte piccole modifiche da eliminare rispetto alle note sulla patch, quindi elencheremo alcune delle più interessanti qui.

Il debug ha visto alcuni miglioramenti della qualità della vita, con nuove opzioni di contesto per punti di interruzione più avanzati, nonché “Force Run To Cursor,” che ignorerà tutti i punti di interruzione esistenti e si fermerà sulla riga di codice che hai selezionato. Questo può essere molto utile se desideri testare qualcosa senza rimuovere ogni punto di interruzione o saltare manualmente tutto di nuovo.

Le integrazioni Git di VS ora supportano più repository per soluzione e il commit su molti i repository ora sono più facili.

Tutte le icone sono state ridisegnate per coerenza.

Pubblicità

I commenti XML ora supportano i commenti su più righe con spazio bianco preservato e blocchi CDATA.

“Trova tutti i riferimenti” non produce più output ripetuto spazzatura quando in un progetto multi-target.

Razor Pages/Blazor ha ottenuto numerose integrazioni di modifica e ora funzionerà meglio con IntelliSense, l'evidenziazione della sintassi e una migliore formattazione nei blocchi @code. Ora puoi anche utilizzare “Visualizza codice” nei file Razor, che è stata una fastidiosa limitazione per un po'.

E ci sono alcuni altri modelli di progetto, incluse le applicazioni Angular e React ospitate in ASP.NET Core, che possono essere realizzate automaticamente con le integrazioni API.

Per l'elenco completo delle modifiche, puoi fare riferimento alle note sulla patch VS 2022.