Note sulla versione di Visual Studio 2017 (versione 15.0)

Last Update: 01/09/2017

Nota: questa non è la versione più recente di Visual Studio 2017. Per scaricare la versione più recente, visitare le note sulla versione corrente per Visual Studio 2017 o la pagina Download.

In questo articolo sono disponibili informazioni relative alle versioni di Visual Studio 2017 (versione 15.0).

Commenti e suggerimenti

Le opinioni dei nostri clienti sono molto importanti per noi. È possibile segnalare un problema tramite l'opzione Segnala un problema del programma di installazione o dell'IDE di Visual Studio. L'opzione si trova nell'angolo superiore destro. È possibile tenere traccia dei commenti e dei suggerimenti inviati nel portale della community di sviluppatori. Inviare eventuali suggerimenti tramite il sito UserVoice.


Data di rilascio: 23 maggio 2017 - Visual Studio 2017 versione 15.0 (26228.13) #### problemi risolti * Gli scenari di installazione offline non richiedono più l'accesso a Internet.


Data di rilascio: 31 marzo 2017 - Visual Studio 2017 versione 15.0 (26228.12)

Riepilogo degli aggiornamenti

  • Gli strumenti e le API Xcode 8.3, iOS 10.3, watchOS 3.2 e tvOS 10.2 sono ora supportati nell'estensione Xamarin.VS per Visual Studio 2017.

Data di rilascio: 28 marzo 2017 - Visual Studio 2017 versione 15.0 (26228.10)

Problemi corretti

Questi sono i problemi segnalati dai clienti risolti nella build 26228.10:


Data di rilascio: 14 marzo 2017 - Visual Studio 2017 versione 15.0 (26228.09)

Problemi corretti

Questi sono i problemi segnalati dai clienti risolti nella build 26228.09:


Data di rilascio: 7 marzo 2017 - Visual Studio 2017 versione 15.0 (26228.04)

Riepilogo degli aggiornamenti

Sviluppo: rapidità di esplorazione, scrittura e correzione del codice

  • Nuova esperienza di installazione: è stato ridotto il footprint minimo per un'installazione più rapida e personalizzabile ed è stato aggiunto il supporto per le installazioni offline.
  • L'IDE di Visual Studio ha apportato una vasta gamma di miglioramenti a Visual Studio 2017, tra cui la riduzione dei tempi di avvio e caricamento delle soluzioni, una maggiore facilità di accesso e controllo dell'identità, una maggiore rapidità di spostamento all'interno del codice e una maggiore facilità di apertura della visualizzazione cartelle, oltre a servizi connessi che consentono il collegamento tra le app e qualsiasi servizio locale o nel cloud.
  • Non ci sono state modifiche importanti in Visual C++ tra la versione 2015 e la versione 2017. Sono stati introdotti miglioramenti a livello di conformità C++14, supporto per CMake, velocità di compilazione e produttività nell'editor.
  • Per C# e Visual Basic, è stato esteso il supporto per le nuove funzionalità dei linguaggi C# 7.0 e Visual Basic 15 e sono stati introdotti nuovi refactoring che consentono di organizzare il codice sorgente con un'unica azione.
  • Per F#, sono stati aggiunti il supporto per le funzionalità del linguaggio F# 4.1 e alcuni miglioramenti al compilatore F# e a FSharp.Core. È stato anche aggiunto un nuovo editor basato sulle aree di lavoro Roslyn.
  • Per JavaScript e TypeScript, è ora disponibile TypeScript 2.1 per tutti i progetti TypeScript in Visual Studio. Un nuovo servizio di linguaggio JavaScript è disponibile e abilitato per impostazione predefinita.

Debug: facilità di debug, profilatura e diagnosi del codice

  • Per il debug e la diagnostica, è stato migliorato l'helper eccezioni ed è stato reso più rapido lo spostamento all'interno del codice con Esegui fino alla riga selezionata. È stato anche aggiunto un nuovo riepilogo degli eventi dell'applicazione nella finestra Strumenti di diagnostica e sono stati apportati diversi miglioramenti allo strumento Utilizzo CPU.

Test: scrittura di codice di alta qualità con strumenti di test completi

  • Live Unit Testing è ora in grado di visualizzare in tempo reale nell'editor i risultati dei testing unità e la code coverage.
  • Gli strumenti di test sono in grado di associare automazione ed elementi di lavoro di test case tramite Esplora test.

Collaborazione: controllo della versione, strumenti e processi Agile ed efficienti funzionalità di collaborazione

  • Le nuove funzionalità Git in Team Explorer e l'esperienza di connessione aggiornata consentono sfruttare le maggiori opportunità offerte da Git in Visual Studio 2017 e trovare facilmente progetti e repository a cui connettersi.
  • Con i miglioramenti al flusso di lavoro per commenti e suggerimenti su Visual Studio, l'opzione Segnala un problema è stata resa più collaborativa. È infatti possibile eseguire ricerche, seguire e votare per ottenere gli aggiornamenti più recenti su tutti i commenti e i suggerimenti.

Estensione: possibilità di creare estensioni personalizzate

  • Estensioni di Visual Studio: è possibile adattare Visual Studio alle specifiche esigenze creando estensioni personalizzate.
  • Individuabilità dei modelli di progetto ed elemento: è stata apportata una modifica sostanziale al modo in cui Visual Studio usa i modelli di progetto ed elemento per migliorare le prestazioni della funzionalità di individuazione dei modelli.

Dotazione: usare gli strumenti per aumentare la produttività ed esplorare nuove funzionalità

  • .NET Core e ASP.NET Core: è disponibile la versione finale 1.0 dei nuovi strumenti per Microsoft .NET Core basati su MSBuild. Con Visual Studio 2017 è possibile creare librerie .NET Standard, librerie e app .NET Core e progetti Web ASP.NET che usano il nuovo formato csproj.
  • Strumenti per lo sviluppo di app di Windows universali: gli aggiornamenti includono una nuova versione della toolchain .NET Native, il framework NuGet di .NET Core, nuovi strumenti di produttività e il supporto per Windows 10 "Creators Update" SDK.
  • Xamarin: Xamarin 4.3 aggiunge il supporto per tvOS e migliora il supporto per il catalogo asset di iOS e l'esperienza di modifica XML.
  • Strumenti di Visual Studio per Apache Cordova: è stato aggiunto un nuovo simulatore basato su browser che consente di creare velocemente il codice e visualizzare i risultati immediatamente.
  • Node.js Tools for Visual Studio: gli aggiornamenti sono incentrati sulla stabilità, sulle prestazioni e sulla qualità complessiva del prodotto.
  • Visual Studio Tools per Unity: Visual Studio Tools per Unity 3 è ora disponibile con il carico di lavoro "Sviluppo di giochi con Unity" nel nuovo programma di installazione di Visual Studio.
  • Redgate Data Tools: per estendere le funzionalità DevOps all'ambiente di sviluppo di database SQL, Visual Studio include ora Redgate Data Tools, che comprende Redgate ReadyRoll Core, SQL Search e SQL Prompt Core.
  • NuGet: NuGet supporta ora l'archiviazione di informazioni sulle dipendenze dei pacchetti direttamente nei file di progetto come riferimenti ai pacchetti, mantenendo i progressi raggiunti con i riferimenti transitivi ai pacchetti.
  • Strumenti per le app XAML: la barra degli strumenti di runtime di XAML ora consente di tenere traccia dello stato attivo. La produttività XAML è stata migliorata con Modifica e continuazione per XAML, i miglioramenti apportati all'editor XAML e l'ottimizzazione delle prestazioni.
  • Data Tools e SQL Server: l'aggiornamento più recente di SQL Server Data Tools abilita il supporto per le funzionalità più recenti del database SQL di Azure e di SQL Server 2016.
  • Developer Analytics Tools: Visual Studio 2017 include Developer Analytics Tools versione 8.6, con numerosi miglioramenti alle funzionalità Application Insights e HockeyApp di Visual Studio.
  • Office Developer Tools per Visual Studio: include Office Developer Tools con le funzionalità e gli aggiornamenti più recenti.
  • Convalida delle dipendenze architetturali in tempo reale: sono state aggiunte notifiche in tempo reale relative ai diagrammi di convalida delle dipendenze (noti anche come diagrammi livello).
  • Prompt dei comandi per gli sviluppatori: gli script sono stati sottoposti a refactoring, in modo da supportare la nuova esperienza di installazione.
  • Azure SDK per .NET: è ora disponibile nel nuovo programma di installazione di Visual Studio.

Novità di questa versione

Esperienza di installazione

Siamo lieti di presentare il nuovo programma di installazione completamente riprogettato:

  • Riduzione del footprint minimo di Visual Studio
  • Installazione più veloce, con minore impatto sul sistema e possibilità di disinstallazione completa.
  • Selezione e installazione semplificate delle sole funzionalità necessarie

Quando si installa Visual Studio 2017 per la prima volta, la nuova esperienza è immediatamente visibile (Figura 1):

(Figura 1) La nuova esperienza di installazione di Visual Studio 2017

L'installazione minima ha una dimensione di poche centinaia di megabyte, ma contiene comunque il supporto per le modifiche di base del codice per più di venti linguaggi, incluse funzionalità di controllo del codice sorgente. La maggior parte degli utenti preferisce installare più componenti, è pertanto possibile aggiungere uno o più "carichi di lavoro" che rappresentano i framework, i linguaggi e le piattaforme più comuni, in grado di supportare qualsiasi attività, dallo sviluppo desktop .NET allo sviluppo di giochi con Unity.

Come aggiornare Visual Studio

Per aggiornare Visual Studio, eseguire il programma di installazione di Visual Studio e fare clic sul pulsante "Aggiorna".

Commenti e suggerimenti sul nuovo programma di installazione

È possibile segnalare problemi o inviare commenti di apprezzamento tramite i comandi Segnala un problema e Invia un suggerimento del nuovo client di installazione nell'angolo superiore destro della barra del titolo. Segnalare eventuali errori durante l'installazione, la disinstallazione o la modifica dell'installazione, nonché tempi di installazione anomali, ad esempio eventuali blocchi, oppure messaggi di errore imprevisti.

Creazione di un layout per l'installazione offline e nuovo supporto per l'installazione dalla riga di comando

