Preferenze di stile per il codice

È possibile definire le impostazioni per lo stile di codice a livello di singolo progetto usando un file EditorConfig oppure per tutto il codice modificato in Visual Studio nella pagina Opzioni dell'editor di testo. Per il codice C#, è anche possibile configurare Visual Studio per applicare queste preferenze di stile del codice usando i comandi Pulizia codice (Visual Studio 2019, Visual Studio 2022) e Formatta documento (Visual Studio 2017).

Stili di codice nei file EditorConfig

È possibile specificare le impostazioni relative agli stili di codice per .NET mediante l'aggiunta di un file EditorConfig al progetto. I file EditorConfig sono associati a una codebase anziché a un account di personalizzazione di Visual Studio. Le impostazioni in un file EditorConfig hanno la precedenza sugli stili di codice specificati nella finestra di dialogo Opzioni. Usare un file EditorConfig quando si vogliono imporre stili di codice per tutti i collaboratori del repository o del progetto.

È possibile popolare manualmente il file EditorConfig oppure generarlo automaticamente in base alle impostazioni per gli stili del codice specificate nella finestra di dialogo Opzioni di Visual Studio. Questa pagina delle opzioni è disponibile in Strumenti>Opzioni>Editor> di testo [C# o Base] >Code Style>General. Fare clic su Genera file con estensione editorconfig dalle impostazioni per generare automaticamente un file con estensione editorconfig per lo stile di codifica in base alle impostazioni in questa pagina Opzioni.

Screenshot di Genera file editorconfig dalle impostazioni.

È possibile popolare manualmente il file EditorConfig oppure generarlo automaticamente in base alle impostazioni per gli stili del codice specificate nella finestra di dialogo Opzioni di Visual Studio. Questa pagina delle opzioni è disponibile in Strumenti>Opzioni>Editor> di testo [C# o Visual Basic] >Code Style>General. Fare clic su Genera file con estensione editorconfig dalle impostazioni per generare automaticamente un file con estensione editorconfig per lo stile di codifica in base alle impostazioni in questa pagina Opzioni.

Screenshot di Genera file editorconfig dalle impostazioni.

Stili di codice nella finestra di dialogo Opzioni

Per impostare le preferenze di stile per il codice per tutti i progetti C# e Visual Basic, aprire la finestra di dialogo Opzioni dal menu Strumenti. Nella finestra di dialogo Opzioni selezionare Editor> di testo [C# o Visual Basic]> Stile codice>Generale.

Per impostare le preferenze di stile per il codice per tutti i progetti C# e Visual Basic, aprire la finestra di dialogo Opzioni dal menu Strumenti. Nella finestra di dialogo Opzioni selezionare Editor> di testo [C# o Base]> Stile codice>Generale.

Quando viene selezionata, ogni voce dell'elenco visualizza un'anteprima della preferenza:

Screenshot delle opzioni di stile del codice.

Screenshot delle opzioni di stile del codice.

Le opzioni impostate in questa finestra sono applicabili all'account di personalizzazione di Visual Studio e non vengono associate a un progetto o una codebase in particolare. Inoltre, non vengono applicate in fase di compilazione, neanche nelle compilazioni con di integrazione continua (CI). Se si vogliono associare le preferenze di stile per il codice al progetto e fare in modo che gli stili vengano applicati durante la compilazione, specificare le preferenze in un file con estensione editorconfig associato al progetto.

Preferenza e gravità

Per ogni impostazione di stile del codice in questa pagina è possibile impostare i valori Preferenza e Gravità usando i menu a discesa disponibili per ogni riga. La gravità può essere impostata su Solo refactoring, Suggerimento, Avviso o Errore. Se si vogliono abilitare le Azioni rapide per uno stile di codice, assicurarsi che l'opzione Gravità sia impostata su un valore diverso da Solo refactoring. L'icona lampadina Azioni rapide , lampadina di errore o cacciavite viene visualizzata quando viene usato uno stile non preferito ed è possibile scegliere un'opzione nell'elenco Azioni rapide per riscrivere automaticamente il codice nello stile preferito.

Applicare gli stili di codice alla compilazione

A partire da Visual Studio 2019 versione 16.8, che include .NET 5.0 RC2 SDK, è possibile applicare le convenzioni di codifica .NET alla compilazione per tutti i progetti .NET. In fase di compilazione, le violazioni dello stile del codice .NET verranno visualizzate come avvisi o errori con un prefisso "IDE". In questo modo è possibile applicare rigorosamente stili di codice coerenti nella codebase.

Applicare stili di codice

Per i file di codice C#, Visual Studio ha un pulsante Pulizia codice nella parte inferiore dell'editor (tastiera: CTRL K, CTRL++E) per applicare gli stili di codice da un file EditorConfig o dalla pagina opzioni Stile codice. Se è presente un file con estensione editorconfig per il progetto, queste impostazioni hanno la precedenza.

Screenshot di Esegui pulizia del codice.

Suggerimento

Le regole configurate con livello di gravità Nessuno non partecipano alla pulizia del codice, ma possono essere applicate singolarmente tramite il menu Azioni rapide e refactoring.

Configurare innanzitutto gli stili di codice da applicare (in uno dei due profili) nella finestra di dialogo Configura Pulizia del codice. Per aprire questa finestra di dialogo, fare clic sulla freccia di espansione accanto all'icona a forma di scopa di Pulizia del codice e quindi scegliere Configura Pulizia del codice.

Screenshot di Configura pulizia del codice.

Dopo aver configurato Pulizia del codice, è possibile fare clic sull'icona a forma di scopa o premere CTRL+K, CTRL+E per eseguire la pulizia del codice. È anche possibile eseguire la pulizia del codice per l'intero progetto o soluzione. Fare clic con il pulsante destro del mouse sul nome del progetto o della soluzione in Esplora soluzioni, selezionare Analizza ed esegui pulizia del codice e quindi selezionare Esegui pulizia del codice.

Screenshot di Esegui pulizia del codice in tutto il progetto o la soluzione.

Per i file di codice C#, Visual Studio ha un pulsante Pulizia codice nella parte inferiore dell'editor (tastiera: CTRL K, CTRL++E) per applicare gli stili di codice da un file EditorConfig o dalla pagina opzioni Stile codice. Se è presente un file con estensione editorconfig per il progetto, queste impostazioni hanno la precedenza.

Screenshot di Esegui pulizia del codice.

Suggerimento

Le regole configurate con livello di gravità Nessuno non partecipano alla pulizia del codice, ma possono essere applicate singolarmente tramite il menu Azioni rapide e refactoring.

Configurare innanzitutto gli stili di codice da applicare (in uno dei due profili) nella finestra di dialogo Configura Pulizia del codice. Per aprire questa finestra di dialogo, fare clic sulla freccia di espansione accanto all'icona a forma di scopa di Pulizia del codice e quindi scegliere Configura Pulizia del codice.

Screenshot di Configura pulizia del codice.

Dopo aver configurato Pulizia del codice, è possibile fare clic sull'icona a forma di scopa o premere CTRL+K, CTRL+E per eseguire la pulizia del codice. È anche possibile eseguire la pulizia del codice per l'intero progetto o soluzione. Fare clic con il pulsante destro del mouse sul nome del progetto o della soluzione in Esplora soluzioni, selezionare Analizza ed esegui pulizia del codice e quindi selezionare Esegui pulizia del codice.

Screenshot di Esegui pulizia del codice in tutto il progetto o la soluzione.

Impostazioni di pulizia del codice

La maggior parte delle impostazioni di pulizia del codice è mappata a uno o più stili di codice .NET supportati in .editorconfig. Per esempi che mostrano gli effetti delle impostazioni, usare i collegamenti nella tabella seguente.

Impostazione Opzione ID regola o stile
Rimuovere importazioni o utilizzi non necessari IDE0005
Ordinare le importazioni o gli utilizzi
dotnet_sort_system_directives_first dotnet_separate_import_directive_groups
Applicare le preferenze di intestazione file file_header_template
Rimuovi variabili non usate CS0219
Applicare le preferenze di creazione degli oggetti visual_basic_style_prefer_simplified_object_creation
Applica preferenze IsNot visual_basic_style_prefer_isnot_expression
Aggiungere la qualifica 'this' o 'Me' IDE0003-IDE0009
Aggiungi i modificatori di accessibilità dotnet_style_require_accessibility_modifiers
Modificatori degli ordini IDE0036
Rendere il campo di sola lettura dotnet_style_readonly_field
Rimuovi cast non necessari IDE0004
Applicare parametri di inizializzazione dell'oggetto/raccolta) dotnet_style_object_initializer
Applicare le preferenze di posizionamento delle direttive using csharp_using_directive_placement
Applicare le preferenze tra parentesi IDE0047-IDE0048
Applicare le preferenze di valore inutilizzate IDE0058
Applica le preferenze relative al tipo di linguaggio/framework IDE0049
Rimuovere le eliminazioni inutilizzate dotnet_remove_unnecessary_suppression_exclusions
Applicare le preferenze di espressione booleana semplificate dotnet_style_prefer_simplified_boolean_expressions
Applicare le preferenze di interpolazione di stringhe dotnet_style_prefer_simplified_interpolation
Rimuovere i parametri inutilizzati dotnet_code_quality_unused_parameters
Applicare le preferenze delle proprietà auto dotnet_style_prefer_auto_properties
Applicare preferenze di assegnazione composta dotnet_style_prefer_compound_assignment
Applicare le preferenze dell'espressione coalesce dotnet_style_coalesce_expression
Applicare le preferenze dell'espressione condizionale
dotnet_style_prefer_conditional_expression_over_assignment dotnet_style_prefer_conditional_expression_over_return
Applicare le preferenze del nome della tupla
dotnet_style_explicit_tuple_names dotnet_style_prefer_inferred_tuple_names
Applicare le preferenze dei nomi dei membri di tipo anonimo dedotti dotnet_style_prefer_inferred_anonymous_type_member_names
Applicare le preferenze di controllo Null dotnet_style_prefer_is_null_check_over_reference_equality_method
Applica preferenze di propagazione Null dotnet_style_null_propagation
Applica preferenze 'var' IDE0007-IDE0008
Aggiungere parentesi graffe obbligatorie per istruzioni di controllo a riga singola csharp_prefer_braces
Applica le preferenze relative al corpo di espressioni/blocchi Membri con corpo di espressione
Applica le preferenze relative alle variabili 'out' inline csharp_style_inlined_variable_declaration
Applicare le preferenze di corrispondenza dei criteri Preferenze di corrispondenza dei criteri
Applicare le preferenze di chiamata del delegato condizionale csharp_style_conditional_delegate_call
Applicare le preferenze delle funzioni locali statiche csharp_prefer_static_local_function
Applicare le preferenze di decostruzione csharp_style_deconstructed_variable_declaration
Applica preferenze predefinite (T) csharp_prefer_simple_default_expression
Applica preferenze new() csharp_style_implicit_object_creation_when_type_is_apparent
Applicare le preferenze di intervallo csharp_style_prefer_range_operator
Applicare localmente su preferenze di funzione anonime csharp_style_pattern_local_over_anonymous_function
Applicare le preferenze null del parametro Preferenze di controllo dei valori Null
Applicare le preferenze delle istruzioni using csharp_prefer_simple_using_statement
Applicare le preferenze dell'espressione throw csharp_style_throw_expression

Se si desidera che le impostazioni di stile del codice vengano applicate ogni volta che si salva un file, passare a Opzioni>Pulizia codice editor>di testo e selezionare Esegui profilo pulizia codice al salvataggio.

Se si vogliono applicare le impostazioni per gli stili di codice ogni volta che si salva un file, è disponibile l'estensione Code Cleanup on Save.