Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Questo articolo include informazioni sulle funzionalità di Visual Studio per lo sviluppo F#.
Installare il supporto di F#
Per sviluppare con F# in Visual Studio, installare prima di tutto il carico di lavoro Sviluppo di applicazioni desktop .NET , se non è già stato fatto. È possibile installare i carichi di lavoro di Visual Studio tramite il programma di installazione di Visual Studio, che è possibile aprire selezionando StrumentiRecupera strumenti >e funzionalità.
Funzionalità del progetto F#
Sono disponibili vari modelli di progetto ed elemento per F# in Visual Studio. L'immagine seguente mostra alcuni modelli di progetto F# per .NET Core e .NET Standard:
L'immagine seguente mostra alcuni modelli di elemento F#:
Per altre informazioni sui modelli di elemento per l'accesso ai dati, vedere Provider di tipi F#.
La tabella seguente riepiloga le funzionalità nelle proprietà del progetto per F#:
| Impostazione progetto | Supportato in F#? | Note |
|---|---|---|
| File di risorse | Sì | |
| Impostazioni di compilazione, debug e riferimento | Sì | |
| Targetizzazione multipla | Sì | |
| Icona e manifesto | NO | Disponibile tramite le opzioni della riga di comando del compilatore. |
| servizi client ASP.NET | NO | |
| ClickOnce | NO | Usare un progetto client in un altro linguaggio .NET, se applicabile. |
| Nominazione sicura | NO | Disponibile tramite le opzioni della riga di comando del compilatore. |
| Pubblicazione e controllo delle versioni degli assembly | NO | |
| Analisi del codice | NO | Gli strumenti di analisi del codice possono essere eseguiti manualmente o come parte di un comando di post-compilazione. |
| Sicurezza (modifica dei livelli di attendibilità) | NO |
Progettazione progetti
Progettazione progetti è costituito da diverse pagine delle proprietà del progetto raggruppate in base alle funzionalità correlate. Le pagine disponibili per i progetti F# sono principalmente un subset di quelle disponibili per altri linguaggi e sono descritte nella tabella seguente. I collegamenti vengono forniti alla pagina di Progettazione progetti C# corrispondente.
| Pagina Progettazione progetti | Collegamenti correlati | Descrizione |
|---|---|---|
| Applicazione | Pagina applicazione, Progettazione progetti | Consente di specificare le impostazioni e le proprietà a livello di applicazione, ad esempio se si sta creando una libreria o un file eseguibile, la versione di .NET di destinazione dell'applicazione e le informazioni sulla posizione in cui vengono archiviati i file di risorse usati dall'applicazione. |
| Costruire | Pagina Compilazione, Progettazione progetti | Consente di controllare la modalità di compilazione del codice. |
| Eventi di compilazione | Pagina Eventi di compilazione, Progettazione progetti | Consente di specificare i comandi da eseguire prima o dopo una compilazione. |
| Correzione errori di programma | pagina di debug , di Progettazione progetti | Consente di controllare la modalità di esecuzione dell'applicazione durante il debug. Sono inclusi i comandi da usare e la directory iniziale dell'applicazione e le modalità di debug speciali da abilitare, ad esempio codice nativo e SQL. |
| Pacchetto (solo .NET SDK) | Non disponibile | Consente di definire i metadati del pacchetto NuGet durante la pubblicazione come pacchetto NuGet. |
| Percorsi di riferimento | Gestire i riferimenti in un progetto | Consente di specificare da dove cercare gli assembly da cui dipende il codice. |
| Risorse (solo .NET SDK) | Non disponibile | Consente di generare e gestire un file di risorse predefinito. |
Impostazioni specifiche di F#
La tabella seguente riepiloga le impostazioni specifiche di F#:
| Pagina Progettazione progetti | Impostazione | Descrizione |
|---|---|---|
| Costruire | Generare chiamate tail | Se selezionata, abilita l'uso dell'istruzione MSIL (Microsoft Intermediate Language) finale. In questo modo, lo stack frame viene riutilizzato per le funzioni ricorsive della parte finale. Equivale all'opzione del --tailcalls compilatore. |
| Costruire | Altri flag | Consente di specificare opzioni aggiuntive della riga di comando del compilatore. |
Funzionalità dell'editor di codice e di testo
In F#sono supportate le funzionalità seguenti degli editor di testo e del codice di Visual Studio:
| Caratteristica / Funzionalità | Descrizione | Supportato in F#? |
|---|---|---|
| Commento automatico | Consente di commentare o rimuovere il commento da sezioni di codice. | Sì |
| Formato automatico | Riformatta il codice con rientro e stile standard. | NO |
| Segnalibri | Consente di salvare posizioni nell'editor. | Sì |
| Modificare il rientro | Rientri o non rientra le righe selezionate. | Sì |
| Rientro intelligente | Rientra e rientra automaticamente il cursore in base alle regole di ambito F#. | Sì |
| Trova e sostituisci testo | Consente di eseguire ricerche in un file, in un progetto o in una soluzione e di modificare potenzialmente il testo. | Sì |
| Passare alla definizione per l'API .NET | Quando il cursore è posizionato in un'API .NET, mostra il codice generato dai metadati .NET. | NO |
| Passare alla definizione per l'API definita dall'utente | Quando il cursore si trova su un'entità programma definita, sposta il cursore nella posizione nel codice in cui è definita l'entità. | Sì |
| Vai alla riga | Consente di passare a una riga specifica in un file, in base al numero di riga. | Sì |
| Barre di spostamento all'inizio del file | Consente di passare alle posizioni nel codice, ad esempio il nome della funzione. | Sì |
| Linee guida per la struttura dei blocchi | Mostra linee guida che indicano gli ambiti F#, su cui è possibile passare il puntatore del mouse per un'anteprima. | Sì |
| Abbozzatura | Consente di comprimere le sezioni del codice per creare una visualizzazione più compatta. | Sì |
| Tabify | Converte gli spazi in schede. | Sì |
| Colorazione dei tipi | Mostra i nomi dei tipi definiti in un colore speciale. | Sì |
| Ricerca rapida. Vedere Ricerca rapida, Trova e Sostituisci finestra. | Consente di eseguire la ricerca in un file o in un progetto. | Sì |
| Ctrl+fare clic su Vai a definizione | Consente di tenere premuto CTRL e fare clic su un simbolo F# per richiamare Vai a definizione. | Sì |
| Passare a Definizione da QuickInfo | Simboli selezionabili all'interno di descrizioni comando che richiamano Vai a definizione. | Sì |
| Vai a tutti | Abilita la navigazione globale e corrispondente fuzzy per tutti i costrutti F# tramite CTRL+T. | Sì |
| Ridenominazione inline | Rinomina tutte le occorrenze di un simbolo inline. | Sì |
| Trova tutti i riferimenti | Trova tutte le occorrenze di un simbolo in una codebase. | Sì |
| Semplificare la correzione del codice del nome | Rimuove i qualificatori non necessari per i simboli F#. | Sì |
Rimuovere la correzione del codice di istruzione inutilizzata open |
Rimuove tutte le istruzioni non necessarie open in un documento. |
Sì |
| Correzione del codice del valore inutilizzato | Suggerisce la ridenominazione di un identificatore inutilizzato per il carattere di sottolineatura. | Sì |
Per informazioni generali sulla modifica del codice in Visual Studio e sulle funzionalità dell'editor di testo, vedere Scrivere codice nell'editor.
Funzionalità di IntelliSense
La tabella seguente riepiloga le funzionalità di IntelliSense supportate e non supportate in F#:
| Caratteristica / Funzionalità | Descrizione | Supportato in F#? |
|---|---|---|
| Implementare automaticamente le interfacce | Genera stub di codice per i metodi di interfaccia. | Sì |
| Frammenti di codice | Inserisce il codice da una libreria di costrutti di codifica comuni in argomenti. | NO |
| Completamento di Word | Salva la digitazione completando parole e nomi durante la digitazione. | Sì |
| Completamento automatico | Se abilitata, fa sì che il completamento della parola selezioni la prima corrispondenza durante la digitazione, anziché attendere di selezionare uno o premere CTRL+SPAZIATRICE. | Sì |
| Completamento dell'offerta per i simboli in spazi dei nomi non aperti | Con il completamento automatico, viene suggerito un simbolo corrispondente che si trova in uno spazio dei nomi non aperto, offrendo di essere completato con l'istruzione corrispondente open quando selezionata. |
Sì |
| Generare elementi di codice | Consente di generare codice stub per un'ampia gamma di costrutti. | NO |
| Lista Membri | Quando si digita l'operatore di accesso ai membri (.), vengono visualizzati i membri per un tipo. | Sì |
| Organizzare using/apri | Organizza gli spazi dei nomi a cui si fa riferimento usando istruzioni in C# o direttive open in F#. | NO |
| Informazioni sui parametri | Mostra informazioni utili sui parametri durante la digitazione di una chiamata di funzione. | Sì |
| Informazioni rapide | Visualizza la dichiarazione completa per qualsiasi identificatore nel codice. | Sì |
| Completamento automatico parentesi graffa | Completa automaticamente costrutti di sintassi simili a F# in modo transazionale. | Sì |
Per informazioni generali su IntelliSense, vedere Usare IntelliSense.
Funzionalità di debug
La tabella seguente riepiloga le funzionalità disponibili quando si esegue il debug del codice F#:
| Caratteristica / Funzionalità | Descrizione | Supportato in F#? |
|---|---|---|
| Finestra Auto | Mostra le variabili automatiche o temporanee. | NO |
| Punti di interruzione | Consente di sospendere l'esecuzione del codice in punti specifici durante il debug. | Sì |
| Punti di interruzione condizionali | Abilita i punti di interruzione che testano una condizione che determina se l'esecuzione deve essere sospesa. | Sì |
| Modifica e continuazione | Consente di modificare e compilare il codice durante il debug di un programma in esecuzione senza arrestare e riavviare il debugger. | NO |
| Analizzatore di espressioni | Valuta ed esegue il codice in fase di esecuzione. | No, ma è possibile usare l'analizzatore di espressioni C#, anche se è necessario usare la sintassi C#. |
| Debug cronologico | Consente di eseguire istruzioni nel codice eseguito in precedenza. | Sì |
| Finestra Variabili locali | Mostra valori e variabili definiti localmente. | Sì |
| Esegui in cursore | Consente di eseguire il codice fino al raggiungimento della riga contenente il cursore. | Sì |
| Passo Dentro | Consente di avanzare l'esecuzione e spostarsi in qualsiasi chiamata di funzione. | Sì |
| Eseguire il passaggio | Consente di avanzare l'esecuzione nello stack frame corrente e di passare da qualsiasi chiamata di funzione. | Sì |
Per informazioni generali sul debugger di Visual Studio, vedere Debug in Visual Studio.
Strumenti aggiuntivi
La tabella seguente riepiloga il supporto per F# negli strumenti di Visual Studio.
| Strumento | Descrizione | Supportato in F#? |
|---|---|---|
| Gerarchia di chiamate | Visualizza la struttura annidata delle chiamate di funzione nel codice. | NO |
| Metriche del codice | Raccoglie informazioni sul codice, ad esempio i conteggi delle righe. | NO |
| Visualizzazione classi | Fornisce una visualizzazione basata sul tipo del codice in un progetto. | NO |
| Finestra Elenco errori | Mostra un elenco di errori nel codice. | Sì |
| F# Interactive | Consente di digitare (o copiare e incollare) il codice F# ed eseguirlo immediatamente, indipendentemente dalla compilazione del progetto. La finestra F# Interactive è un rePL (Read, Evaluate, Print Loop). | Sì |
| Visualizzatore oggetti | Consente di visualizzare i tipi in un assembly. | I tipi F# visualizzati negli assembly compilati non vengono visualizzati esattamente come vengono creati. È possibile esplorare la rappresentazione compilata dei tipi F#, ma non è possibile visualizzare i tipi così come vengono visualizzati da F#. |
| finestra "Output" | Visualizza l'output di compilazione. | Sì |
| Analisi di prestazioni | Fornisce strumenti per misurare le prestazioni del codice. | Sì |
| Finestra Proprietà | Visualizza e abilita la modifica delle proprietà dell'oggetto nell'ambiente di sviluppo con stato attivo. | Sì |
| Esplora server | Fornisce modi per interagire con un'ampia gamma di risorse server. | Sì |
| Esplora soluzioni | Consente di visualizzare e gestire progetti e file. | Sì |
| Elenco attività | Consente di gestire gli elementi di lavoro relativi al codice. | NO |
| Progetti di test | Fornisce funzionalità che consentono di testare il codice. | NO |
| Cassetta degli attrezzi | Visualizza schede che contengono oggetti trascinabili, ad esempio controlli e sezioni di testo o codice. | Sì |