Note sulla versione di Visual Studio 2022 Preview
Microsoft è lieta di annunciare la disponibilità di Visual Studio 2022 v17.12. Questo aggiornamento è incentrato sulla fornitura di esperienze di sviluppo fantastiche per lavorare con i progetti .NET 9 e le nuove funzionalità di produttività dell'intelligenza artificiale, oltre a miglioramenti continui all-around.
Funzionalità
Tutte le nuove funzionalità nella versione di anteprima più recente.
Produttività
Copia dall'elenco errori 📣
La copia di un errore dall'elenco errori copia ora solo la descrizione anziché l'intera riga negli Appunti.
Viene visualizzato un errore nell'elenco errori che non si sa come correggere. Quindi, selezionarlo e premere CTRL+C per copiare la descrizione per una ricerca Web. Dopo averlo incollato nel motore di ricerca, ci si rende conto che ha copiato tutte le intestazioni di colonna e i valori di riga anziché solo la descrizione. È ora necessario eliminare tutto tranne la descrizione dell'errore prima di poter eseguire la ricerca Web. Si tratta di una situazione complessa, ma ora abbiamo un rimedio!
Quando si copia un errore dall'elenco errori usando CTRL+C, solo la descrizione viene copiata negli Appunti. In questo modo è più semplice cercare l'errore online o condividerlo con altri utenti.
È comunque possibile copiare l'intera riga facendo clic con il pulsante destro del mouse sull'errore e scegliendo Copia riga dal menu di scelta rapida o premendo CTRL+MAIUSC+C.
Se ciò che si vuole fare con la descrizione dell'errore era eseguire una ricerca Web, premere CTRL+F1 per cercare informazioni sull'errore online.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Vai alla riga in qualsiasi punto della ricerca di codice 📣
In Ricerca codice è ora possibile passare a una riga specifica nel documento corrente o in un altro documento specificato.
A volte si sa che c'è un problema in una determinata riga nel codice e si desidera accedervi rapidamente. Forse si è parlato di un errore generato alla riga 43 di un certo file o si vuole arrivare alla fine di un file specifico.
Ricerca codice supporta ora lo spostamento rapido in una riga specifica nel codice.
Aprire Ricerca codice e passare a una riga nel documento corrente usando i due punti e il numero di riga. Ad esempio,
:39
passerà alla riga 39 nel file attivo.È anche possibile passare a una riga in un documento diverso usando il nome file + due punti + numero di riga. Ad esempio,
Order:43
passerà alla riga 43 in Order.cs. Se non si specifica il nome di file esatto, la ricerca tenterà di trovare la corrispondenza migliore.📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Ancorare la finestra Ricerca codice 📣
È ora possibile posizionare liberamente la finestra Ricerca codice con funzionalità come l'ancoraggio e la nascondere automaticamente.
Se si ha bisogno che la Ricerca per codice o la Ricerca per funzioni non siano di intralcio, ora si ha un maggiore controllo sul comportamento della finestra di ricerca.
È ora possibile ancorare la finestra di ricerca ed eseguire azioni della finestra degli strumenti, ad esempio Esplora soluzioni e altre.
Dopo aver aperto Ricerca codice o Ricerca funzionalità, fare clic sull'icona della casella in alto a destra per convertirla in una finestra degli strumenti. È possibile scegliere di agganciarlo altrove, di estrarlo, di nasconderlo automaticamente, ecc. È possibile ripristinare la finestra non consentita chiudendo la finestra degli strumenti e riaprendo la ricerca.
Inoltre, abbiamo semplificato e ripulito l'esperienza di anteprima nella ricerca. È ora presente un pulsante, indicato con un'icona a forma di occhio, per attivare e disattivare l'anteprima.
Inoltre, la posizione del pannello di anteprima verrà modificata in base alle dimensioni della finestra di ricerca.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Personalizzare l'indicatore di testo compresso 📣
Impostare colori personalizzati per l'indicatore di testo compresso nell'editor di Visual Studio.
È ora possibile personalizzare ulteriormente l'esperienza dell'editor con nuove opzioni per personalizzare l'indicatore di testo compresso:
Per provare e impostare colori di primo piano e sfondo personalizzati per ognuno, passare a Strumenti > Opzioni > Tipi di carattere e colori dell'ambiente>.
Sono disponibili due nuovi elementi per la personalizzazione:
- Indicatore di testo compresso (compresso)
- Indicatore di testo compresso (espanso)
È possibile impostare i colori per gli indicatori compressi ed espansi in modo indipendente l'uno dall'altro usando colori predefiniti o colori personalizzati di propria scelta.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Aggiornare i risultati della ricerca 📣
È ora possibile aggiornare i risultati a una ricerca precedente per ottenere corrispondenze di ricerca aggiornate.
Molti utenti segnalano che è frustrante dover riaprire la finestra Trova e ripetere la ricerca per ottenere risultati aggiornati. È possibile che sia stato eseguito il refactoring di codice e che sia necessario verificare che tutto sia stato modificato come previsto, oppure possono essere state estratte alcune modifiche recenti ed è necessaria l'operazione di ricerca recente affinché vengano riportati tali aggiornamenti.
Dopo aver completato Trova nei file, sarà ora possibile aggiornare i risultati della ricerca nella finestra. Si otterranno i risultati aggiornati senza dover ripetere la ricerca.
È stata riprogettata anche l'opzione Ripeti ricerca precedente per distinguerla da Aggiorna. Ora è rappresentato come Modifica ricerca con un'icona a forma di matita. Questo pulsante riaprirà comunque Trova nei file con gli stessi criteri di ricerca usati per la finestra dei risultati.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Più spazio per la barra di scorrimento orizzontale 📣
È ora possibile controllare la visibilità degli indicatori a livello di file in CodeLens.
L'area con la barra di scorrimento orizzontale può diventare piuttosto disordinata in Visual Studio. Stiamo aiutando a semplificare la pulizia disattivando gli indicatori a livello di file in CodeLens per impostazione predefinita.
Se si vuole attivare l'opzione , è possibile trovare l'opzione Mostra indicatore CodeLens a livello di file in Strumenti > Opzioni > Editor > di testo Avanzate. Questa opzione influisce sulla visibilità dei tipi di file con il controllo CodeLens a livello di file nel margine dell'editor inferiore, ad esempio XAML, HTML e CSS e non influisce sui file che contengono CodeLens inline.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Pulizia del codice senza blocco al salvataggio
Quando la pulizia del codice viene eseguita su Salva, ora funziona in modo non bloccante, per un'esperienza di codifica più fluida.
In precedenza, quando viene eseguita una pulizia del codice in Salva, non è possibile eseguire alcuna azione nell'IDE. Questa operazione è stata migliorata per operare in modo non bloccante.
Il processo di pulizia verrà eseguito in background e può essere annullato automaticamente se si riprende la digitazione, garantendo un'esperienza di codifica più fluida e reattiva.
GitHub Copilot
Ispezione intelligente delle variabili di intelligenza artificiale
Ottimizzare il flusso di lavoro di debug con l'ispezione integrata delle variabili di intelligenza artificiale.
L'ispezione e l'analisi dei valori da variabili Locali, Auto e DataTips non è mai stata più semplice con Chiedi a GitHub Copilot in Visual Studio. È sufficiente fare clic con il pulsante destro del mouse su qualsiasi valore per ottenere informazioni dettagliate basate sull'intelligenza artificiale in merito a errori, risultati imprevisti o anomalie, senza mai uscire dall'ambiente di sviluppo integrato.
Questa funzionalità migliorerà significativamente la velocità di risoluzione dei problemi analizzando le variabili in tempo reale all'interno dell'ambiente di sviluppo integrato ogni volta che emergono valori imprevisti.
Importante
Per usare questa funzionalità, assicurarsi di attivare GitHub Copilot
Visualizzatore IEnumerable basato su intelligenza artificiale
Espressioni modificabili LINQ basate su intelligenza artificiale nel visualizzatore IEnumerable.
È stata migliorata la funzionalità di espressione modificabile nel visualizzatore IEnumerable con l'assistenza per l'intelligenza artificiale. La nuova funzionalità Ask Copilot consente agli utenti di sfruttare l'IA direttamente nella casella di testo dell'espressione modificabile per creare espressioni LINQ complesse.
Per accedere alla chat di GitHub Copilot, è sufficiente fare clic sull'icona di GitHub Copilot nell'angolo in basso a destra della sezione dell'espressione modificabile. Nella chat sono disponibili esempi di sintassi LINQ. Inoltre, è possibile descrivere la query in linguaggio naturale e GitHub Copilot genererà la query LINQ corrispondente. Per applicare il filtro di query LINQ al visualizzatore, usare il pulsante Mostra nel visualizzatore nella chat.
Fornisce feedback istantaneo e indicazioni, rendendo il processo di creazione di filtri e trasformazioni complessi più intuitivo ed efficiente.
Importante
Per usare questa funzionalità, assicurarsi di attivare GitHub Copilot
Eseguire il debug di test con GitHub Copilot
Ottenere assistenza per il debug di test non riusciti usando i test di debug con GitHub Copilot.
Serve aiuto per eseguire il debug degli unit test non riusciti. GitHub Copilot può ora essere utile fornendo un piano di debug e guidando l'utente durante il processo di debug del test non riuscito per ottenere il superamento del test facendo clic sul pulsante Debug con Copilot nell'Editor elenco dei test.
Dopo aver avviato la funzionalità, GitHub Copilot fornirà un piano di debug, imposterà i punti di interruzione e le variabili di controllo appropriati e avvierà la sessione di debug. Quando raggiunge il punto di interruzione, fornisce a GitHub Copilot i valori delle variabili controllate e determina il passaggio successivo: continuare il debug o risolvere il codice del problema. È possibile continuare con questa conversazione fino a quando il test non viene superato.
Importante
Per usare questa funzionalità, assicurarsi di attivare GitHub Copilot
Correzione del codice con GitHub Copilot 📣
GitHub Copilot consente di risolvere i problemi di codice.
GitHub Copilot è ora integrato nell'elenco di lampadine ed errori, fornendo correzioni rapide e spiegazioni dettagliate per i problemi relativi al codice. Che si stia sviluppando in C# o C++, questa funzionalità consente di comprendere e risolvere i problemi nella codebase in modo più efficiente.
Per iniziare, è sufficiente richiamare la lampadina e selezionare Correggi con Copilot. Verrà avviata una chat inline con GitHub Copilot che offre una correzione disponibile.
È anche possibile selezionare l'icona di GitHub Copilot dall'elenco degli errori per aprire il pannello della chat, in cui sono disponibili spiegazioni dettagliate e soluzioni per l'errore.
Sfruttando le LLM, GitHub Copilot fornisce spiegazioni e correzioni utili direttamente all'interno della lampadina e dell'elenco degli errori, migliorando l'esperienza di scrittura di codice.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Importante
Per usare questa funzionalità, assicurarsi di attivare GitHub Copilot
Migliori completamenti di intelligenza artificiale per C#
GitHub Copilot offre un contesto aggiuntivo dai file di origine pertinenti per migliorare i completamenti per C#.
I completamenti di codice di GitHub Copilot forniscono suggerimenti di completamento automatico inline durante la scrittura di codice. Questi suggerimenti vengono generati in base al contenuto del file attualmente attivo e a qualsiasi altro file aperto nell'editor. Tuttavia, è stato scoperto che l'incorporazione di contesto più rilevante migliora significativamente questi suggerimenti.
Per migliorare l'esperienza per gli sviluppatori C#, GitHub Copilot è stato aggiornato per includere contesto C# aggiuntivo, ad esempio i tipi e i metodi disponibili nei completamenti.
Con la versione più recente di Visual Studio, GitHub Copilot considera ora automaticamente i file semanticamente pertinenti per contesto aggiuntivo, anche se questi file non sono aperti nell'editor. Questo miglioramento aiuta a ridurre le allucinazioni, offrendo suggerimenti più pertinenti e accurati.
Prima: i file semanticamente rilevanti non vengono considerati come contesto per i completamenti di GitHub Copilot
Dopo: i file semanticamente pertinenti vengono considerati come contesto per i completamenti di GitHub Copilot
Importante
Per usare questa funzionalità, assicurarsi di attivare GitHub Copilot
Riferimento al codice in GitHub Copilot
Introduzione al codice che fa riferimento in GitHub Copilot, consentendo di consentire suggerimenti di codice contenenti corrispondenze di codice pubblico durante la ricezione di informazioni dettagliate sulla corrispondenza.
Siamo lieti di annunciare che il riferimento al codice è ora disponibile in GitHub Copilot in Visual Studio.
Questa nuova funzionalità offre trasparenza per gli sviluppatori notificando loro quando i suggerimenti di GitHub Copilot corrispondono al codice pubblico. È ora possibile visualizzare il codice corrispondente, il relativo file di origine e le informazioni sulle licenze associate, consentendo loro di prendere decisioni più informate durante la codifica.
Il riferimento al codice consente di bloccare o consentire suggerimenti contenenti corrispondenze di codice pubblico, migliorando il controllo e la personalizzazione.
Integrando il codice che fa riferimento a GitHub Copilot, stiamo promuovendo la condivisione delle conoscenze, migliorando la trasparenza e consentendoti di creare con fiducia. Che si tratti di un singolo sviluppatore o di un team più ampio, questa funzionalità migliora il flusso di lavoro e consente di esplorare facilmente le complessità del codice pubblico.
Provare subito GitHub Copilot in Visual Studio e assumere il controllo del processo di sviluppo con maggiore trasparenza e fiducia.
Importante
Per usare questa funzionalità, assicurarsi di attivare GitHub Copilot
Chat guidata in GitHub Copilot
Introduzione a un nuovo modo più colloquiale per chattare con GitHub Copilot.
Stiamo presentando un nuovo modo, più conversazionale, per interagire con GitHub Copilot Chat.
Abbiamo introdotto un modo interattivo e conversazionale per usare GitHub Copilot Chat. Gli utenti non si sentiranno più bloccati o insicuri grazie a GitHub Copilot, che li guiderà attraverso domande chiarificatrici quando il contesto non è chiaro, a garanzia di risposte più accurate e utili.
Questa esperienza di chiat guidata consente di affinare le query, offrire suggerimenti e garantire interazioni lineari e più produttive. Con questa nuova modalità di chat, gli utenti avranno a disposizione un GitHub Copilot più intelligente e intuitivo, che si adatta alle esigenze degli utenti mentre si scrive codice.
Si consiglia di provare la nuova esperienza di chat oggi stesso e scoprire le differenze.
Importante
Per usare questa funzionalità, assicurarsi di attivare GitHub Copilot
Prompt di avvio in GitHub Copilot
Iniziare più rapidamente con i prompt di avvio in GitHub Copilot Chat!
Con le richieste di base, iniziare a usare l'esperienza di GitHub Copilot Chat sarà un gioco da ragazzi.
È necessaria assistenza con GitHub Copilot Chat? Abbiamo introdotto alcune richieste di base per ispirare e guidare gli utenti nell'ambito delle loro prime interazioni. Queste domande pre-selezionate vengono progettate per generare idee ed esplorare il potenziale completo delle funzionalità di GitHub Copilot.
Che si desideri esplorare nuove attività di codifica o cercare solo ispirazione, le nostre richieste sono qui per aiutare gli utenti a sfruttare al meglio GitHub Copilot Chat.
Consigliamo di provarle e scoprire le loro potenzialità.
Importante
Per usare questa funzionalità, assicurarsi di attivare GitHub Copilot
Debug e diagnostica
Debug di Blazor WebAssembly 📣
Esperienza di debug migliorata per le app WebAssembly Blazor destinate a .NET 9 o versioni successive.
Visual Studio offre ora un'esperienza di debug migliorata per le app WebAssembly Blazor destinate a .NET 9 o versione successiva:
- I tipi di dati visualizzati nel debugger corrispondono ora ai tipi di dati .NET previsti.
- I membri del tipo e la visibilità dei membri usano le icone previste.
- Lo stack di chiamate visualizzato viene pulito per visualizzare solo lo stack di chiamate .NET e rispetta correttamente l'impostazione Just My Code.
- La finestra moduli è ora supportata.
- Il supporto della valutazione delle espressioni nella finestra Immediata e per gli orologi e i punti di interruzione condizionali è stato espanso e migliorato.
Per abilitare la nuova esperienza di debug in anteprima:
- Abilitare l'impostazione Abilita nuovo debugger .NET 9+ Mono.
- Installare la versione più recente di .NET 9 SDK.
- Aggiornare l'app Blazor in modo che sia destinata a .NET 9.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Istogramma del contatore nel profiler
Miglioramento delle informazioni dettagliate sulle prestazioni usando l'istogramma del contatore del contatore del profiler.
Il recente miglioramento della suite di profilatura delle prestazioni di Visual Studio introduce la funzionalità istogramma del contatore. Questo strumento consente di identificare e analizzare dati dell'istogramma generati da strumenti istogrammi. Quando si registrano dati da questi strumenti, vengono visualizzati i risultati dell'istogramma, fornendo una rappresentazione chiara della distribuzione dei dati.
Inoltre, il grafico corsia offre una visualizzazione dettagliata e segmentata delle metriche delle prestazioni, aiutando a individuare e risolvere efficacemente i problemi di prestazioni.
Visualizzare i valori restituiti del metodo 📣
Il debugger mostra ora i valori restituiti inline con l'assistenza per l'intelligenza artificiale per migliorare l'efficienza.
Il debugger di Visual Studio visualizza ora i valori inline per le istruzioni restituite, rispondendo a una delle funzionalità più richieste dalla community degli sviluppatori.
Questo miglioramento consente di vedere i valori esatti restituiti dalle funzioni direttamente nel codice, eliminando la necessità di codice aggiuntivo o di variabili temporanee per ispezionare i valori di ritorno.
Con GitHub Copilot, è possibile usarlo ulteriormente usando l'opzione Ask Copilot al passaggio del mouse per analizzare i valori restituiti direttamente in Visual Studio, consentendo di risolvere immediatamente i problemi.
È supportato sia nel codice nativo che in quello gestito.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Esportare i gruppi di punti di interruzione con facilità 📣
Importazione ed esportazione semplici dei gruppi di punti di interruzione.
I gruppi di punti di interruzione di Visual Studio ora supportano funzionalità di importazione ed esportazione, consentendo agli utenti di gestire con facilità e mantenere le strutture di scomposizione tra più progetti o ambienti.
Questa nuova funzionalità consente di esportare i gruppi di punti di interruzione con le configurazioni e importarli in soluzioni diverse, garantendo una configurazione di debug coerente senza dover ricreare manualmente i gruppi di punti di interruzione.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
IntelliSense per il visualizzatore IEnumerable 📣
Visualizzatore IEnumerable avanzato con IntelliSense per query LINQ più veloci.
Il visualizzatore IEnumerable è stato ottimizzato con IntelliSense e offre suggerimenti di codice in tempo reale e completamento automatico, per rendere la scrittura di espressioni LINQ più veloce e accurata.
Questa miglioria semplifica il processo di creazione e modifica delle query offrendo raccomandazioni per il codice intelligenti, riducendo la probabilità di errore e velocizzando i tempi di sviluppo.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Analizzare l'uso della memoria nel tempo
Selezionare e confrontare più snapshot di memoria usando la finestra Strumento di diagnostica.
La finestra Strumento Diagnostica supporta ora il confronto degli snapshot di memoria, semplificando l'analisi delle modifiche alla memoria nel tempo.
Per usare questa funzionalità, assicurarsi di avere più snapshot di memoria acquisiti nella scheda Memoria, nella finestra Strumento Diagnostica.
Selezione di snapshot per il confronto
- Tenere premuto CTRL e fare clic sulle righe dello snapshot per selezionare più snapshot.
- In alternativa, tenere premuto MAIUSC e usare i
up/down
tasti di direzione per selezionare più snapshot consecutivi.Annullamento della selezione snapshot
- Tenere premuto CTRL e fare clic sullo snapshot che si desidera deselezionare.
Visualizzazione della differenza
Dopo aver selezionato gli snapshot di memoria per il confronto, fare clic sul pulsante Visualizza diff che si trova sopra l'elenco di snapshot, per visualizzare le differenze.
Strumenti Git
Gestire la ridenominazione dei file con Git 📣
Quando si rinominano i file con una nuova notifica, è possibile ottenere la tranquillità.
Quando si rinominano i file da Esplora soluzioni, verrà visualizzato un promemoria per preparare le modifiche per visualizzare le ridenominazione in Git. In questo modo si aumenta la sicurezza che Git riconosca la modifica del file e lo stia monitorando correttamente. Abbiamo scoperto che questo è un punto di confusione per molti clienti, quindi abbiamo lavorato con gli utenti della community degli sviluppatori per produrre una nuova notifica.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Bozze e modelli di richiesta pull 📣
Creare bozze di richieste pull e avviare le descrizioni con i modelli in Visual Studio.
È ora possibile creare bozze di richieste pull e avviare le descrizioni con i modelli GitHub in Visual Studio. Si tratta delle due richieste principali per la creazione di un'esperienza di richiesta pull.
Richieste pull bozza
Usare il menu a discesa nel pulsante Crea per Creare come bozza.
Modelli di richiesta pull
Il modello di richiesta pull predefinito verrà usato quando si crea una nuova richiesta pull per GitHub e Azure DevOps. Altre informazioni su come aggiungere un modello di richiesta pull al repository nella documentazione di GitHub e nella documentazione di Azure DevOps.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione. E prendi questo sondaggio per migliorare ulteriormente la funzionalità.
Nota
Questa funzionalità deve essere abilitata in Strumenti -> Gestire le funzionalità di anteprima
Creare repository GitHub interni 📣
Visual Studio supporta ora la creazione di repository interni e include indicazioni per ogni tipo di repository per offrire maggiore attendibilità all'avvio di un nuovo progetto.
Visual Studio supporta ora repository interni per le organizzazioni GitHub. Sono state inoltre fornite indicazioni su ogni tipo di repository per offrire maggiore chiarezza sulla visibilità del nuovo progetto a seconda dell'account in uso.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Copiare il collegamento Git 📣
È possibile ottenere un collegamento a gitHub o Azure DevOps a una riga di codice specifica per semplificare la condivisione con i colleghi.
Ogni volta che si condividono alcune righe di codice con i colleghi, spesso può essere utile per loro ottenere un contesto aggiuntivo dal repository. Tuttavia, se stanno lavorando su qualcos'altro, controllare il ramo può richiedere troppo tempo e interromperebbero il loro lavoro.
Ora è possibile evidenziare il codice che si vuole condividere nell'editor, aprire il menu di scelta rapida con un clic con il pulsante destro del mouse e nel sottomenu Git ottenere un collegamento condivisibile al codice in GitHub o Azure DevOps. In questo modo è semplice e facile collaborare e semplifica il flusso tra l'IDE e i repository remoti sul Web.
È anche possibile ottenere collegamenti condivisibili direttamente dalla cronologia dei commit. Ciò consente di fare riferimento al codice non ancora controllato con la stessa facilità.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Supporto di più repository Git 📣
È ora possibile creare richieste pull e collegare elementi di lavoro in scenari multi-repository per GitHub e Azure DevOps.
È ora possibile creare richieste pull e collegare elementi di lavoro in scenari multi-repository. Sia per GitHub che per Azure DevOps, le integrazioni vengono supportate quando si usa la selezione repository per concentrarsi su un determinato repository negli scenari con più repository.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Personalizzare il messaggio di commit git per intelligenza artificiale 📣
È possibile aggiungere istruzioni aggiuntive alla richiesta di generazione del messaggio di commit Git con GitHub Copilot.
È ora possibile aggiungere istruzioni aggiuntive alla richiesta di generazione del messaggio di commit Git con GitHub Copilot. In questo modo è possibile personalizzare il messaggio di commit in base agli standard del flusso di lavoro e del team. È possibile specificare il numero di righe da generare, la lunghezza delle righe e anche fornire uno stile di commit di esempio. Modificare il messaggio nel campo Strumenti > Opzioni > controllo del codice > sorgente Copilot > Istruzioni aggiuntive: campo prompt.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
IDE
Configurazione di avvio multiprogetto 📣
Semplificare il debug configurando e salvando i profili per progetti specifici in soluzioni multi-progetto. Condividere le configurazioni con il team con facilità.
La funzionalità di configurazione di avvio multi-progetto consente di configurare e salvare i profili per lanciare progetti specifici in una soluzione multi-progetto in stati predefiniti di debug.
Questo semplifica il processo di elaborazione di soluzioni complesse, migliora l'efficienza del debug e consente di condividere le configurazione tra i membri del team.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Nota
Questa funzionalità deve essere abilitata in Strumenti -> Gestire le funzionalità di anteprima
Avvisi di sicurezza MotW
Gli avvisi di sicurezza Web (MotW) sono ora integrati nella funzionalità di attendibilità complessiva.
Visual Studio visualizzerà un avviso di sicurezza quando rileva che si sta tentando di aprire il contenuto contrassegnato con l'identificatore Mark of the Web (MotW).
Questo nuovo avviso correlato all'attendibilità indica i rischi legati all'apertura di contenuti da origini potenzialmente non sicure, ad esempio download Internet.
È possibile modificare l'esperienza di attendibilità predefinita passando a Impostazioni attendibilità in Strumenti > Opzioni > ambiente.
Mantenere il tipo di carattere tra le modifiche del tema 📣
La modifica dei temi ora ricorderà le preferenze relative al tipo di carattere e alle dimensioni del carattere.
Sappiamo che i tipi di carattere selezionati dagli sviluppatori durante la codifica sono una scelta personale, influenzata dalle preferenze di leggibilità, accessibilità o estetica. I temi di Visual Studio si concentrano principalmente sui colori della presentazione e sono indipendenti dai tipi di carattere preferiti.
Con questo aggiornamento, abbiamo introdotto una funzionalità che conserva le scelte relative all'aspetto e alle dimensioni del tipo di carattere quando si cambiano i temi. Ora è possibile impostare le preferenze relative ai tipi di carattere una sola volta, quindi cambiare tema in Visual Studio senza dover riconfigurare ogni volta le impostazioni del tipo di carattere. Si noti che i colori dei tipi di carattere rimangono collegati al tema, in quanto questo è lo scopo dei temi, ma le selezioni dei tipi di carattere verranno mantenute.
Questa funzionalità verrà abilitata per impostazione predefinita per tutti gli utenti. Se si preferisce il comportamento precedente, passare a Strumenti Gestisci funzionalità di anteprima e trovare l'opzione Separare le impostazioni del carattere dalla selezione> del tema colori. Se questa opzione è selezionata, le preferenze dei tipi di carattere verranno mantenute indipendentemente dalle modifiche al tema. Deselezionare la casella per ripristinare il comportamento precedente che collega le scelte dei tipi di carattere al tema.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Nuovi modelli di intelligenza artificiale di Teams Toolkit
Teams Toolkit esegue l'onboarding di nuovi modelli di app di Teams per intelligenza artificiale.
Toolkit di Teams aggiunge tre nuovi modelli di intelligenza artificiale di app di Teams:
Sono:
Basic AI Chat Bot: i copiloti in Microsoft Teams creati con la libreria di intelligenza artificiale di Teams
Analizza i dati in chat: modello di chatbot intelligente con informazioni sul dominio dell'origine dati personalizzata.
Toolkit di Teams consente ora di creare un Copilot personalizzato, ovvero un chatbot basato sull'intelligenza artificiale con funzionalità RAG, in grado di comprendere il linguaggio naturale e recuperare i dati di dominio per rispondere a domande specifiche del dominio. Questo modello supporta l'accesso ai dati personalizzati nell'app Copilot personalizzata.
Quando si seleziona questo modello, è possibile selezionare due modi per connettersi ai dati:
a. Azure AI Search: il chatbot può accedere ai dati nel servizio Azure AI Search e usarli nella conversazione con gli utenti.
b. Origine dati personalizzata: è possibile aggiungere l'origine dati desiderata all'app Copilot personalizzata, ad esempio il file system o il database vettoriale.
Agente di intelligenza artificiale: un agente di intelligenza artificiale in Teams che può prendere decisioni ed eseguire azioni in base al ragionamento LLM.
Provare i nuovi modelli di app di intelligenza artificiale per iniziare il percorso di intelligenza artificiale in Teams.
Copiare file tra istanze 📣
È ora possibile copiare file e cartelle da Esplora soluzioni in un'istanza di Visual Studio a un'altra.
Siamo lieti di introdurre una funzionalità molto richiesta in Visual Studio. È ora possibile copiare e incollare facilmente file di codice e cartelle tra diverse istanze di Visual Studio usando il Esplora soluzioni. È sufficiente selezionare il file o la cartella desiderata, usare CTRL C o CTRL++X, passare a un'altra istanza di Visual Studio e usare CTRL+V per includere tali file o cartelle nella nuova soluzione. Tutte le modifiche verranno riflesse accuratamente nel file system.
Oltre a copiare e incollare, è anche possibile trascinare i file e le cartelle da un'istanza di Visual Studio a un'altra.
In precedenza, questa funzionalità era disponibile solo per alcuni tipi di progetto, ma ora è stata espansa per includere tutti i tipi di progetto principali in Visual Studio.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Controlli di revoca dei certificati
Visual Studio avvisa ora se rileva problemi di certificato digitale durante le chiamate di rete.
Ora, Visual Studio verifica la validità dei certificati digitali e invia una notifica in caso di problemi con il certificato digitale per le chiamate di rete.
Ogni volta che viene rilevato un errore, una finestra di dialogo interrompe temporaneamente la connessione, fornisce informazioni dettagliate sul problema specifico del certificato e chiede se si voglia annullare o procedere con la connessione.
Anche se è consigliabile mantenere sempre abilitata questa funzionalità, è possibile disabilitarla passando a Strumenti > Opzioni > Certificati dell'ambiente >
Cloud
app Azure Servizio pubblica gli aggiornamenti della sicurezza
Pubblicazione in app Azure Servizio in modo sicuro usando gli aggiornamenti della sicurezza integrati.
Le linee guida per la pubblicazione di Servizio app di Azure consigliano ai clienti di disabilitare l'autenticazione di base e di abilitare la pubblicazione tramite l'autenticazione integrata.
La nuova funzionalità di Visual Studio 2022 disabilita l'autenticazione di base e abilita la sicurezza integrata per la pubblicazione nel servizio app Azure. Ciò garantisce che la pubblicazione delle credenziali venga gestita in modo sicuro, riducendo i rischi associati all'autenticazione di base.
Quando si pubblica in un servizio di app Azure con l'autenticazione di base abilitata (non consigliata), gli utenti visualizzeranno l'opzione Attiva autenticazione di base e verrà deselezionata per impostazione predefinita. I clienti che devono conservare l'autenticazione di base possono selezionare la casella, ma dato che è consigliabile disabilitare l'autenticazione di base, questa opzione è deselezionata per impostazione predefinita. Si inizia quindi a proteggere se questa è la prima volta che si pubblica o si ottiene la sicurezza dopo aver eseguito il processo di pubblicazione dopo l'aggiornamento di Visual Studio.
Se l'app Web è stata creata di recente tramite il portale o questa o una versione futura di Visual Studio, l'autenticazione di base verrà disabilitata per impostazione predefinita. Per qualsiasi app Web già disabilitata, l'autenticazione di base viene aggirata inavvertitamente rendendo l'app Web meno sicura disabilitando completamente la casella di controllo, in modo da mantenere la sicurezza.
Supporto di Processi Web di Azure per Linux 📣
La pubblicazione in Processi Web di Azure in Linux è ora supportata facendo clic con il pulsante destro del mouse su Pubblica in Visual Studio.
Le app console .NET 5.0+ multipiattaforma sono supportate in Processi Web di Azure Linux e ora è possibile fare clic con il pulsante destro del mouse per pubblicare il codice in Processi Web di Azure in Linux da Visual Studio.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
consumo flessibile Funzioni di Azure
Pubblicare nel piano di hosting a consumo di Azure Flex, attualmente disponibile in anteprima.
Se si sta provando il nuovo piano di hosting a consumo di Funzioni di Azure Flex, attualmente in anteprima, sarà possibile fare clic con il pulsante destro del mouse su Pubblica in Flex da Visual Studio.
Flex a consumo estenderà ulteriormente le funzionalità delle app e fornirà quanto segue:
- Integrazione della rete virtuale senza costi aggiuntivi
- Scalabilità rapida e prevedibile grazie alla scelta delle dimensioni dell'istanza e al controllo della concorrenza per istanza
- Serverless con scalabilità a zero e si paga solo per le istanze mentre sono attive
- Mitigazione dell'avvio a freddo con la funzionalità facoltativa delle istanze Always Ready
Per altre informazioni su Flex a consumo, vedere l'annuncio del post di blog o la documentazione dell'annuncio e provare uno dei nostri esempi.
Aggiornamento della sicurezza dei servizi connessi
Rendere le app e lo sviluppo più sicuri.
In questo aggiornamento di Servizi connessi è ora possibile connettere il codice del progetto alle risorse di Azure, come Archiviazione di Azure, senza la necessità di segreti o stringhe di connessione nel codice o nella configurazione.
Ora si assegna un nome alla connessione, gli endpoint vengono salvati in modo permanente nella configurazione anziché nella stringa di connessione completa. Ciò si traduce in un minor numero di segreti su disco, quindi il tempo di sviluppo per impostazione predefinita sarà più sicuro, e si commetteranno meno errori durante il commit dei segreti nel controllo del codice sorgente.
Vengono inoltre usati gli SDK di Azure più recenti, quindi si otterrà il supporto per la connessione alle risorse di Azure usando l'account di accesso di Visual Studio (o l'interfaccia della riga di comando di Azure) anziché connettersi tramite una stringa di connessione. Durante l'esecuzione in locale, il codice userà le credenziali registrate per accedere alle risorse. Quando l'esecuzione è su Azure, l'SDK Azure userà l'identità gestita del servizio app per accedere alle risorse.
Servizi connessi imposta tutto per l'utente e inserisce il codice appropriato per l'uso dell'identità integrata anziché dei segreti. Durante la pubblicazione, l'app verrà configurata con l'identità e i ruoli appropriati necessari per accedere alle risorse.
Desktop
Ricerca avanzata dei componenti WinUI
Migliorare la configurazione del progetto WinUI con una ricerca Programma di installazione di Visual Studio migliorata, semplificando la posizione dei componenti per gli sviluppatori.
Semplificare ulteriormente la configurazione del progetto WinUI con l'aggiornamento più recente del programma di installazione di Visual Studio. Gli sviluppatori possono ora individuare rapidamente i componenti correlati a WinUI, eliminando la frustrazione precedente dovuta allo spostamento attraverso un risultato di ricerca vuoto. Questo miglioramento semplifica la configurazione dell'ambiente di sviluppo, consentendo un'esperienza utente più intuitiva ed efficiente.
Aprire il programma di installazione di Visual Studio, passare alla scheda Componenti singoli e cercare parole chiave correlate a WinUI (WinUI, WinRT).
Supporto di .NET 9 SDK per UWP 📣
Visual Studio include ora .NET 9 SDK con supporto UWP predefinito.
Uno dei passaggi necessari per provare UWP in .NET 9 nell'anteprima iniziale era installare una build notturna di .NET 9 SDK. Con questa nuova versione di Visual Studio, non è più necessaria.
Visual Studio include ora .NET 9 SDK, che include tutto il nuovo supporto per UWP in .NET 9 (in particolare la logica per fare riferimento alle proiezioni XAML UWP e per configurare CsWinRT in tipi di progetto per le app XAML UWP). È ora possibile compilare ed eseguire UWP in progetti .NET 9 con .NET SDK installato automaticamente con Visual Studio.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
File con estensione csproj semplificato per UWP 📣
UseUwpTools è ora impostato automaticamente da Visual Studio per i progetti UWP moderni in .NET 9.
Le app e le librerie UWP che usano .NET 9 usano per richiedere due proprietà nei file con estensione csproj:
UseUwp
, che configura .NET SDK per le app XAML UWP eUseUwpTools
, che consente a tutti i nuovi strumenti in Visual Studio di compilare ed eseguire app XAML UWP.La
UseUwpTools
proprietà viene ora impostata automaticamente da Visual Studio quandoUseUwp
è impostata per rendere il file con estensione csproj meno dettagliato nello scenario comune. Per gli scenari avanzati, è comunque possibile rifiutare esplicitamente disabilitandoUseUwpTools
manualmente .📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
RID per la piattaforma UWP in .NET 9 fixed 📣
Le librerie di classi UWP in .NET 9 impostano correttamente i RID sui valori corretti per AOT nativo.
È stato risolto un bug negli strumenti APPX per le librerie di classi UWP (e i componenti WinRT) in .NET 9, che applicava gli identificatori di runtime di UWP in .NET Native per impostazione predefinita (ad esempio, usando il
win10-
prefisso e incluse le piattaforme che non sono più supportate, ad esempio arm).Gli strumenti APPX ora impostano i RID corretti per i progetti .NET 9 per impostazione predefinita:
win-x86;win-x64;win-arm64
. È comunque possibile specificarli manualmente, se necessario.📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Correzione della creazione del progetto UWP 📣
È stata corretta la Creazione guidata modello universale che causava un errore durante la creazione di nuovi progetti UWP in progetti .NET 9.
Se usi l'anteprima VSIX con i nuovi modelli di progetto per UWP in .NET 9, potresti aver notato che durante la creazione di un nuovo progetto è stata visualizzata una finestra di dialogo di errore. Ciò è particolarmente problematico quando si crea una nuova soluzione, perché Visual Studio non lo apre correttamente dopo la creazione del progetto. Questo problema è stato risolto e la creazione di nuovi progetti destinati alla piattaforma UWP in .NET 9 funzionerà correttamente.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Web
Richiedere variabili nei file HTTP 📣
I file HTTP ora supportano le variabili di richiesta. In questo caso è possibile inviare una richiesta e usare quindi i dati della risposta o della richiesta nelle richieste future.
Quando si lavora con i file HTTP, uno scenario comune è la chiamata di un endpoint, l'acquisizione di un valore dalla risposta e l'invio in una richiesta successiva. Ad esempio, è possibile chiamare un endpoint per autenticare un utente e quindi nelle chiamate successive è possibile passare il token restituito dall'endpoint di accesso. Prima di questa versione, ciò non era possibile in Visual Studio. Nel frammento di codice seguente è possibile vedere un esempio di funzionamento in un file HTTP.
# @name login POST {{TodoApi_HostAddress}}/users/token Content-Type: application/json { "username": "{{myusername}}", "password": "{{mypassword}}" } ### GET {{TodoApi_HostAddress}}/todos Authorization: Bearer {{login.response.body.$.token}} ###
Nel frammento di codice precedente sono presenti due richieste, la prima che chiama l'endpoint
/users/token
per autenticare l'utente. Immediatamente sopra la riga della richiesta verrà visualizzato il commento# @name login
. Questa sintassi assegna alla richiesta un nome (login
in questo caso) e la configura come variabile di richiesta. Quando la richiesta viene inviata, è possibile accedere ai valori della risposta o della richiesta, in qualsiasi richiesta futura inviata da tale file HTTP. Poiché si tratta di una richiesta di accesso, è consigliabile prestare attenzione a proteggere i segreti. In Visual Studio è disponibile il supporto per l'accesso ai segreti in modo sicuro. Per altre informazioni sulla gestione dei segreti, vedere questa sezione della documentazione.La seconda richiesta chiama un endpoint autenticato,
/todos
, che restituirà gli elementitodo
per tale utente. Nella richiesta il token viene passato come intestazione con la riga.Authorization: Bearer {{login.response.body.$.token}}
L'endpoint
/users/token
restituisce una risposta in JSON. Il token viene estratto con un'espressione Path JSON,$.token
, nel corpo della risposta. Se si usa un endpoint che restituisce XML, anziché un'espressione Path JSON, è possibile passare un'espressione XPath. Il supporto in Visual Studio è stato ispirato dall'estensione OSS esistente per il client REST disponibile per Visual Studio Code. Sono disponibili altre informazioni sulle variabili di richiesta. Presto verrà aggiunta la documentazione per discutere di questo supporto in modo molto più dettagliato.📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Supporto di vitest in JavaScript e TypeScript 📣
Quando si usano progetti JavaScript e TypeScript è ora possibile creare test case con Vitest.
In progetti JavaScript e TypeScript (JSTS), progetti con estensione .esproj, è stato aggiunto il supporto per individuare ed eseguire test creati con Vitest. Per iniziare a usare i test Vitest, in un progetto JSTS aggiungere il pacchetto vitest usando l'npm in Esplora soluzioni e quindi modificare il file di progetto in modo che le proprietà seguenti siano dichiarate.
<JavaScriptTestRoot>test\</JavaScriptTestRoot> <JavaScriptTestFramework>Vitest</JavaScriptTestFramework>
Assicurarsi che il valore per
JavaScriptTestRoot
contenga il percorso relativo corretto in cui si trovano i file di test.Aggiungere i test alla cartella corretta e compilare il progetto/la soluzione. Successivamente, i casi test verranno visualizzati in Esplora test.
In Esplora test, è possibile visualizzare i diversi casi test individuati ed eseguire casi test.
Il supporto per il debug non è ancora stato aggiunto, ma verrà aggiunto a breve. Un altro problema noto è che quando si fa doppio clic su un caso test in Esplora test, verrà visualizzata la prima riga del file in cui il caso test è definito. Anche questa esperienza verrà presto migliorata.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Hint di inlay per altre lingue 📣
Il supporto degli hint inlay è stato aggiunto a JavaScript, TypeScript, Python e Razor, nonché a un'impostazione per controllarne il comportamento.
I suggerimenti per l'inlay mostrano informazioni aggiuntive sul codice sorgente di cui viene eseguito il rendering inline. Vengono in genere usati per visualizzare i tipi dedotti, i nomi di parametri e altre informazioni implicite dal codice direttamente nell'editor.
È stato aggiunto il supporto per visualizzare Suggerimenti per l'inlay in JavaScript, TypeScript, Razor e Python. È stata aggiunta anche una nuova impostazione in modo da poter personalizzare il comportamento dei suggerimenti in questi linguaggi. Questa impostazione non si applica ancora a C# e C++. Per abilitare Hint inlay per queste lingue, è possibile usare la nuova impostazione in Strumenti > Opzioni > Editor > di testo Tutti i linguaggi > Hint inlay. È possibile vedere la nuova opzione nell'immagine seguente.
Esistono tre valori diversi per Suggerimenti per l'inlay.
- Sempre: mostra sempre i suggerimenti per l'inlay.
- Mentre si preme ALT+F1: vengono visualizzati solo i suggerimenti inlay mentre alt e F1 sono premuti. Questo è il valore predefinito.
- Mai: i suggerimenti per l'inlay non vengono mai visualizzati.
Per JavaScript e TypeScript, è disponibile una pagina di opzioni aggiuntiva per configurare il comportamento dei suggerimenti per l'inlay. Questo è disponibile in Strumenti Opzioni Editor di testo JavaScript/TypeScript > Advanced > General.> > >
Queste opzioni vengono visualizzate nell'immagine seguente.
Per impostazione predefinita, tutte queste opzioni sono disabilitate; è necessario abilitare i suggerimenti che si desidera visualizzare per i file JavaScript e TypeScript. In un aggiornamento futuro sarà possibile modificare i valori predefiniti per queste opzioni. Nell'immagine seguente è possibile vedere un file JavaScript che mostra Suggerimenti per l'inlay.
Nell'immagine precedente i suggerimenti per l'inlay mostrati sono le caselle grigie con
: number
per indicare il tipo di variabile.📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Ambiente condiviso dei file HTTP 📣
Nei file di ambiente HTTP è stato aggiunto il supporto per condividere le variabili tra ambienti.
Quando si usano file HTTP in Visual Studio, è possibile definire gli ambienti in modo da poter creare impostazioni diverse per i test API. In precedenza, la condivisione di una variabile tra questi ambienti non era possibile. È stato aggiunto il supporto per una nuova voce,
$shared
, nel file di ambiente che consente di definire i valori predefiniti per le variabili disponibili in tutti gli ambienti.Si consideri ad esempio il file di ambiente (http-client.env.json) di seguito.
{ "$shared": { "HostAddress": "https://localhost:7293" }, "dev": { "username": "sayedha" }, "dev2": { "username": "madsk" }, "staging": { "username": "staginuser", "HostAddress": "https://sayedrest.example.com" } }
Sono stati definiti i valori condivisi in
$shared
, costituiti dalla variabileHostAddress
impostata sulocalhost:7293
.Dei tre ambienti definiti, nessuno degli ambienti di sviluppo ha specificato il valore per
HostAddress
ma la gestione temporanea ha un valore.Quando si usa l'ambiente
dev
odev2
, il valore perHostAddress
proviene da$shared
poiché tali ambienti non hanno un valore perHostAddress
. Quando si usa l'ambiente di gestione temporanea, il valore perHostAddress
verrà impostato suhttps://sayedrest.example.com
.📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
Dati
Progetti SQL in stile SDK in SSDT 📣
È ora possibile usare il formato di file di progetto in stile SDK nei progetti di SQL Server Data Tools.
Questo aggiornamento aggiunge progetti SQL basati su Microsoft.Build.Sql SDK, che offre il supporto multipiattaforma e i riferimenti ai pacchetti migliorati ai progetti SQL Server Data Tools (SSDT). Con file di progetto e riferimenti di database meno verbosi ai pacchetti NuGet, i team possono collaborare in modo più efficiente su database di grandi dimensioni in un singolo progetto o compilare più set di oggetti di diversi progetti.
Le distribuzioni di database da un progetto Microsoft.Build.Sql possono essere automatizzate in ambienti Windows e Linux in cui lo strumento dotnet Microsoft.SqlPackage pubblica l'artefatto di compilazione (con estensione dacpac) dal progetto SQL. Altre informazioni sull'anteprima di progetti SQL in stile SDK e DevOps per SQL.
Microsoft.Build.Sql project SDK è open source e sviluppato in GitHub.
Assicurarsi di installare il componente più recente dell'anteprima di SSDT nel programma di installazione di Visual Studio per usare i progetti SQL in stile SDK nella soluzione.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
.NET
Ottenere di più con .NET 9 📣
.NET 9 eleva lo sviluppo di app intelligenti e native del cloud, concentrandosi sui miglioramenti della produttività, sulle distribuzioni semplificate e sull'integrazione accelerata dell'IA.
.NET 9 eleva lo sviluppo di app intelligenti e native del cloud, concentrandosi sui miglioramenti della produttività, sulle distribuzioni semplificate e sull'integrazione accelerata dell'IA, offrendo prestazioni superiori in un'ampia gamma di applicazioni. Con il supporto completo per .NET 9 in Visual Studio 17.12, è possibile usufruire facilmente di tutti i miglioramenti più recenti. Per altre informazioni sulle novità, vedere Novità di .NET 9.
Sono inoltre disponibili aggiornamenti delle funzionalità relative all'IDE che rendono l'uso di .NET e ASP.NET più produttivo che mai.
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
NuGet controlla i pacchetti transitivi 📣
NuGet sta modificando le impostazioni di controllo predefinite in modo da includere pacchetti transitivi.
NuGet Audit, aggiunto per la prima volta in Visual Studio 17.8 (e .NET 8), fornisce avvisi durante il ripristino nel caso in cui i pacchetti usati dal progetto presentino vulnerabilità note.
Per altre informazioni su NuGet Audit, incluse tutte le opzioni di configurazione, vedere la documentazione su NuGet Audit.
In questa versione, le impostazioni predefinite di NuGet Audit per NuGetAuditMode sono state modificate. In precedenza, venivano segnalati per impostazione predefinita solo i riferimenti diretti ai pacchetti (
<NuGetAuditMode>direct</NuGetAuditMode>
). Ora, per impostazione predefinita, verrà visualizzato un avviso sia per i pacchetti diretti che per quelli transitivi (<NuGetAuditMode>all</NuGetAuditMode>
) con vulnerabilità note. Per mantenere le impostazioni predefinite precedenti, è possibile impostare in modo esplicito il valore preferito di NuGetAuditMode nel progetto o nel file Directory.Build.props.In alternativa, è possibile impostare SdkAnalysisLevel su un numero di versione inferiore alla 9.0.100, ma tenere presente che ciò influirà su tutte le funzionalità che usano SdkAnalysisLevel.
NuGet Audit richiede un'origine del pacchetto che fornisce un database di vulnerabilità. NuGet.org fornisce vulnerabilità del database di Avvisi GitHub.
A partire da Visual Studio 17.12, ora è possibile specificare le origini di controllo nei file NuGet.Config, quindi non è più necessario usare nuget.org come origine del pacchetto.
Se non si usa nuget.org come origine del pacchetto e si vuole usare NuGet Audit per la creazione di report sui pacchetti vulnerabili durante il ripristino, aggiungere quanto segue a un file NuGet.Config nella directory della soluzione:
<confiuration> <!-- any existing config, including <packageSources> --> <auditSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> </auditSources> </configuration>
📣Vedere il ticket di funzionalità per condividere il feedback e continuare la conversazione.
C++
Impostare gli argomenti della riga di comando C++
Nuovo modo per impostare gli argomenti della riga di comando direttamente dalla barra degli strumenti.
Impostare rapidamente gli argomenti della riga di comando per il progetto C++ con il nuovo elemento della barra degli strumenti Imposta argomenti. Questa casella combinata consente di impostare gli argomenti della riga di comando direttamente dalla barra degli strumenti, in modo da poter modificare rapidamente gli argomenti. Quando si esegue il progetto, tutti gli argomenti immessi nella casella verranno passati.
Questo componente della barra degli strumenti verrà visualizzato per impostazione predefinita se è installato lo sviluppo di giochi con il carico di lavoro C++. Se non viene visualizzato, è possibile aggiungerla facendo clic con il pulsante destro del mouse sulla barra degli strumenti e scegliendo Imposta argomenti.
Nota: questa funzionalità è attualmente disponibile solo per i progetti Unreal Engine. I progetti C++ generali saranno supportati nelle versioni future.
Spiegazioni della visualizzazione Build Insights
Informazioni su come usare ogni scheda di Build Insights tramite un collegamento alla documentazione appena aggiunto.
È ora possibile visualizzare una breve descrizione su come usare ogni scheda di Build Insights, insieme a un collegamento alla documentazione per una spiegazione dettagliata.
Rettifiche del percorso di Compilazione dati analitici
Ottenere una visualizzazione più chiara del file in Build Insights, vedere il percorso completo al passaggio del mouse.
Per chiarezza, i percorsi completi e relativi sono nascosti. Per visualizzare i percorsi completi, è sufficiente passare il puntatore del mouse sul file. Verrà visualizzata anche una nuova colonna Nome file per i file e le unità di traduzione, visualizzati per impostazione predefinita per identificare rapidamente i file senza analizzare percorsi lunghi.
Apri cartella per uproject del motore Unreal
Un nuovo modo per aprire il tuo uproject.
È stato aggiunto un punto di immissione aggiuntivo per aprire il progetto uproject Unreal Engine con il supporto uproject di Visual Studio. È ora possibile aprire il progetto uproject direttamente dal menu File selezionando Apri > cartella.... Verrà aperto il progetto Unreal Engine in Visual Studio.
Per altre informazioni su come usare questa funzionalità, vedere Modifica diretta di .uproject in Visual Studio.
Modifica firma migliorata
È ora possibile modificare in modo efficace le firme con la funzionalità migliorata per C++.
Sono stati apportati miglioramenti alla funzionalità Cambia firma per C++. L'interfaccia utente è stata aggiornata e consente di gestire i parametri aggiungendoli, rimuovendoli e riordinandoli nella casella superiore. È anche possibile modificarne l'ordine tramite un'interfaccia di trascinamento della selezione.
I metodi di accesso rimangono invariati: premere CTRL+. per attivare il menu Azioni rapide e refactoring e selezionare Cambia firma.
Correzioni di bug segnalate dall'utente principali
- L'editor C# non riesce a trovare i controlli definiti nel file xaml
- Comando GIT (sincronizzazione, pull, push) ed elenco di rami mancante dalla barra di stato
- VSSDK/CPS/Extensibility: caricamento di immagini nelle estensioni di Visual Studio tramite .imagemanifest interrotto in VS2022
- Backspace e talvolta smettere di funzionare
- Esplora risorse non può aprire file resx
- La reimpostazione di tutte le impostazioni genera sempre un errore
- VS2022 17.10.0 Preview 7: Errore interno del compilatore
- I file Javascript perdono la codifica a colori dopo 10000 righe di codice
- L'uso di std::format in un modulo richiede l'inclusione dell'intestazione di formato nei file .cpp usando tale modulo
- Errore di sintassi C++ dopo l'aggiornamento a Visual Studio 17.11.0
- Impossibile spostare un blocco di codice verso l'alto e verso il basso dopo l'aggiornamento di Visual Studio
- La generazione della cache CMake in un host Linux remoto non riesce in una query ctest
- Errore nelle pipeline di Azure DevOps con VSTest@2
- Errore irreversibile C1001: Errore interno del compilatore
- Ha incontrato ICE durante la costruzione di Telegram durante la LTCG per ARM64
- MSVC 14.40.33807 genera un assembly non corretto con std::coroutine e tronca un puntatore
- Problema arm64EC tra runtime nativi e gestiti tramite PInvoke
- [Arm64] MSVC fonde erroneamente sub e abs a sabd
- Le opzioni "Nuova riga" non vengono applicate in VISUAL Studio 2022 Community (versione 17.12.0 Preview 1.0)
- Github Copilot #kb non funzionante
- CPS: IProjectItem.EvaluatedIncludeAsFullPath ha iniziato a restituire un percorso non corretto
- La trasformazione T4 genera il messaggio "Riferimento necessario per l'assembly 'System.Runtime, Version=6.0.0.0" dopo l'aggiornamento alla versione 17.11.x
- C++: 'data' non è un membro di std::basic_string_view
- Codegen errato in /O2 nel set di strumenti MSVC v19.38 e versioni
📣Vedere l'elenco completo di tutte le correzioni di bug segnalate dall'utente che l'hanno apportata a questa versione.
Da tutti noi del team, grazie per aver scelto Visual Studio. In caso di domande, contattare Microsoft su Twitter o Developer Community.
Buona codifica!
Team di Visual Studio
Nota
Questo aggiornamento può includere un nuovo software Microsoft o di terze parti concesso in licenza separatamente, come indicato nelle comunicazioni di terze parti o nella relativa licenza associata.