Gli amministratori di sistema e altri utenti possono ora creare un layout offline di Visual Studio che include tutto il contenuto necessario per installare il prodotto senza richiedere l'accesso a Internet. Questo layout può essere il prodotto completo, un sottoinsieme di carichi di lavoro e/o componenti e una o più impostazioni locali del prodotto. Si noti che per creare un layout offline è necessario l'accesso a internet. Per altre informazioni, vedere Create an offline installation of Visual Studio 2017 (Creare un'installazione offline di Visual Studio 2017).

Nome alternativo per l'installazione

Visual Studio Enterprise e Community (tra gli altri prodotti) può essere installato side-by-side nello stesso computer. Per semplificare l'identificazione di queste installazioni, è possibile specificare un nome breve o "nome alternativo". Ad esempio, se si intende installare Visual Studio Enterprise e successivamente Community, entrambi verranno visualizzati nel menu Start. È possibile assegnare al secondo un nome alternativo, ad esempio "community", e le voci del menu Start verranno visualizzate con nomi quali "Visual Studio 2017 (community)" e "Prompt dei comandi per gli sviluppatori per Visual Studio 2017 (community)".


IDE di Visual Studio

Miglioramenti all'IDE

  • Visual Studio è stato ottimizzato per ridurre il tempo di avvio e il tempo di caricamento della soluzione. La velocità del primo avvio di Visual Studio è stata migliorata almeno del 50%.
  • Visual Studio monitorerà le prestazioni delle estensioni che incidono sull'avvio, sul caricamento della soluzione o sulla modifica. Si riceveranno avvisi in caso di prestazioni scadenti delle estensioni tramite la barra di notifica nell'IDE. Il nuovo centro di prestazioni (disponibile anche tramite ? > Gestisci prestazioni di Visual Studio) consente di visualizzare non solo le estensioni che incidono sulle prestazioni, ma anche di individuare le finestre degli strumenti con effetti sulle prestazioni di avvio e di modificarne il comportamento di caricamento in fase di avvio.
  • Nel nuovo programma di installazione di Visual Studio è possibile selezionare l'estensione GitHub per Visual Studio.
  • La funzionalità Reload All Projects (Ricarica tutti i progetti) è stata sostituita da Reload Solution (Ricarica soluzione), in modo da offrire migliori prestazioni durante il passaggio a rami esterni a Visual Studio. Quando si usa la riga di comando Git per cambiare rami, scegliere Reload Solution (Ricarica soluzione) dopo aver cambiato ramo per ottenere il miglioramento massimo delle prestazioni.
  • Le funzionalità di glob dei file per i progetti .NET Core e ASP.NET Core sono state migliorate. Per approfondimenti, vedere le informazioni sul glob dei file di progetto.
  • Ora si passa automaticamente alla visualizzazione cartelle del repository dopo la clonazione. È possibile visualizzare i file o aprire le soluzioni con il nuovo elenco di selezione della soluzione in Esplora soluzioni.
  • È stato introdotto un nuovo host di servizio esterno che sostituirà VSHub. Questo nuovo host di servizio è un processo esterno e verrà visualizzato in Gestione attività come ServiceHub.Host.CLR.*.exe, oltre a ServiceHub.Host.Node.x86.exe. Questo host eliminerà infine il traffico HTTP localhost introdotto con VSHub che allevierà il rumore segnalato dagli utenti di Fiddler.
  • I messaggi di scadenza della licenza per la versione preliminare indicano in modo più chiaro lo stato corrente della licenza stessa.
  • La finestra di dialogo Impostazioni account risulta ora più accessibile alle utilità di lettura dello schermo.
  • È ora possibile usare la Guida offline installando il componente Help Viewer del programma di installazione di Visual Studio.
  • È ora possibile aggiungere e rimuovere più lingue dell'interfaccia utente in qualsiasi momento usando il programma di installazione di Visual Studio nella scheda Language Pack. È possibile selezionare la lingua dell'interfaccia utente corrente tra quelle installate usando Strumenti > Opzioni > Impostazioni internazionali.
  • La barra di stato di controllo della versione semplifica la pubblicazione di repository locali in un host SCC nonché il monitoraggio di transazioni non sottoposte a commit (Figura 2) e senza push (Figura 3).

Version Control - Unpublished commits example

(Figura 2) Controllo della versione: commit non pubblicati

Version Control - No pending changes example

(Figura 3) Controllo della versione: nessuna modifica in sospeso

Miglioramenti relativi all'accesso e all'identità

È stato introdotto un nuovo servizio di identità che permette di condividere gli account utente nei diversi strumenti di sviluppo Microsoft. All'interno di Visual Studio questa condivisione include funzionalità come Team Explorer, gli strumenti di Azure, la pubblicazione su Windows Store e così via. Queste funzionalità condividono ora un'esperienza di accesso comune e coerente.

Oltre ai miglioramenti apportati a Visual Studio, è stata completata la distribuzione di alcuni miglioramenti sul lato del servizio che consentono agli utenti di restare connessi in modo sicuro, evitando l'accesso forzato ogni 12 ore. Questo risolve il problema segnalato più di frequente relativamente all'accesso. Altre informazioni sulla riduzione dei prompt in Visual Studio.

Pagina iniziale

È ora disponibile una pagina iniziale rinnovata con nuove funzionalità per l'apertura e la creazione:

  • È possibile acquisire repository remoti da VSTS o usare l'elenco dei file usati di recente (MRU), ora più visibile, per aprire con facilità soluzioni e progetti locali.
  • L'elenco degli ultimi elementi usati nella pagina iniziale mostra i repository clonati negli altri computer. In questo modo, è possibile clonarli facilmente nel computer corrente.
  • È possibile creare un nuovo progetto direttamente dalla pagina iniziale con i modelli disponibili per la ricerca e un elenco di modelli usati di recente. I modelli usati di recente saranno anche disponibili in istanze diverse di Visual Studio con un account di personalizzazione.
  • È possibile avviare rapidamente la nuova esperienza per la clonazione da VSTS tramite l'opzione "Estrai da VSTS" nella pagina iniziale.
  • La sezione "Attività iniziali" può essere chiusa facilmente.
  • La sezione Novità è comprimibile:
    • Notifica aggiornata per i nuovi elementi aggiunti al newsfeed.
    • Notifica nell'espansore del newsfeed se compaiono nuovi elementi quando il newsfeed è compresso.
  • Progettazione visiva rivista in risposta alle segnalazioni degli utenti in merito agli elementi troncati sugli schermi più piccoli e all'utilizzo dello spazio vuoto.

Di seguito è illustrata la nuova pagina iniziale (Figura 4).

Start Page with Get Started and News

(Figura 4) Pagina iniziale con Attività iniziali e Novità

Esplorazione del codice migliorata

Le funzionalità di esplorazione del codice sono state migliorate significativamente in Visual Studio 2017:

  • Vai a tutti (Ctrl+ o Ctrl+ T) consente di trovare e visualizzare rapidamente file, tipi, metodi e altri elementi nel codice. Permette di individuare elementi di qualsiasi tipo, anche nelle codebase di grandi dimensioni. Inoltre, se si conosce il tipo di elemento cercato, è possibile applicare facilmente un filtro. In C#, Visual Basic e F# è stata aggiunta una corrispondenza "fuzzy", in modo che sia possibile ottenere il risultato anche se un nome di tipo non è stato digitato correttamente. L'esperienza Vai alla riga (Ctrl + G) è stata modernizzata. È possibile passare alla famiglia di comandi Vai a nella parte superiore del menu Modifica (Figura 5) e (Figura 6).

Go To Results Filtered

(Figura 5) Vai a con risultati filtrati

Go To Line

(Figura 6) Vai alla riga

  • La funzionalità Trova tutti i riferimenti (MAIUSC+F12) è stata migliorata (attualmente per C#, Visual Basic, F# e C++) con l'aggiunta di funzionalità avanzate di raggruppamento, filtro, ordinamento, ricerca nei risultati e colorazione dei risultati (per C# e VB), in modo che sia possibile comprendere chiaramente i riferimenti e passare con sicurezza alla riga di codice necessaria. Al passaggio del mouse su un elemento di riferimento viene visualizzata una descrizione con il contesto del riferimento nel codice sorgente (per C# e VB). Attivando e disattivando il pulsante Mantieni risultati sulla barra degli strumenti, la successiva chiamata di Trova tutti i riferimenti inserirà i risultati dei riferimenti in una nuova finestra. Ciò consente di mantenere i risultati correnti nella finestra esistente (Figura 7).

Find All References

(Figura 7) Trova tutti i riferimenti

  • Linee guida di struttura vengono ora disegnate nell'editor in modo che sia possibile visualizzare con facilità la struttura del codice a cui si lavora. Al passaggio del mouse viene visualizzata una descrizione (Figura 8) che contiene il contesto del blocco di codice corrente relativo ai suoi blocchi predecessore. Le linee guida di struttura sono attualmente supportate per i file C#, Visual Basic, F# e XAML e per qualsiasi file supportato tramite le grammatiche TextMate. Questa funzionalità può essere disabilitata nella finestra di dialogo Strumenti > Opzioni deselezionando la casella di controllo Mostra guide per strutture della categoria Editor di testo > Generale.

Structure Guide Lines

(Figura 8) Linee guida di struttura

Supporto delle convenzioni di scrittura del codice tramite EditorConfig

L'editor di Visual Studio supporta ora EditorConfig, che consente agli sviluppatori di definire e mantenere convenzioni coerenti per lo stile di codifica tra diversi editor e IDE. Per altri dettagli, vedere la documentazione. Per informazioni su come usare i file .editorconfig per controllare lo stile di codifica .NET, vedere la documentazione di .NET. Per le limitazioni relative al supporto di EditorConfig per questa versione, vedere la sezione Problemi noti.

Apri cartella

Apri cartella offre un modo semplice per usare le codebase senza progetti e soluzioni. Aprire Visualizzazione cartelle da File > Apri > Cartella e quindi selezionare una cartella da esplorare. È possibile aprire e modificare i file in Esplora soluzioni (Figura 9). Molti linguaggi diffusi presentano l'evidenziazione della sintassi e il supporto per la navigazione basata su simboli (GoTo).

The new Open Folder feature in the Visual Studio IDE

(Figura 9) Nuova funzionalità Apri cartella nell'IDE di Visual Studio

Alcuni linguaggi sono inoltre dotati di supporto avanzato di IntelliSense e del debug direttamente dalla cartella:

  • C++ (CMake)
  • Node.js - JavaScript/TypeScript
  • C# e VB

È possibile compilare o eseguire il debug con F5 e il menu di scelta rapida del file in Esplora soluzioni. Per risultati ottimali assicurarsi di installare il carico di lavoro per le lingue con cui si lavora.

La visualizzazione cartelle supporta anche le funzioni seguenti:

  • Eseguire ricerche nel codice contenuto nella cartella con GoTo (Ctrl+).
  • Definire l'ambito per la visualizzazione delle cartelle di Esplora soluzioni sulle sottocartelle.
  • Aprire le cartelle in Esplora risorse o il prompt dei comandi da Esplora soluzioni.
  • Passare rapidamente da una soluzione a un'altra nella cartella o nel repository aperto con l'elenco a discesa per la selezione della soluzione.
  • Configurare le impostazioni di debug e avvio con launch.vs.json. Fare clic con il pulsante destro del mouse su un file di cui è possibile eseguire il debug e selezionare Impostazioni per debug e avvio.
  • Configurare le attività e personalizzare la compilazione con tasks.vs.json. Fare clic con il pulsante destro del mouse su qualsiasi file e selezionare Configure Task Settings (Configura impostazioni attività).
  • Launch.vs.json e tasks.vs.json hanno IntelliSense nell'editor JSON.

Le prestazioni di apertura delle cartelle e di passaggio tra la visualizzazione cartelle e la visualizzazione soluzione sono state migliorate in misura significativa.

Caricamento leggero soluzioni

La funzionalità Caricamento leggero soluzioni consente un caricamento più veloce delle soluzioni di grandi dimensioni e può consentire un miglioramento sostanziale nel tempo di caricamento della soluzione e nell'uso della memoria. La funzionalità non è abilitata per impostazione predefinita e può essere attivata nell'IDE per la singola soluzione o globalmente. Per abilitare la funzionalità a livello globale, passare a Strumenti > Opzioni e selezionare Generale in Progetti e soluzioni (Figura 10) oppure eseguire la ricerca di "Caricamento leggero soluzioni" con Avvio veloce. La funzionalità può essere attivata e disattivata per la singola soluzione nel riquadro delle proprietà della soluzione.

The new Lightweight Solution load feature in the Visual Studio IDE

(Figura 10) Nuova funzionalità Caricamento leggero soluzioni nell'IDE di Visual Studio

La funzionalità Caricamento leggero soluzioni è ideale per le soluzioni di grandi dimensioni che contengono progetti C# o una combinazione di progetti C# e C++. Quando si lavora con soluzioni di grandi dimensioni può essere richiesto di abilitare la funzionalità. Altre informazioni su questa funzionalità sono disponibili nel blog di Visual Studio.

Sono state notevolmente migliorate le prestazioni delle build complete della soluzione, ora conformi al carico convenzionale della soluzione.

Supporto per la colorazione e il completamento automatico della sintassi, i frammenti di codice e la ricerca tramite Passa a per un set più ampio di linguaggi

Oltre al supporto aggiunto negli aggiornamenti di Visual Studio 2015, in Visual Studio 2017 è stato incluso il supporto per la colorazione e il completamento automatico della sintassi per una più ampia gamma di linguaggi. Inoltre, alcuni di questi linguaggi supportano anche lo spostamento tramite "Passa a" (Ctrl+) e/o Frammenti di codice.

I file relativi ai linguaggi elencati di seguito supportano queste funzionalità nel nuovo Editor principale di Visual Studio, anche quando non sono stati installati carichi di lavoro per supportare in modo esplicito il linguaggio in questione. Se è installato un carico di lavoro che offre il supporto per un linguaggio (ad esempio, per lo sviluppo di applicazioni desktop .NET, per lo sviluppo di applicazioni per Windows Desktop con C++ e così via), possono essere disponibili funzionalità più estese per tale linguaggio, incluse la tecnologia IntelliSense e altre funzionalità avanzate come la visualizzazione di lampadine nel codice.

Tipi di file di linguaggio elencati in base al livello di supporto:

  • Supporto solo per la colorazione e il completamento automatico della sintassi:
    • Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, ShaderLab, SQL, Visual Basic .NET, YAML.
  • Supporto per Frammenti di codice (oltre alla colorazione e al completamento automatico della sintassi):
    • CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift, XML.
  • Supporto per Passa a (oltre alla colorazione e al completamento automatico della sintassi):
    • C++, C#, Go, Java, JavaScript, PHP, TypeScript, Visual Basic.

Introduzione alle pagine di panoramica del progetto

È stata introdotta un'esperienza iniziale completamente rinnovata per i progetti creati di recente. Sono state sostituite le pagine iniziali correnti con una scheda Panoramica in Progettazione configurazione applicazione e le pagine sono state incentrate sulle azioni che sarà possibile eseguire a breve. Queste novità sono state abilitate in progetti ASP.NET 4.x, ASP.NET Core e Cordova (Figura 11).

Project Overview

(Figura 11) Panoramica del progetto

Connessione ai servizi mediante Servizi connessi

In una versione precedente, questa funzionalità è stata denominata Funzionalità del servizio. Il nome è stato modificato in Servizi connessi.

Servizi connessi è la versione moderna della funzionalità "Aggiungi servizio connesso" o "Aggiungi riferimento al servizio" di Visual Studio 2017. La funzionalità Servizi connessi semplifica la connessione dell'app ai servizi. Un nuovo nodo denominato "Servizi connessi" è disponibile in Esplora soluzioni per i tipi di progetto Web e per dispositivi mobili. Facendo doppio clic sul nodo verrà aperta in Visual Studio una nuova scheda a piena pagina in cui è possibile individuare noti servizi Microsoft a cui connettersi.

Se si seleziona un servizio nella pagina Servizi connessi (Figura 12), viene chiamata la procedura guidata che consente di configurare il progetto e scaricare i pacchetti NuGet necessari per iniziare a scrivere il codice per il servizio in modo rapido e senza problemi.

Connected Services

(Figura 12) Servizi connessi

Acquisizione all'interno del prodotto di strumenti e funzionalità

Visual Studio 2017 consente di acquisire carichi di lavoro e componenti aggiuntivi senza uscire dall'IDE (Figura 13). Sfruttare i vantaggi offerti da Avvio veloce per trovare e avviare il Programma di installazione di Visual Studio per ogni componente del carico di lavoro o di un utente singolo.

In-product acquisition via Quick Launch

(Figura 13) Acquisizione all'interno del prodotto tramite Avvio veloce

Se i modelli che si vogliono usare non sono disponibili, è possibile aprire il programma di installazione di Visual Studio anche all'interno della finestra di dialogo Nuovo progetto (Figura 14).

In-product acquisition via New Project Dialog

(Figura 14) Acquisizione all'interno del prodotto tramite Avvio veloce


Visual C++

In Visual Studio 2017 sono stati inclusi numerosi aggiornamenti e correzioni per l'ambiente Visual C++. Microsoft ringrazia i clienti per le segnalazioni inviate. Sono stati corretti più di 250 bug e problemi nel compilatore e negli strumenti, molti dei quali sono stati segnalati dai clienti attraverso Microsoft Connect. In questa versione sono state migliorate le prestazioni di STL. Il nuovo motore di database basato su SQLite viene ora usato per impostazione predefinita. Questo consente di velocizzare le operazioni di database come Vai a definizione e Trova tutti i riferimenti e migliorerà significativamente il tempo di analisi iniziale. È ora disponibile un'esperienza più granulare per l'installazione del carico di lavoro per C++ originario. Sono stati aggiunti componenti selezionabili che consentono di installare solo gli strumenti necessari. Il supporto per CMake in Visual Studio è ora disponibile. Caricare i progetti CMake direttamente in Visual Studio e iniziare subito a scrivere codice. L'esperienza "Apri cartella" in C++ è stata migliorata ed è ora possibile portare il codice sorgente in Visual Studio senza la necessità di creare progetti e soluzioni di Visual Studio. Passa a è stato sostituito da Vai a che include nuovi filtri di navigazione. In questo modo è più semplice individuare i risultati corretti, in particolare in basi di codici di grandi dimensioni.

Analisi del codice C++

I controlli di base per C++ per l'applicazione delle C++ Core Guidelines (Linee guida di base per C++) ora sono distribuiti con Visual Studio. Per includere le estensioni quando si esegue l'analisi del codice, è sufficiente abilitare i controlli nella finestra di dialogo delle estensioni di analisi del codice nelle pagine delle proprietà del progetto (Figura 15).

CppCoreCheck properties page

(Figura 15) Pagina delle proprietà di CppCoreCheck

Compilatore C++

Sono inclusi aggiornamenti al compilatore C++ e alla libreria standard, con supporto avanzato per funzionalità di C++11 e C++14, oltre al supporto preliminare per determinate funzionalità che si prevede verranno incluse nello standard C++17. Con il supporto per la parola chiave constexpr generalizzata e NSDMI per le aggregazioni, il compilatore è stato completato per le funzionalità aggiunte nello Standard C++14. Si noti che il compilatore manca ancora di alcune funzionalità relative agli standard C++11 e C++98. Visual Studio 2017 consente l'uso di /sdl con /await. È stata anche rimossa la limitazione /rtc con le coroutine.

In questa versione sono stati introdotti numerosi miglioramenti per l'ottimizzazione e la generazione del codice. Ecco alcuni dei miglioramenti più rilevanti:

  • Miglioramento della generazione del codice per i cicli: supporto della vettorializzazione automatica della divisione di interi costanti e migliore identificazione dei modelli memset.
  • Maggiore sicurezza del codice: è stata migliorata l'emissione della diagnostica del compilatore per i sovraccarichi del buffer e /guard:cf protegge ora le istruzioni switch che generano tabelle di collegamento.
  • L'opzione /debug:fastlink è stata migliorata in modo da consentire tempi di collegamento più veloci del 30% su componenti di grandi dimensioni rispetto a Visual Studio 2015.
  • Quando si usano coroutine, la parola chiave sperimentale "yield" (disponibile sotto l'opzione /await) è stata rimossa. È necessario aggiornare il codice per l'uso di "co_yield". Per altre informazioni, vedere il blog del team di Visual C++.

Librerie C++

  • [STL] Sono state migliorate le prestazioni di basic_string.
  • [STL] Sono stati aggiunti <any>, <string_view>, apply() e make_from_tuple().
  • [STL] Sono stati apportati miglioramenti a std::vector in termini di correttezza e prestazioni.
  • [STL] La libreria STL ora evita la dereferenziazione dei puntatori null ricercati.
  • [STL] Sono stati aggiunti <optional>, <variant>, shared_ptr::weak_type e <cstdalign>.
  • [STL] È stato abilitato constexpr C++14 in min/max/minmax(initializer_list) e min_element/max_element/minmax_element().
  • [STL] Sono state migliorate le prestazioni (più che triplicate) per i costruttori di spostamento std::string/std::wstring.
  • [STL] Per un elenco completo dei miglioramenti apportati a STL, vedere il blog del team di Visual C++.
  • [ATL] È disponibile un altro set di correzioni per la conformità della ricerca dei nomi.
  • [ATL] I costruttori di spostamento e gli operatori di assegnazione dello spostamento esistenti sono ora contrassegnati correttamente in modo da non generare eccezioni.
  • [ATL] È stata annullata l'eliminazione dell'avviso valido C4640 relativo all'inizializzazione thread-safe di elementi statici locali in atlstr.h.
  • [ATL] L'inizializzazione thread-safe di elementi statici locali veniva disattivata automaticamente nel set di strumenti XP quando [si usava ATL e si compilava una DLL]. Questa procedura non è più necessaria. È possibile aggiungere /Zc:threadSafeInit- nelle impostazioni del progetto se si desidera disattivare l'inizializzazione thread-safe.
  • [AMP] Controllo della libreria e correzione di errori ortografici.
  • [VCRuntime] Nuova intestazione 'cfguard.h' per i simboli di protezione del flusso di controllo.

IDE C++

Le prestazioni di modifica della configurazione sono ora migliori per i progetti nativi C++ e molto migliori per i progetti C++/CLI. La prima attivazione di una configurazione della soluzione è ora più veloce e tutte le attivazioni successive saranno quasi immediate.

Il nuovo motore di database basato su SQLite viene ora usato per impostazione predefinita. Questo consente di velocizzare le operazioni di database come Vai a definizione e Trova tutti i riferimenti e migliorerà significativamente il tempo di analisi iniziale. L'impostazione è stata spostata in Strumenti > Opzioni > Editor di testo -> C/C++ -> Avanzate. Nelle versioni precedenti si trova in ...C/C++ > Sperimentale.

Le prestazioni di IntelliSense sono state migliorate su progetti e file senza intestazioni precompilate. Per le intestazioni nel file corrente verrà creata un'intestazione automatica precompilata.

Gli aggiornamenti includono quanto segue:

  • Sono state aggiunte funzioni di filtro e guida per gli errori di IntelliSense presenti nell'elenco errori (Figura 16). È ora possibile fare clic sulla colonna degli errori per applicare un filtro (Figura 17). È inoltre possibile fare clic su errori specifici o premere F1 per avviare la ricerca online del messaggio di errore.

Error List

(Figura 16) Elenco errori

Error List Filtered

(Figura 17) Elenco errori filtrato

  • È stata aggiunta la possibilità di filtrare per tipo gli elementi dell'elenco dei membri (Figura 18).

Member List Filtered

(Figura 18) Elenco dei membri filtrato

  • È stata aggiunta una nuova funzionalità sperimentale IntelliSense predittivo che fornisce un elenco di risultati filtrato e compatibile con il contesto per l'elenco dei membri.
  • La nuova interfaccia utente Trova tutti i riferimenti offre informazioni che indicano se è in corso la lettura o la scrittura in una variabile nei risultati per il codice C++.

  • La funzionalità IntelliSense "da punto a freccia" è passata dalla fase sperimentale alla fase avanzata ed è ora abilitata per impostazione predefinita. Anche le funzionalità di espansione ambito e di espansione precedenza dell'editor sono passate dalla fase sperimentale alla fase avanzata.

  • Le funzionalità di refactoring sperimentale Cambia firma ed Estrai funzione ora sono disponibili per impostazione predefinita.

  • È stata abilitata la nuova funzionalità sperimentale per il caricamento più rapido dei progetti C++. Alla prossima apertura, un progetto C++ verrà caricato più velocemente e la volta successiva ancora più velocemente.

  • Sono stati apportati miglioramenti all'esperienza Apri cartella. È possibile modificare, compilare ed eseguire il debug del progetto C++ non MSBuild caricando il codice sorgente tramite "Apri cartella". Personalizzare l'esperienza tramite i file json seguenti:

    • CppProperties.json per personalizzare l'esperienza IntelliSense e di esplorazione.
    • Tasks.vs.json per personalizzare le procedure di compilazione.
    • Launch.vs.json per personalizzare l'esperienza di debug.
  • IntelliSense C++ funzionerà senza necessità di creare un file CppProperties.json nella cartella radice. È stato anche aggiunto un nuovo elenco a discesa per consentire agli utenti di passare facilmente tra le configurazioni fornite dai file CMake e CppProperties.json. Supporto per CMake in Apri cartella: l'apertura di progetti CMake con "Apri cartella" determina automaticamente la configurazione dell'ambiente per la modifica, la compilazione e il debug in C++.

  • Supporto per configurazione aggiuntiva tramite un file CMakeSettings.json, che si trova nella stessa cartella del file CMakeLists.txt (Figura 19).

CMake Open Folder

(Figura 19) Apri cartella di CMake

  • Supporto per CMake:
    • Per una panoramica del supporto per CMake, vedere il blog del team di Visual C++.
    • Altre informazioni sul supporto per CMake sono disponibili nel video di 10 minuti CMake.
  • Sviluppo Linux con C++: vedere il video Linux.

Carichi di lavoro di installazione per C++

  • Sviluppo per Windows Desktop con C++:

    • È ora disponibile un'esperienza più granulare per l'installazione del carico di lavoro per C++ originario. Sono stati aggiunti componenti selezionabili che consentono di installare solo gli strumenti necessari. Si noti che le dimensioni di installazione indicate per i componenti elencati nell'interfaccia utente del programma di installazione non sono precise e sottovalutano la dimensione totale.

    • Per creare progetti Win32 nel carico di lavoro per desktop C++, è necessario installare un set di strumenti e un SDK Windows. L'installazione dei componenti consigliati (selezionati) "Set di strumenti VC++ 2017 versione 141 (x86, x64)" e "Windows 10 SDK (10.0.14393)" ne garantirà il funzionamento. Se gli strumenti necessari non vengono installati, i progetti non verranno creati e la procedura guidata verrà interrotta.

  • Sviluppo per Linux con C++:

    • L'estensione comune Visual C++ for Linux Development ora fa parte di Visual Studio. Questa installazione include tutto il necessario per lo sviluppo e il debug di applicazioni C++ in esecuzione in un ambiente Linux.
  • Sviluppo di giochi con C++:

    • Usare tutta la potenza di C++ per compilare giochi professionali con tecnologia DirectX o Cocos2d.
  • Sviluppo di app per dispositivi mobili con C++ (Android e iOS):

    • Usando Visual Studio è ora possibile creare app per dispositivi mobili destinate ad Android e iOS ed eseguirne il debug.
  • Sviluppo per la piattaforma UWP:

    • C++ viene fornito come componente facoltativo del carico di lavoro per lo sviluppo della piattaforma UWP. Attualmente l'aggiornamento di progetti C++ deve essere eseguito manualmente. Quando si apre un progetto UWP destinato a v140 in Visual Studio 2017, se Visual Studio 2015 non è installato è necessario selezionare il set di strumenti della piattaforma v141 nelle pagine delle proprietà del progetto.

Set di strumenti della piattaforma Clang/C2

Il set di strumenti Clang/C2 incluso in Visual Studio 2017 supporta ora l'opzione /bigobj, essenziale per lo sviluppo di progetti di grandi dimensioni. Include inoltre alcune importanti correzioni di bug sia sul front-end che sul back-end del compilatore.


C# e Visual Basic

Estensioni linguaggio

Questa versione introduce il supporto per le funzionalità dei linguaggi C# 7.0 e Visual Basic 15, incluse le seguenti:

Per C#:

Per Visual Basic:

  • Le tuple di valori introducono nei linguaggi il supporto per raggruppare temporaneamente un set di valori tipizzati: Dim point As (x As Integer, y As Integer) = GetOffset().
  • L'uso di valori restituiti ByRef estende il linguaggio per supportare l'uso di funzioni e proprietà dalle librerie che hanno valori restituiti ByRef.
  • I valori letterali binari e i separatori di gruppi di cifre consentono la rappresentazione nativa dei numeri binari. Questo è estremamente comodo per le maschere di bit e le enumerazioni Flags: &B1001_0011.

Per altre informazioni, seguire la progettazione dei linguaggi in CSharpLang GitHub e VBLang GitHub in cui vengono descritte queste e altre proposte di estensioni.

Azioni rapide e refactoring

Visual Studio offre numerose funzionalità di refactoring che assicurano un aumento della produttività e migliorano la leggibilità del codice. Eccone alcune:

  • Inizializzazione degli oggetti semplificata tramite un inizializzatore (Figura 20).

Use object initializer

(Figura 20) Usare un inizializzatore di oggetto

  • Possibilità di spostare le outdichiarazioni di variabili inline usando una nuova funzionalità di C#7 (Figura 21).

Move out variable inline

(Figura 21) Spostare una variabile inline

  • Semplificazione dei controlli Null e delle espressioni throw usando l'operatore di unione Null tramite una nuova funzionalità di C#7 (Figura 22).

Use throw expression with null-coalescing operator

(Figura 22) Usare l'espressione throw con l'operatore di unione Null

  • Spostamento di un tipo in un file corrispondente: è possibile estrarre un tipo da un file e inserirlo in un altro file con un nome corrispondente con un solo clic tramite Ctrl+.
  • Sincronizzazione del nome del tipo e del nome file: se il nome file e il nome del tipo non sono sincronizzati, è possibile usare Ctrl+.
  • Conversione di String.Format in interpolazione di stringa: sfruttare la funzionalità del linguaggio C# 6 con questa azione rapida.
  • Aggiunta di occorrenze mancanti a un'opzione di comando C# o a un'istruzione Select di Visual Basic.
  • Conversione di una proprietà in metodo e viceversa.
  • Aggiunta di un riferimento al pacchetto: è possibile recuperare automaticamente e installare un pacchetto NuGet (e aggiungere using/Import) per un tipo non riconosciuto. Per abilitare questa funzionalità, passare a Strumenti > Opzioni > Editor di testo > [C# / Basic] > Avanzate > Suggerisci le direttive using per i tipi in assembly di riferimento / Suggerisci le direttive using per i tipi in pacchetti NuGet.
  • Possibilità di sincronizzare i metodi asincroni, dove applicabile.
  • Supporto per la corrispondenza "fuzzy"per i tipi con errori di digitazione.
Configurazione e imposizione della codifica

In base al supporto di Visual Studio per EditorConfig, grazie ai suggerimenti della community sono state aggiunte impostazioni di stile di codice .NET al formato di file. Ciò consente quindi di configurare le convenzioni relative allo stile del codice del team, verificarle nel controllo del codice sorgente e visualizzare eventuali violazioni nell'editor man mano che gli sviluppatori procedono con la digitazione. È possibile visualizzare tutte le opzioni dello stile del codice nell'area .editorconfig del repository Roslyn o nella documentazione. È possibile continuare a configurare le impostazioni relative allo stile di codice specifiche del computer in Strumenti > Opzioni > Editor di testo > [C#/Basic] > Stile codice. Queste regole vengono sovrascritte quando è presente un EditorConfig in conflitto.

Sono stati aggiunti/aggiornati tre nuovi analizzatori di stile per semplificare la personalizzazione e l'applicazione delle convenzioni di codifica nel team, come illustrato di seguito:

  • Regole di stile di denominazione
  • Uso di "var" o di tipi espliciti
  • Uso di "this." o "Me." sugli accessi dei membri
  • Uso di blocchi o corpi di espressione.
  • Uso di tecniche di corrispondenza dei modelli per controlli 'cast' e 'null'.
  • Uso di nomi di tupla espliciti.
  • Semplificazione dei check null con espressioni throw, dei delegati condizionali, delle espressioni coalesce e della propagazione null.
  • Sono necessarie le parentesi graffe.

Nota: alcune di queste regole relative allo stile del codice sono configurate per impostazione predefinita nell'editor come suggerimenti (Figura 23).

Configure code style preferences and enforcement from EditorConfig

(Figura 23) Configurare le preferenze e l'imposizione di stile del codice da EditorConfig

Miglioramenti di IntelliSense

Questa versione introduce anche alcuni miglioramenti di IntelliSense che aumenteranno la produttività degli utenti quando usano una soluzione di grandi dimensioni o una codebase con cui non hanno familiarità. In IntelliSense è stata aggiunta una barra che consente di filtrare l'elenco dei membri in base al tipo, ad esempio metodi, proprietà, classi e così via. Sono stati definiti tasti di scelta rapida che consentono di attivare e disattivare i filtri. Per individuare i tasti di scelta rapida, passare il mouse sopra l'icona. Per abilitare questa funzionalità, passare a Strumenti > Opzioni > Editor di testo > [C# / Basic] > IntelliSense e selezionare le opzioni per il filtro e l'evidenziazione (Figura 24).

IntelliSense Completion Filtering

(Figura 24) Filtro di completamento IntelliSense

Altri miglioramenti apportati all'editor

  • È ora possibile dividere una stringa lunga in più stringhe concatenate posizionando il cursore a metà di tale stringa e premendo Enter.
  • È stato eseguito un notevole lavoro per migliorare la velocità di risposta dell'IDE in presenza di operazioni in background che calcolano informazioni di diagnostica e di CodeLens.

F# 

Supporto delle funzionalità del linguaggio F# 4.1

  • Tuple di struct interoperabili con le tuple C# 7/VB 15.
  • Valori restituiti ByRef che supportano l'utilizzo di valori restituiti C# 7 ref.
  • Supporto di record struct con l'attributo [<Struct>] (di Will Smith).
  • Supporto dell'unione discriminata di struct con l'attributo [<Struct>].
  • Nuovo tipo Result<'TSuccess, 'TFailure>, con le funzioni di supporto in FSharp.Core (di Oskar Gewalli).
  • Parola chiave fixed, che supporta l'aggiunta di una variabile locale di tipo puntatore nello stack.
  • Caratteri di sottolineatura nei valori letterali numerici (di Avi Avni.
  • Argomenti di attributi informativi sul chiamante (di Lincoln Atkinson e Avi Avni).
  • Tipi e moduli con referenzialità reciproca all'interno dello stesso file tramite namespace rec e module rec.
  • Suffisso "Module" implicito nei moduli che condividono lo stesso nome come tipo.

Sono stati apportati numerosi miglioramenti al compilatore F#  e a FSharp.Core

(Molti realizzati dalla community di F#)

Un nuovo editor basato su aree di lavoro Roslyn

(Molte nuove funzionalità dell'IDE implementate con il contributo dell'incredibile community di F#)

Contributi principali dalla community di F# 

Vorremmo ringraziare tutta la community di F# per aver dedicato tempo a provare le build degli strumenti per F# in Visual Studio 2017, registrare i bug, partecipare alle discussioni e implementare correzioni di bug e funzionalità. Il successo di F# in Visual Studio 2017 davvero non sarebbe stato possibile senza la community di F#. Per l'elenco completo dei collaboratori, fare clic qui.


JavaScript e TypeScript

TypeScript 2.1

TypeScript 2.1 è disponibile per tutti i progetti TypeScript in Visual Studio. TypeScript 2.1 offre down-level async/await, migliore inferenza dei tipi, espansione di oggetti locali e altro ancora. Per altre informazioni sulla versione, vedere il post di blog relativo al rilascio o il log completo delle modifiche.

JavaScript Language Service

È disponibile un nuovo JavaScript Language Service (Figura 25), abilitato per impostazione predefinita. Il nuovo servizio migliora IntelliSense e include il supporto IntelliSense per le annotazioni di commenti JSDoc, ES6 e i formati di modulo Common JS. Supporta inoltre la sintassi JSX le funzionalità di ES2016, ad esempio i generatori, i moduli e gli elementi Decorator. Per altre informazioni, vedere questo post di blog o la documentazione di JavaScript IntelliSense in GitHub.

Rich JavaScript IntelliSense for jQuery

(Figura 25) Rich JavaScript IntelliSense for jQuery

Miglioramenti delle prestazioni

In questa versione, il miglioramento delle prestazioni è uno degli aspetti a cui è stata dedicata maggiore attenzione. Oltre a diverse ottimizzazioni volte a migliorare le caratteristiche di memoria e velocità di risposta, l'intero servizio relativo al linguaggio JavaScript/TypeScript è stato spostato in un processo satellite all'esterno di devenv.exe per assicurare più spazio di memoria ai progetti Visual Studio di maggiori dimensioni. In questo modo, durante il lavoro su progetti JavaScript di grandi dimensioni, si noterà che il processo Visual Studio utilizzerà meno memoria e si verificherà un numero minore di arresti anomali dovuti a memoria insufficiente. Per altre informazioni su questi miglioramenti, vedere questo post di blog.


Debug e diagnostica

Esegui fino alla riga selezionata

È sufficiente fare clic sull'icona accanto a una riga di codice durante il debug per proseguire l'esecuzione fino a tale riga (Figura 26). Non è più necessario impostare punti di interruzione temporanei o eseguire diversi passaggi per eseguire il codice fino a una determinata riga. Quando l'esecuzione è in stato di interruzione nel debugger, accanto alla riga di codice su cui è posizionato il puntatore viene visualizzata l'icona Esegui fino alla riga selezionata. Spostare il puntatore del mouse sull'icona e fare clic sul pulsante. Il codice verrà eseguito e si interromperà in corrispondenza di tale riga la volta successiva che viene raggiunta nel percorso del codice. Per disattivarla, scegliere Debug/Opzioni/Enable Run to Click (Abilita l'esecuzione fino alla riga selezionata).

Run to Click Icon

(Figura 26) Icona Esegui fino alla riga selezionata

Finestra Connetti a filtro

È possibile eseguire facilmente ricerche nella finestra di dialogo Connetti a processo (Figura 27) per trovare rapidamente il processo a cui si vuole connettere il debugger. L'elenco dei processi in esecuzione verrà filtrato in base agli elementi che soddisfano i criteri di ricerca. Il filtro di ricerca è permanente e manterrà memorizzata la ricerca precedente quando si riaprirà la finestra di dialogo.

Attach to Process Filter

(Figura 27) Filtro in Connetti a processo

Riconnetti a processo

È ora possibile riconnettere rapidamente i processi di cui è stato eseguito il debug in precedenza. L'attivazione del nuovo comando Debug/Reattach to Process (Debug/Riconnetti a processo) (MAIUSC+ALT+P) tenterà immediatamente di connettere il debugger agli ultimi processi della precedente sessione di debug che sono stati richiamati dalla finestra di dialogo Connetti a processo. Il debugger si riconnetterà ai processi tentando prima di tutto di associare il precedente ID processo e quindi associando il precedente nome di processo. Se non vengono trovate corrispondenze o ci sono più processi con lo stesso nome, viene visualizzata la finestra di dialogo "Connetti a processo" in modo che sia possibile selezionare il processo di destinazione.

Nuovo supporto eccezioni

Usare la nuova finestra di dialogo dell'helper eccezioni (Figura 28), non modale, compatta e con accesso immediato alle eccezioni interne, per visualizzare in modo immediato le informazioni sulle eccezioni. È ora possibile individuare rapidamente i riferimenti Null direttamente nel gestore di eccezioni durante la diagnostica di NullReferenceException. Ora si può escludere l'interruzione per i tipi di eccezione generati da specifici moduli facendo clic sulla casella di controllo per aggiungere una condizione durante l'arresto in corrispondenza dell'eccezione generata. Per informazioni più dettagliate sui nuovi vantaggi offerti dal gestore di eccezioni, leggere questo post di blog.

The New Exception Helper dialog

(Figura 28) Nuova finestra di dialogo dell'helper eccezioni

Aggiungere condizioni alle impostazioni delle eccezioni

Quando si configura il debugger per interrompere l'esecuzione in caso di eccezione, è possibile aggiungere condizioni in base alle quali l'interruzione debba avvenire solo quando vengono generate eccezioni in moduli specifici (Figura 29).

Edit Conditions dialog box

(Figura 29) Finestra di dialogo Modifica condizioni

Miglioramenti di accessibilità del debugger

Ora è possibile usare più efficacemente varie finestre del Debugger (Stack di chiamate, Variabili locali, Auto, Espressioni di controllo e Controllo immediato) con gli screen reader e per altre esigenze di accessibilità.

Eventi di IntelliTrace per .NET Core

IntelliTrace supporta ora gli eventi MVC, ADO.NET e HttpClient per le app ASP.NET Core. Questi saranno visualizzati nella scheda Eventi della finestra Strumenti di diagnostica.

Aggiornamenti della finestra Strumenti di diagnostica

Quando si avvia una sessione di debug, si noterà una nuova visualizzazione Riepilogo (Figura 30) dell'applicazione nella finestra Strumenti di diagnostica. Da qui sarà possibile:

Summary tab in Diagnostics Tools Window

(Figura 30) Scheda Riepilogo della finestra Strumenti di diagnostica

Aggiornamenti del profiler delle prestazioni

Il profiler delle prestazioni ora può essere collegato a un processo in esecuzione. Lo strumento Utilizzo CPU, lo strumento Utilizzo GPU e la Creazione guidata sessione di prestazioni supportano ora il collegamento a un processo in esecuzione.

Aggiornamenti dello strumento Utilizzo CPU

Sono stati apportati diversi miglioramenti allo strumento Utilizzo CPU:

  • Supporto migliorato per il codice esterno - Lo strumento Utilizzo CPU visualizza ora informazioni più dettagliate sui costi della CPU per le funzioni di librerie e framework chiamate da codice utente.
  • Visualizzazione Funzioni (Figura 31): una visualizzazione che classifica le funzioni in base al costo CPU.

Functions List

(Figura 31) Elenco delle funzioni

  • La visualizzazione Chiamante/chiamato (Figura 32) consente di analizzare i costi delle chiamate di funzione effettuate da e verso una funzione selezionata.

Caller / Callee View

(Figura 32) Visualizzazione Chiamante/chiamato

  • La visualizzazione Origine mostra il codice sorgente di una funzione quando la funzione è selezionata nello strumento CPU.

Supporto per il debug in Chrome

Quando si avvia il debug di progetti ASP.NET e si sceglie Google Chrome come browser, Visual Studio esegue il debug del JavaScript che è in esecuzione in Chrome. Se si preferisce usare gli strumenti di sviluppo del browser, è possibile disabilitare questa funzionalità in Strumenti > Opzioni > Debug.


Live Unit Testing

Live Unit Testing (Figura 33) è una funzionalità di Visual Studio 2017 Enterprise che visualizza in tempo reale i risultati del testing unità e la code coverage. Supporta progetti MSTest, xUnit e Nunit per C# e Visual Basic che hanno come destinazione .NET Framework.

Live Unit Testing

(Figura 33) Live Unit Testing
Per altri dettagli, vedere il blog di Live Unit Testing.


Strumenti di test

È possibile associare l'automazione a elementi di lavoro del test case tramite Esplora test

È ora possibile associare l'automazione a elementi di lavoro del test case (Figura 34) selezionando un metodo di test in Esplora test. Questa nuova esperienza consente di visualizzare qualsiasi associazione esistente per il metodo di test scelto.

Per creare un'associazione, è sufficiente fare clic su un test in Esplora test

Test Explorer Associate Automation

(Figura 34) Associare l'automazione con Esplora test

e specificare l'ID di un test case (Figura 35).

Associate Automation

(Figura 35) Associare l'automazione

Nelle versioni precedenti di Visual Studio questa operazione poteva essere eseguita usando il form dell'elemento di lavoro. È possibile abilitare l'esperienza basata sul form dell'elemento di lavoro attivando la modalità di compatibilità mediante Strumenti | Opzioni (Figura 36).

Work Item Form Compatibility mode

(Figura 36) Modalità di compatibilità Form elemento di lavoro


Team Explorer

Nuove funzionalità Git

In Visual Studio 2017 sono state aggiunte nuove funzionalità Git che consentono di ottenere il massimo dal flusso di lavoro end-to-end senza uscire dall'IDE. È possibile visualizzare facilmente la differenza per i commit in uscita, eseguire un force push per completare una riassegnazione o eseguire il push di un commit corretto, annullare l'impostazione del ramo upstream e continuare la riassegnazione di una patch da Visual Studio. È stato anche eseguito il trasferimento in git.exe dove sono disponibili le funzionalità più aggiornate. SSH è supportato, le opzioni di configurazione vengono mantenute e in Team Explorer viene visualizzato esattamente ciò che si trova nella riga di comando. Per altre informazioni su queste funzionalità, vedere questo post di blog.

Connessione a VSTS/TFS

Nella pagina iniziale di Visual Studio e in Team Explorer il processo per la connessione a progetti e la clonazione di repository in VSTS/TFS è stato personalizzato e semplificato, rendendo più facile e veloce l'individuazione di progetti e repository a cui connettersi. La nuova pagina Connetti mostra solo i progetti e repository di cui è stato eseguito il mapping e la clonazione per tutti i server VSTS/TFS (anziché i singoli repository per ogni progetto). Inoltre, non è più necessario connettersi a un progetto prima di clonare i repository.

Quando si avvia la finestra di dialogo per connettersi a VSTS e TFS, verrà visualizzata l'esperienza utente riprogettata. Verranno visualizzati gli eventuali server TFS aggiunti, seguiti da tutti i server, i progetti e i repository di VSTS per l'account utente selezionato. I risultati sono elencati in una struttura ad albero per maggiore semplicità di navigazione. È possibile connettersi a raccolte o progetti, oltre ai repository. Per altre informazioni, vedere Connect to Team Projects (Connettersi ai progetti team).

Form degli elementi di lavoro

Se ci si connette a Visual Studio Team Services da Visual Studio 2017 e si apre un elemento di lavoro, il form di tale elemento verrà visualizzato nel Web browser (Figura 37). Se tuttavia ci si connette a Team Foundation Server 2015 o versione precedente, verranno visualizzati i form degli elementi di lavoro precedenti.

Work Item Form in Team Explorer

(Figura 37) Form elemento di lavoro in Team Explorer


Flusso di lavoro migliorato per commenti e suggerimenti su Visual Studio

L'esperienza per l'invio di commenti e suggerimenti in Visual Studio 2017 è stata aggiornata per offrire funzionalità più efficaci di follow-up e collaborazione. L'aggiornamento includerà un'esperienza più collaborativa per l'opzione Segnala un problema Visual Studio, integrata da un portale Web completo per una soluzione di commenti e suggerimenti end-to-end completa. È ora possibile eseguire ricerche, seguire, votare e ottenere gli aggiornamenti più recenti per tutti i commenti e suggerimenti inviati tramite la funzionalità Segnala un problema dell'IDE di Visual Studio. Queste esperienze ottimizzate sono in linea con molti dei commenti e suggerimenti inviati dagli utenti e consentono di abilitare la comunicazione bidirezionale tra i team e gli utenti.


Estendibilità in Visual Studio

Nuovo formato di estendibilità

La nuova tecnologia di installazione in Visual Studio 2017 offre agli utenti un controllo maggiore sugli strumenti che vengono installati. Alcuni utenti potrebbero installare solo l'editor principale di Visual Studio, mentre altri utenti potrebbero installare diversi carichi di lavoro. Per verificare che siano installate le funzionalità necessarie richieste da un'estensione, gli autori delle estensioni ora possono specificare i singoli componenti richiesti dall'estensione nel relativo manifesto.

Gli utenti verranno avvisati quando tenteranno di installare un'estensione che non è stata compilata utilizzando il nuovo formato VSIX. Il vecchio formato VSIX non specifica i prerequisiti necessari e potrebbe non funzionare se tali prerequisiti non sono disponibili in Visual Studio 2017. Il nuovo formato VSIX è compatibile con le versioni precedenti e può essere usato con le versioni precedenti di Visual Studio fino a Visual Studio 2012.

La finestra di progettazione del manifesto VSIX è stata aggiornata per riflettere le modifiche al manifesto. Nella scheda dei prerequisiti (Figura 38) gli sviluppatori di estensioni possono trovare un elenco di componenti installati da specificare come prerequisito per le proprie estensioni.

Prerequisite

(Figura 38) Scheda Prerequisiti

Durante l'installazione dell'estensione, VSIX Installer (Figura 39) indica i componenti mancanti e li installa automaticamente insieme all'estensione.

VSIXInstaller

(Figura 39) VSIX Installer

Modificare le estensioni in blocco

Nella finestra di dialogo Estensioni e aggiornamenti (Figura 40) è ora possibile pianificare l'installazione, l'aggiornamento e la disinstallazione di più estensioni prima che sia necessario riavviare Visual Studio. Nell'angolo inferiore destro compare un riepilogo delle operazioni pianificate. Per rimuovere una modifica pianificata, fare clic sulla X accanto a un'estensione che è attualmente pianificata per l'installazione.

Extensions and Updates Dialog

(Figura 40) Finestra di dialogo Estensioni e aggiornamenti

Dopo che VSIX Installer ha rilevato che tutte le finestre di Visual Studio sono chiuse, inizia a completare le modifiche pianificate (Figura 41).

Batched Modification Installer

(Figura 41) Programma di installazione delle modifiche in batch

Supporto di Ngen

È ora possibile scegliere di installare gli assembly mediante NGen (Figura 42).

NGEN Properties

(Figura 42) Proprietà di NGen

  • NGen - Se usare o meno NGen sull'assembly.
  • Applicazione NGen - Applicazione da passare a Ngen mediante l'opzione /ExeConfig.
  • Architettura NGen - Architettura di destinazione per l'immagine nativa. Le opzioni sono: x86, x64 e tutti.
  • Priorità NGen - Livello di priorità di NGen.

Installare i file all'esterno della directory dell'estensione

È ora possibile installare i file in un elenco di cartelle selezionate che si trovano all'esterno della directory dell'estensione (Figura 43).

VSIX Properties

(Figura 43) Proprietà VSIX

  • Include in VSIX (Includi in VSIX) - È possibile includere il file in VSIX.
  • Install Root (Radice di installazione) - Directory radice in cui installare il file. Le opzioni sono: Predefinito (installazione all'interno della directory dell'estensione), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemi, Licenze, RemoteDebugger e VSTargets.
  • Target Path (Percorso di destinazione) - Nome del file da installare nel computer dell'utente.
  • VSIX Sub Path (Percorso VSIX secondario) - Percorso secondario sotto la radice di installazione in cui verrà installato il file.

Gestione roaming estensioni

La nuova funzionalità di Visual Studio 2017, Gestione roaming estensioni, consente di tenere traccia delle estensioni preferite in tutti gli ambienti di sviluppo. Il roaming delle estensioni consente di tenere traccia delle estensioni installate creando un elenco sincronizzato sul cloud.

Quando si accede a Visual Studio, è possibile visualizzare rapidamente un elenco delle estensioni scegliendo Strumenti > Estensioni e aggiornamenti e facendo clic su Gestione roaming estensioni (Figura 44). Questa funzionalità consente di tenere traccia delle estensioni installate e di scegliere quelle da aggiungere all'elenco di roaming. Nella raccolta sono disponibili ogni giorno nuove estensioni. Lo strumento semplifica e rende più rapida la configurazione di ogni ambiente di sviluppo con le estensioni preferite dell'utente.

The new Roaming Extension Manager in the Visual Studio IDE

(Figura 44) Nuova funzionalità Gestione roaming estensioni nell'IDE di Visual Studio

Quando si usa questa funzionalità è possibile notare tre tipi di icone:

  • Icona con roaming Icona con roaming - Indica un'estensione che fa parte dell'elenco di roaming, ma non è installata nel computer. Per installarla, usare il pulsante "Download".
  • Icona con roaming e installazione Icona con roaming e installazione - Indica tutte le estensioni incluse nell'elenco di roaming e installate nell'ambiente. Se si decide di evitare il roaming, è possibile rimuovere le estensioni tramite il pulsante "Arresta roaming".
  • Icona con installazione Icona con installazione - Indica tutte le estensioni installate nell'ambiente, ma non incluse nell'elenco di roaming. Le estensioni possono essere aggiunte all'elenco di roaming mediante il pulsante "Avvia roaming".

Queste icone mostreranno lo stato corrente dell'elenco. È possibile includere qualsiasi estensione con qualsiasi stato, personalizzandole in base alle proprie esigenze. In alternativa, è possibile usare le procedure automatiche. Qualsiasi estensione scaricata quando si è connessi verrà aggiunta all'elenco come con roaming e installata e sarà inclusa nell'elenco di roaming. Sarà quindi possibile accedere all'estensione da qualsiasi altro computer.

Individuazione dei modelli di progetto ed elemento

A partire da Visual Studio 2017, è stata apportata una modifica sostanziale al modo in cui Visual Studio usa i modelli di progetto ed elemento per migliorare le prestazioni della funzionalità di individuazione dei modelli. In base al nuovo meccanismo di rilevamento, tutti i modelli di progetto ed elemento che seguono lo schema "vstemplate" devono essere definiti nei file manifesto dei modelli. I modelli di Visual Studio che non sono definiti in un file manifesto dei modelli non saranno più visibili nelle finestre di dialogo Nuovo progetto o Nuovo elemento. I nuovi strumenti di estendibilità generano un file manifesto durante la fase di compilazione di VSIX. Se si hanno modelli di Visual Studio rilasciati come parte di un pacchetto MSI, è necessario generare manualmente i file manifesto per tali modelli. Per altre informazioni, visitare la pagina MSDN Upgrading Custom Project and Item Templates for Visual Studio 2017 (Aggiornamento dei modelli di progetto ed elemento personalizzati per Visual Studio 2017).


.NET Core e ASP.NET Core

È disponibile la versione finale 1.0 dei nuovi strumenti per Microsoft .NET Core basati su MSBuild. Con Visual Studio 2017 è possibile creare librerie .NET Standard, librerie e app .NET Core e progetti Web ASP.NET che usano il nuovo formato csproj.

Gli strumenti .NET Core sono inclusi automaticamente nel carico di lavoro Sviluppo ASP.NET e Web e come componente facoltativo nel carico di lavoro Sviluppo per desktop .NET nel programma di installazione. Per sviluppare soltanto applicazioni .NET Core da usare su più piattaforme, è possibile installare soltanto gli strumenti .NET Core e ASP.NET Core mediante il carico di lavoro "Sviluppo multipiattaforma .NET Core" disponibile nella sezione "Altri set di strumenti" del programma di installazione.

Di seguito sono elencate le funzionalità di livello avanzato disponibili in questa versione:

  • Supporto di MSBuild per i progetti .NET Core, con formato di progetto csproj semplificato, che rende più semplice la modifica manuale senza necessità di scaricare il progetto.
  • Per modificare il file csproj di .NET Core è sufficiente fare clic con il pulsante destro del mouse in Esplora soluzioni e scegliere "Modifica".
  • Supporto per i caratteri jolly dei file nel file di progetto, in cui non è necessario elencare tutti i nomi dei file del codice sorgente. Questo consente di non aumentare eccessivamente le dimensioni del file csproj.
  • Riferimenti al pacchetto NuGet come parte del file csproj, che consolidano tutti i riferimenti al progetto in un file.
  • Interoperabilità tra progetti .NET Core, .NET Standard e .NET Framework. Un progetto .NET Core, ad esempio, può aggiungere a un progetto .NET Standard un riferimento da progetto a progetto.
  • Framework a più destinazioni e tra destinazioni in un progetto singolo.
  • I progetti .NET Core project.json esistenti vengono automaticamente migrati a csproj quando vengono aperti in Visual Studio. In alternativa, è possibile migrarli manualmente usando l'interfaccia della riga di comando (CLI) di .NET.
  • Configurazione semplice della continua integrazione delle compilazione per applicazioni ASP.NET Core con supporto Docker e recapito continuo di compilazioni ai servizi dei contenitori di Azure dall'interno dell'IDE di Visual Studio.

Per altre informazioni, vedere il blog di .NET.


Strumenti per lo sviluppo di app di Windows universali

Toolchain .NET Native aggiornata

Questa toolchain .NET Native aggiornata aggiunge alcune ottimizzazioni per migliorare le prestazioni di runtime per app UWP gestite in Visual Studio. Questa versione include più di 600 correzioni di bug, oltre a funzionalità per risolvere i problemi chiave segnalati dai clienti e migliorare la qualità complessiva della toolchain.

Pacchetto 5.3.0 Microsoft.NETCore.UniversalWindowsPlatform

Questo aggiornamento delle librerie del framework NuGet di .NET Core risolve alcuni problemi essenziali segnalati dai clienti. I progetti UWP esistenti possono usare Gestione riferimenti di NuGet per eseguire l'aggiornamento a questa nuova versione. Il nuovo pacchetto .NET Core include inoltre la toolchain .NET Native.

SDK ed emulatore per l'Aggiornamento dell'anniversario di Windows 10

Windows SDK e l'emulatore di Windows Phone per l'Aggiornamento dell'anniversario di Windows 10 sono inclusi in questa versione.

  • Gli elementi dell'interfaccia utente creati dalla casella degli strumenti verranno creati con meno tag XAML, con conseguente semplificazione e migliore leggibilità del codice XAML.
  • Un nuovo strumento di opzioni nella finestra di progettazione XAML consente allo sviluppatore di selezionare il tema dell'interfaccia utente e le impostazioni di contrasto elevato da visualizzare in anteprima nell'area di progettazione.
  • Gli editor di valori nella finestra Proprietà ora accettano semplici equazioni matematiche, come "60+20". Le equazioni verranno valutate immediatamente (in questo caso, 80) e il valore risultante verrà inserito nel codice XAML.

Funzionalità di Progettazione manifesto per la creazione di asset visivi

L'interfaccia di Progettazione manifesto (Figura 45) è stata aggiornata e vi è stata aggiunta la possibilità di generare risorse visive per le app UWP. Ora è possibile usare un'unica immagine di origine per creare riquadri, logo, icone e schermate iniziali di qualsiasi dimensione adatti a qualsiasi tipo di dispositivo cui l'app è destinata.

Manifest Visual Asset Generator

(Figura 45) Generatore di risorse visive del manifesto

Analisi interfaccia utente

Gli strumenti della piattaforma UWP (Universal Windows Platform) consentono ora di rilevare alcuni problemi di accessibilità e prestazioni. Abilitando lo strumento "Analisi interfaccia utente" nel menu Strumenti della finestra Strumenti di diagnostica, la segnalazione di questi problemi sarà accompagnata da collegamenti ad articoli utili che spiegano come e perché correggere i problemi. Quando si sviluppano applicazioni con Analisi interfaccia utente abilitato, l'accessibilità e le prestazioni dell'interfaccia utente sono i primi aspetti presi in considerazione.


Xamarin

Xamarin 4.4 è incluso in Visual Studio 2017. Per altre informazioni, vedere le note sulla versione di Xamarin.

Questa versione di Xamarin per Visual Studio 4.4 aggiorna le versioni di Xamarin.iOS 10.8 e Xamarin.Android 7.2.

Correzioni di bug

Questa versione include le correzioni seguenti:

  • Le app di estensione iOS non vengono compilate e restituiscono l'errore "impossibile leggere dati dei diritti".(4.4.0.31)
  • Include simboli per i rapporti Watson. (4.4.0.6)
  • La distribuzione Android non viene eseguita se la soluzione include anche un progetto Wix. (4.3.1.39)
  • Deadlock che apre alcuni progetti iOS. (4.3.1.39)
  • I punti di interruzione non raggiungono i riferimenti PCL di secondo livello. (4.3.1.39)
  • Corregge il problema iOS causato dall'attività CodeSignNativeLibraries mancante. (4.3.1.39)
  • Errore durante l'apertura di uno storyboard dopo la connessione al server Mac. (4.3.1.39)
  • Il progetto di libreria di classi Android dovrebbe solo includere "Versione di Android per la compilazione:" nella pagina delle proprietà. (4.3.1.39)
  • Visual Studio si blocca quando si passa alla scheda "Strumenti->Opzioni->Xamarin->Altro". (4.3.1.39)
  • Visual Studio si blocca durante il caricamento di una soluzione multipiattaforma in alcuni ambienti. (4.3.1.1)
  • Non ci sono riferimenti a Microsoft.Csharp nei modelli di progetto di Visual Studio. (4.3.1.1)
  • Impossibile connettersi a un server Mac se la shell utente configurata non usa la sintassi bash. (4.3.1.1)
  • Opzione Submit to Test Cloud (Invia al cloud test) mancante (bug corretto in VS2013 e VS2015). (4.3.1.1)
  • Il debugger non funziona correttamente quando il nome di una variabile o di una proprietà è uguale al nome di una classe di un altro elemento. (4.3.1.1)
  • Impossibile rinominare un'immagine impostata dal catalogo di asset. (4.3.1.1)
  • La cartella 'Resources' è nascosta forzatamente nei progetti di estensione dell'espressione di controllo. (4.3.1.1)
  • La cartella "Assets.xcasset" che si trova nella cartella "Risorse" non è nascosta per i progetti tvOS. (4.3.1.1)

Strumenti di Visual Studio per Apache Cordova

Questa versione Preview di Visual Studio 2017 include i miglioramenti seguenti:

  • Cordova Simulate: un nuovo simulatore basato su browser che consente di creare velocemente il codice e visualizzare immediatamente i risultati nel browser (Figura 46). Livereload, Simulazione plug-in e il supporto di Ionic Framework garantisce a Visual Studio il più rapido flusso di lavoro per sviluppatori sul mercato.

Cordova simulate

(Figura 46) Cordova Simulate

  • Supporto per iOS 10 e XCode 8 - L'aggiornamento dell'agente server remotebuild per lo sviluppo iOS include ora il supporto per XCode 8.

  • Colorazione degli errori: dato che la diagnostica degli errori di compilazione spesso richiede che gli sviluppatori leggano l'output di compilazione, per agevolare la lettura è stata introdotta la colorazione degli errori nel riquadro dell'output di compilazione (Figura 47). Sono anche state aggiunte intestazioni per delineare i passaggi del processo di compilazione e semplificare così l'identificazione del punto del processo di compilazione in cui si è verificato un errore.

Pretty printing

(Figura 47) Colorazione degli errori

  • Acquisizione all'interno del prodotto: oltre all'installazione semplificata per accelerare la creazione di app Cordova, sono stati aggiunti percorsi da Visual Studio che consentono di acquisire altri componenti di compilazione man mano che si procede con lo sviluppo (Figura 48). Se non sono stati installati componenti di Windows o Android, è possibile ottenerli tramite la barra di distribuzione, che avvierà l'installazione di Visual Studio e mostrerà tutte le fasi del processo di installazione.

In-product acquisition

(Figura 48) Acquisizione all'interno del prodotto

  • Compilazioni più veloci e affidabili - Il nuovo programma di installazione di Visual Studio, combinato con l'installazione offline di componenti toolchain di terze parti completamente convalidati, offre compilazioni più rapide e più semplici da correggere, nonché una risoluzione dei problemi semplificata.
Importante

Gli strumenti di compilazione e gli emulatori per Android e Windows sono ora facoltativi. Possono essere acquisiti in modo dinamico tramite la barra dei menu di compilazione/distribuzione. Questa versione di Visual Studio non supporta progetti di Windows Store 8.1. È consigliabile aggiornare i progetti di Cordova in modo che facciano riferimento a Windows 10. La versione minima di Cordova supportata è la 6.0.0. Per la compilazione e la distribuzione in Visual Studio 2017, i progetti realizzati per una versione di Cordova precedente la 6.0.0 dovranno essere aggiornati in config.xml.


Node.js Tools per Visual Studio

Node.js Tools per Visual Studio trasforma Visual Studio in un ambiente avanzato per lo sviluppo di Node.js. Questa versione è incentrata sulla stabilità, sulle prestazioni e sulla qualità complessiva del prodotto, tra cui:

  • Migliore integrazione con il nuovo servizio di linguaggio Salsa JavaScript.
  • Uso ridotto di memoria e CPU e tempi di caricamento inferiori per il caricamento dei progetti.
  • Supporto per i file modello Pug.
  • Modelli di progetto più aggiornati.
  • Supporto per il framework di test Mocha 3.x.
  • Numerose correzioni di bug.

Grazie a tutti i collaboratori straordinari che hanno preso parte alla creazione di questa versione di Node.js Tools per Visual Studio. Per altre informazioni, vedere l'articolo open source sul progetto Node.js Tools su GitHub.


Visual Studio Tools per Unity

Usare Visual Studio per scrivere ed eseguire il debug dei giochi Unity su tutte le piattaforme. Visual Studio Tools per Unity 3 (Figura 49) è ora disponibile per l'installazione con il carico di lavoro "Sviluppo di giochi con Unity" nel nuovo programma di installazione di Visual Studio 2017. Visual Studio Tools per Unity 3 è incentrato sul miglioramento dell'esperienza di modifica e debug del codice per gli sviluppatori di Unity, nonché sulla qualità complessiva del prodotto, tra cui:

  • Supporto IntelliSense per i messaggi Unity.
  • Applicazione di colori al codice dei messaggi Unity.
  • Valutazione migliorata delle espressioni nel debugger di Unity.
  • Miglioramento delle creazioni guidate dei messaggi Unity per supportare tutti i tipi di Unity in grado di ricevere messaggi.
  • Numerose correzioni di bug e ottimizzazioni.

Code completion session for Unity messages

(Figura 49) Sessione di completamento del codice per messaggi Unity


Redgate

Redgate Data Tools inclusi in Visual Studio

Per estendere le funzionalità DevOps di Visual Studio 2017 all'ambiente di sviluppo di database SQL Server, sono ora disponibili nel carico di lavoro Elaborazione ed archiviazione dati gli strumenti Redgate Data Tools che includono Redgate SQL Prompt Core, Redgate SQL Search e Redgate ReadyRoll Core.

  • Redgate ReadyRoll Core, incluso in Visual Studio Enterprise 2017, consente di sviluppare script di migrazione e gestire modifiche del database mediante il controllo del codice sorgente, oltre ad automatizzare in modo sicuro le distribuzioni delle modifiche di database di SQL Server insieme alle modifiche delle applicazioni.
  • Redgate SQL Prompt Core, incluso in Visual Studio Enterprise 2017, consente di scrivere codice SQL più velocemente e con maggiore precisione grazie al supporto del completamento intelligente del codice. SQL Prompt completa automaticamente gli oggetti di database, gli oggetti di sistema e le parole chiave, oltre a offrire suggerimenti per le colonne durante la digitazione. Il codice risultante è quindi più pulito e con meno errori, perché non è necessario ricordare ogni nome di colonna o alias.
  • Redgate SQL Search, incluso in tutte le edizioni di Visual Studio 2017, consente di aumentare la produttività grazie alla possibilità di individuare rapidamente oggetti e frammenti SQL in più database.

NuGet

Visual Studio 2017 include NuGet 4.0. Questa versione si concentra sul riferimento al pacchetto di supporto per la maggior parte dei tipi di progetto, miglioramenti della qualità e miglioramenti delle prestazioni:

  • Nei progetti WPF, WindowsForms e UWP i pacchetti possono ora essere gestiti mediante riferimenti ai pacchetti.
  • Miglioramento del supporto del ripristino NuGet per il caricamento leggero delle soluzioni. È ora possibile eseguire ripristini senza dover caricare progetti.
  • Nei progetti .NET Core e ASP.NET Core, i pacchetti vengono ora gestiti tramiteriferimenti al pacchetto.
  • In Visual Studio 2017 e versioni successive, il file di configurazione NuGet.config a livello di computer è ora disponibile in %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. In futuro, nuget.exe v4.0.0 + prenderà in considerazione anche il nuovo percorso per la configurazione a livello di computer. NuGet.config nei dati del programma non disporrà più di un riferimento implicito o non sarà considerato per l'unione gerarchica di NuGet.config.

Strumenti per le app XAML

Modifica e continuazione per XAML

Visual Studio consente ora di modificare XAML durante l'esecuzione dell'app WPF o dell'app di Windows universale. Durante il debug dell'app in Visual Studio, è possibile apportare modifiche al markup nell'editor di codice XAML. Le modifiche verranno riflesse nell'app in esecuzione senza che sia necessario ricompilarla.

Miglioramenti alla produttività dell'editor XAML

  • Filtro IntelliSense - Quando si digita codice XAML, l'elenco di completamento mostrerà solo i tipi corrispondenti e verrà selezionata la corrispondenza più vicina.
  • IntelliSense per x:Bind - È stato abilitato il completamento IntelliSense per x:Bind durante il binding a Percorso ed Eventi.
  • Completamento dello spazio dei nomi: se non è indicato il riferimento allo spazio dei nomi (Figura 50), il supporto IntelliSense durante la digitazione non è disponibile. Dopo aver completato la digitazione, si otterrà supporto per i suggerimenti LightBulb per generare e inserire il prefisso per il tipo e aggiungere la definizione dello spazio dei nomi nel documento XAML.

IntelliSense_without namespace

(Figura 50) IntelliSense senza spazio dei nomi

  • Per i tipi che richiedono un prefisso, IntelliSense offrirà il completamento automatico del prefisso se il riferimento allo spazio dei nomi esiste già.


  • Refactoring di ridenominazione del prefisso dello spazio dei nomi: quando il cursore si trova sul prefisso, è possibile chiamare l'azione di ridenominazione (figura 51) dal menu di scelta rapida o tramite i tasti di scelta rapida Ctrl+R+R. È anche possibile visualizzare le modifiche prima di applicarle.

Namespace Prefix Rename

(Figura 51) Ridenominazione del prefisso dello spazio dei nomi

  • Rimozione e ordinamento degli spazi dei nomi: è ora possibile rimuovere gli spazi dei nomi non necessari (figura 52) e ordinarli dal menu di scelta rapida o tramite i tasti di scelta rapida Ctrl+R+G. Se il documento XAML contiene spazi dei nomi non necessari, sarà disponibile anche un'icona a forma di lampadina che offre la possibilità di rimuoverli.

Lightbulb_remove unnecessary namespace

(Figura 52) Lampadina: rimozione degli spazi dei nomi non necessari

  • Supporto di .editorconfig per l'editor XAML - È possibile definire impostazioni per indent_style, indent_size e tab_width nel file .editorconfig che verranno usate al posto delle impostazioni definite in Strumenti > Opzioni.

  • Visualizzatore di struttura per l'editor XAML: il visualizzatore di struttura (ad esempio le guide di rientro) (Figura 53) è ora incorporato in Visual Studio e non è necessaria un'estensione separata. Questa funzionalità consente di visualizzare immediatamente, senza dover scorrere, il contesto del blocco di codice a cui si sta lavorando.

Structure Visualizer for XAML editor

(Figura 53) Visualizzatore di struttura per l'editor XAML

Miglioramenti alle prestazioni XAML

  • Miglioramento delle prestazioni nel passaggio alla scheda XAML - Le prestazioni nel passaggio alla scheda XAML sono state migliorate in misura significativa. In un progetto di un cliente preso come esempio è stata osservata una riduzione del tempo di passaggio superiore al 90%.
  • Riduzione dei ritardi di digitazione nell'editor XAML - La digitazione di codice XAML è ora più veloce che mai. Sono stati effettuati diversi investimenti per ridurre i ritardi di digitazione nell'editor XAM e gli sviluppatori dovrebbero riscontrare una maggiore velocità di risposta a livello di editor XAML e IntelliSense XAML. Questo miglioramento risulta più evidente durante la modifica di un file XAML in progetti che utilizzano controlli di terze parti o librerie di controlli di grandi dimensioni.

Data Tools e SQL Server

SQL Server Data Tools

Visual Studio 2017 include l'aggiornamento più recente di SQL Server Data Tools, che abilita il supporto per le funzionalità più recenti del database SQL di Azure e di SQL Server 2016.

Questa versione consente di eseguire facilmente operazioni di sviluppo, test e distribuzione di un database in tutte le versioni di SQL Server e in tutte le piattaforme di database, sia in locale che sul cloud, usando Visual Studio. Questa versione include anche miglioramenti alla superficie di attacco per la programmabilità del database e semplifica l'esperienza di connessione a SQL in SQL Server Data Tools. Ora infatti vengono individuati automaticamente i database di SQL Server e del database SQL di Azure, a cui è possibile connettersi con un semplice clic.

Visual Studio 2017 fa anche riferimento ai nuovi tipi di autenticazione del database SQL di Azure, oltre che all'autenticazione integrata e tramite password di Azure Active Directory.


Strumenti di analisi per sviluppatori

Visual Studio 2017 include Developer Analytics Tools versione 8.6, con i miglioramenti seguenti:

  • CodeLens mostra sia i dati di debug che i dati di telemetria attivi nei progetti che inviano dati a una risorsa di Application Insights.
  • Per le eccezioni CodeLens si collega ad Analisi applicazione per mostrare l'impatto di un'eccezione sugli utenti.
  • CodeLens mostre le richieste dalle sessioni di debug locale nei progetti con Application Insights SDK.
  • Le richieste e le eccezioni per CodeLens sono ora disponibili dai progetti di Visual Basic.
  • Dopo la pubblicazione dell'app da Visual Studio, le metriche attive vengono visualizzate in una notifica di tipo avviso popup.
  • Le informazioni sui prezzi di Application Insights sono ora visualizzate nella finestra di configurazione.
  • Gli eventi di disponibilità vengono ora visualizzati negli strumenti Ricerca e Tendenze.
  • Gli eventi negli strumenti Ricerca e Diagnostica mostrano ora i conteggi della frequenza con cui si sono verificati in base al campionamento adattivo nell'SDK.
  • CodeLens mostra le eccezioni che si sono verificate durante le sessioni di debug locale per i progetti con Application Insights SDK.
  • Nuovo design per la finestra di configurazione di Application Insights.
  • Per le eccezioni CodeLens dispone ora di un collegamento ad Analisi applicazione per verificare l'impatto di un'eccezione sugli utenti.
  • Quando si aggiunge Application Insights a un progetto, viene aggiunto Application Insights JavaScript SDK per la raccolta della telemetria delle visualizzazioni della pagina.
  • Quando si pubblicano app da Visual Studio, le annotazioni di pubblicazione vengono ora inviate alla risorsa Application Insights.
  • Per gli indicatori CodeLens rossi e gialli di Application Insights vengono ora visualizzati marcatori della barra di scorrimento.

Altre informazioni su Application Insights sono disponibili nella documentazione di Microsoft Azure.


Office Developer Tools per Visual Studio

Questa versione include Office Developer Tools con le funzionalità e gli aggiornamenti più recenti, come illustrato di seguito:

  • Nuovi modelli dei componenti aggiuntivi di Office specifici per Excel, Word, PowerPoint e Outlook.
  • Supporto per nuove funzionalità dei componenti aggiuntivi di Office, ad esempio comandi dei componenti aggiuntivi, interfaccia utente di Fabric e una nuova versione di Office.js.
  • Nuovo codice di avvio nei modelli che illustrano come eseguire le operazioni iniziali con le nuove funzionalità dei componenti aggiuntivi di Office.
  • Supporto di SharePoint 2016 in modelli dei componenti aggiuntivi e soluzioni di SharePoint.

Convalida delle dipendenze architetturali in tempo reale

Se In Visual Studio Enterprise sono configurati i diagrammi di convalida delle dipendenze (detti anche diagrammi di livello), è ora possibile ricevere notifiche in tempo reale (Figura 54) relative alla violazioni delle regole delle dipendenze architetturali durante la digitazione del codice nell'editor del codice. Gli errori vengono visualizzati nell'Elenco errori e le sottolineature ondulate nell'editor di testo mostrano la posizione esatta della violazione. In questo modo si riducono le probabilità di introdurre dipendenze indesiderate.

Live Architecture Dependency validation

(Figura 54) Convalida delle dipendenze architetturali in tempo reale


Prompt dei comandi per gli sviluppatori

Gli script del prompt dei comandi per gli sviluppatori di Visual Studio 2017 sono stati sottoposti a refactoring in modo da supportare la nuova esperienza di installazione:

  • Le variabili di ambiente rifletteranno solo i carichi di lavoro installati.
  • Il collegamento Prompt dei comandi per gli sviluppatori di Visual Studio dovrebbe essere compatibile con le versioni precedenti.
  • È ora possibile configurare gli script del prompt dei comandi per gli sviluppatori tramite gli argomenti della riga di comando:
    • Per informazioni dettagliate, in un prompt dei comandi chiamare common7\tools\vsdevcmd.bat -help (dalla directory di installazione di Visual Studio).

Azure SDK per .NET

Azure SDK per .NET è ora disponibile per l'installazione con il nuovo programma di installazione di Visual Studio. Se Azure SDK per .NET è stato precedentemente installato usando l'Installazione guidata piattaforma Web, ora è possibile ottenere gli stessi componenti installando il carico di lavoro di Azure con il nuovo programma di installazione di Visual Studio. I pacchetti installati sono allo stesso livello di funzionalità della versione 2.9.5 dell'SDK. Per questa versione di Visual Studio e tutte le versioni future, Azure SDK per .NET sarà disponibile solo dal programma di installazione di Visual Studio.


Vedere le note sulla versione corrente

The Developer Community Portal Vedere i problemi segnalati dai clienti e risolti in Visual Studio 2017 (versione 15.3).

Vedere le note sulla versione di Visual Studio 2017 (versione 15.2)

The Developer Community Portal Vedere i problemi segnalati dai clienti e risolti in Visual Studio 2017 (versione 15.2).

Vedere le note sulla versione di Visual Studio 2017 (versione 15.1)

The Developer Community Portal Vedere i problemi segnalati dai clienti e risolti in Visual Studio 2017 (versione 15.1).

Problemi noti

Vedere tutti i problemi noti e le soluzioni alternative in Visual Studio 2017.

In alto