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] >>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.
È 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] >>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.
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 > di testo [C# o Base]> Stile codice>Generale.
Quando viene selezionata, ogni voce dell'elenco visualizza un'anteprima della preferenza:
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.
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.
Per applicare gli stili di codice:
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.
Dopo aver configurato la pulizia del codice, usare uno dei metodi seguenti per eseguire la pulizia del codice:
Fare clic sull'icona della scopa o premere CTRL+K, +E per eseguire la pulizia del codice.
Per eseguire la pulizia del codice nell'intero progetto o nella soluzione, fare clic con il pulsante destro del mouse sul nome del progetto o della soluzione in Esplora soluzioni, selezionare Analizza e pulizia del codice e quindi esegui pulizia del codice.
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.
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.
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.
Per applicare gli stili di codice:
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.
Dopo aver configurato la pulizia del codice, usare uno dei metodi seguenti per eseguire la pulizia del codice:
Fare clic sull'icona della scopa o premere CTRL+K, +E.
Per eseguire la pulizia del codice nell'intero progetto o nella soluzione, fare clic con il pulsante destro del mouse sul nome del progetto o della soluzione in Esplora soluzioni, selezionare Analizza e pulizia del codice e quindi esegui pulizia del codice.
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.
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 |
::: moniker-end