Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile aggiungere file EditorConfig al progetto per configurare la formattazione C++ per applicare uno stile di codice coerente per tutti gli utenti che contribuiscono al progetto. Sia Visual Studio che Visual Studio Code supportano EditorConfig predefiniti per ognuna delle impostazioni di formattazione di Visual Studio C++globali. Le impostazioni di EditorConfig vengono archiviate in un .editorconfig file. Quando il file è presente nel progetto, ha la precedenza sulle impostazioni di formattazione Visual Studio.
Questo documento elenca tutte le impostazioni di formattazione di EditorConfig C++ supportate da Visual Studio e Visual Studio Code.
C++ include impostazioni aggiuntive .editorconfig che non sono impostazioni di formattazione. Queste impostazioni sono documentate con le funzionalità configurate:
-
Includi impostazioni pulizia (
cpp_include_cleanup_*ecpp_sort_includes_*) sono documentate in Configurare la pulizia di inclusione C/C++ in Visual Studio. -
Le impostazioni di IntelliSense per
#includeil completamento (cpp_includes_use_forward_slashecpp_includes_style) sono documentate in Configurare linguaggi > C/C++ > Opzioni IntelliSense.
Per altre informazioni su:
- Usando un file EditorConfig in Visual Studio, vedere Definire stili di codifica coerenti con EditorConfig.
- Creare manualmente un file EditorConfig in base alle impostazioni di formattazione clang, vedere clangformat. Rinominare il file
.editorconfige salvarlo nel progetto.
Convenzioni di formattazione C++
Le impostazioni editorconfig di formattazione C++ hanno il prefisso cpp_. Di seguito è riportato un esempio dell'aspetto di un .editorconfig file:
[*.{c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,inl,ipp,tlh,tli}]
cpp_indent_case_contents_when_block = true
cpp_new_line_before_open_brace_namespace = same_line
Il resto di questo articolo elenca tutte le impostazioni di formattazione di EditorConfig C++ supportate da Visual Studio e VS Code.
Impostazioni di rientro
Parentesi graffe di rientro
- Nome:
cpp_indent_braces - Valori:
true,false
Rientrare ogni riga relativamente a
- Nome:
cpp_indent_multi_line_relative_to - Valori:
-
outermost_parenthesis- Quando viene digitata una nuova riga, viene rientrato relativamente alla parentesi aperta più esterna. -
innermost_parenthesis- Quando viene digitata una nuova riga, viene rientrato relativamente alla parentesi aperta più interna. -
statement_begin- Quando viene digitata una nuova riga, viene rientrato relativamente all'inizio dell'istruzione corrente.
-
Tra parentesi allineare le nuove righe quando le si digita
- Nome:
cpp_indent_within_parentheses - Valori:
-
align_to_parenthesis- Allinea il contenuto alla parentesi aperta. -
indent- Rientro di nuove righe.
-
Nel codice esistente non usare l'impostazione per l'allineamento di nuove righe tra parentesi
- Nome:
cpp_indent_preserve_within_parentheses - Valori:
true,false
Rientro del contenuto del case
- Nome:
cpp_indent_case_contents - Valori:
true,false
Rientro delle etichette maiuscole/minuscole
- Nome:
cpp_indent_case_labels - Valori:
true,false
Rientro parentesi graffe dopo un'istruzione case
- Nome:
cpp_indent_case_contents_when_block - Valori:
true,false
Rientro parentesi graffe delle espressioni lambda usate come parametri
- Nome:
cpp_indent_lambda_braces_when_parameter - Valori:
true,false
Posizione delle etichette goto
- Nome:
cpp_indent_goto_labels - Valori:
-
one_left- Un rientro a sinistra -
leftmost_column- Passare alla colonna all'estrema sinistra -
none- Lasciare rientrato
-
Posizione delle direttive del preprocessore
- Nome:
cpp_indent_preprocessor - Valori:
-
one_left- Un rientro a sinistra -
leftmost_column- Passare alla colonna all'estrema sinistra -
none- Lasciare rientrato
-
Identificatori di accesso con rientro
- Nome:
cpp_indent_access_specifiers - Valori:
true,false
Contenuto dello spazio dei nomi rientro
- Nome:
cpp_indent_namespace_contents - Valori:
true,false
Mantenere il rientro dei commenti
- Nome:
cpp_indent_preserve_comments - Valori:
true,false
Impostazioni di nuova riga
Posizione delle parentesi graffe aperte per gli spazi dei nomi
- Nome:
cpp_new_line_before_open_brace_namespace - Valori:
-
new_line- Passare a una nuova riga -
same_line- Mantenere la stessa riga, ma aggiungere uno spazio prima -
ignore- Non riposizionare automaticamente
-
Posizione delle parentesi graffe aperte per i tipi
- Nome:
cpp_new_line_before_open_brace_type - Valori:
-
new_line- Passare a una nuova riga -
same_line- Mantenere la stessa riga, ma aggiungere uno spazio prima -
ignore- Non riposizionare automaticamente
-
Posizione delle parentesi graffe aperte per le funzioni
- Nome:
cpp_new_line_before_open_brace_function - Valori:
-
new_line- Passare a una nuova riga -
same_line- Mantenere la stessa riga, ma aggiungere uno spazio prima -
ignore- Non riposizionare automaticamente
-
Posizione delle parentesi graffe aperte per i blocchi di controllo
- Nome:
cpp_new_line_before_open_brace_block - Valori:
-
new_line- Passare a una nuova riga -
same_line- Mantenere la stessa riga, ma aggiungere uno spazio prima -
ignore- Non riposizionare automaticamente
-
Posizione delle parentesi graffe aperte per le espressioni lambda
- Nome:
cpp_new_line_before_open_brace_lambda - Valori:
-
new_line- Passare a una nuova riga -
same_line- Mantenere la stessa riga, ma aggiungere uno spazio prima -
ignore- Non riposizionare automaticamente
-
Posizionare parentesi graffe dell'ambito su linee separate
- Nome:
cpp_new_line_scope_braces_on_separate_lines - Valori:
true,false
Per i tipi vuoti, spostare le parentesi graffe di chiusura nella stessa riga delle parentesi graffe di apertura
- Nome:
cpp_new_line_close_brace_same_line_empty_type - Valori:
true,false
Per i corpi di funzione vuoti, spostare le parentesi graffe di chiusura nella stessa riga delle parentesi graffe di apertura
- Nome:
cpp_new_line_close_brace_same_line_empty_function - Valori:
true,false
Inserire parole chiave 'catch' e simili su una nuova riga
- Nome:
cpp_new_line_before_catch - Valori:
true,false
Posizionare 'else' su una nuova riga
- Nome:
cpp_new_line_before_else - Valori:
true,false
Posizionare 'while' in un ciclo do-while su una nuova riga
- Nome:
cpp_new_line_before_while_in_do_while - Valori:
true,false
Impostazioni di spaziatura
Spaziatura tra nomi di funzione e parentesi di apertura degli elenchi di argomenti
- Nome:
cpp_space_before_function_open_parenthesis - Valori:
-
insert- Inserire uno spazio -
remove- Rimuovere spazi -
ignore- Non modificare gli spazi
-
Inserisci spazio tra parentesi di un elenco di argomenti
- Valori dei nomi
cpp_space_within_parameter_list_parentheses:true,false
Inserisci spazio tra parentesi quando l'elenco di argomenti è vuoto
- Nome:
cpp_space_between_empty_parameter_list_parentheses - Valori:
true,false
Inserire spazio tra parola chiave e parentesi di apertura nelle istruzioni del flusso di controllo
- Nome:
cpp_space_after_keywords_in_control_flow_statements - Valori:
true,false
Inserire spazio tra parentesi di un'istruzione di controllo
- Nome:
cpp_space_within_control_flow_statement_parentheses - Valori:
true,false
Inserisci spazio prima di aprire parentesi di elenchi di argomenti lambda
- Nome:
cpp_space_before_lambda_open_parenthesis - Valori:
true,false
Inserisci spazio tra parentesi di un cast in stile C
- Nome:
cpp_space_within_cast_parentheses - Valori:
true,false
Inserisci spazio dopo la parentesi chiusa del cast in stile C
- Nome:
cpp_space_after_cast_close_parenthesis - Valori:
true,false
Inserire uno spazio tra parentesi di un'espressione racchiusa tra parentesi
- Nome:
cpp_space_within_expression_parentheses - Valori:
true,false
Inserisci spazio prima di aprire una parentesi graffa di blocchi
- Nome:
cpp_space_before_block_open_brace - Valori:
true,false
Inserisci spazio tra parentesi graffe vuote
- Nome:
cpp_space_between_empty_braces - Valori:
true,false
Inserisci spazio prima di aprire parentesi graffe di elenchi uniformi di inizializzazione e inizializzatore
- Nome:
cpp_space_before_initializer_list_open_brace - Valori:
true,false
Inserire spazio tra parentesi graffe di elenchi uniformi di inizializzazione e inizializzatore
- Nome:
cpp_space_within_initializer_list_braces - Valori:
true,false
Mantenere gli spazi all'interno di elenchi di inizializzazione e inizializzatore uniformi
- Nome:
cpp_space_preserve_in_initializer_list - Valori:
true,false
Inserisci spazio prima di aprire parentesi quadre
- Nome:
cpp_space_before_open_square_bracket - Valori:
true,false
Inserisci spazio tra parentesi quadre
- Nome:
cpp_space_within_square_brackets - Valori:
true,false
Inserisci spazio prima delle parentesi quadre vuote
- Nome:
cpp_space_before_empty_square_brackets - Valori:
true,false
Inserisci spazio tra parentesi quadre vuote
- Nome:
cpp_space_between_empty_square_brackets - Valori:
true,false
Raggruppare le parentesi quadre per le matrici multidimensionali
- Nome:
cpp_space_group_square_brackets - Valori:
true,false
Inserire spazio tra parentesi quadre per espressioni lambda
- Nome:
cpp_space_within_lambda_brackets - Valori:
true,false
SpaceBetweenEmptyLambdaBrackets
- Nome:
cpp_space_between_empty_lambda_brackets - Valori:
true,false
Inserisci spazio prima delle virgole
- Nome:
cpp_space_before_comma - Valori:
true,false
Inserisci spazio dopo le virgole
- Nome:
cpp_space_after_comma - Valori:
true,false
Rimuovere gli spazi prima e dopo gli operatori membro
- Nome:
cpp_space_remove_around_member_operators - Valori:
true,false
Inserisci spazio prima dei due punti per la base nelle dichiarazioni di tipo
- Nome:
cpp_space_before_inheritance_colon - Valori:
true,false
Inserisci spazio prima dei due punti per i costruttori
- Nome:
cpp_space_before_constructor_colon - Valori:
true,false
Rimuovere lo spazio prima dei punti e virgola
- Nome:
cpp_space_remove_before_semicolon - Valori:
true,false
Inserisci spazio dopo punti e virgola
- Nome:
cpp_space_after_semicolon - Valori:
true,false
Rimuovere gli spazi tra gli operatori unari e i relativi operandi
- Nome:
cpp_space_remove_around_unary_operator - Valori:
true,false
Spaziatura per gli operatori binari
- Nome:
cpp_space_around_binary_operator - Valori:
-
insert: consente di inserire spazi prima e dopo gli operatori binari. -
remove- Rimuovere spazi intorno agli operatori binari. -
ignore- Non modificare gli spazi intorno agli operatori binari.
-
Spaziatura per gli operatori di assegnazione
- Nome:
cpp_space_around_assignment_operator - Valori:
-
insert- Inserire spazi intorno agli operatori di assegnazione. -
remove- Rimuovere gli spazi intorno agli operatori di assegnazione. -
ignore- Non modificare gli spazi intorno agli operatori di assegnazione.
-
Allineamento puntatore/riferimento
- Nome:
cpp_space_pointer_reference_alignment - Valori:
-
left- Allinea a sinistra. -
center- Allinea al centro. -
right- Allinea a destra. -
ignore- Lasciare invariato.
-
Spaziatura per gli operatori condizionali
- Nome:
cpp_space_around_ternary_operator - Valori:
-
insert- Inserire spazi intorno agli operatori condizionali. -
remove- Rimuovere gli spazi intorno agli operatori condizionali. -
ignore- Non modificare gli spazi per gli operatori condizionali.
-
Opzioni di wrapping
Opzioni di wrapping per i blocchi
- Nome:
cpp_wrap_preserve_blocks - Valori:
-
one_liners- Non eseguire il wrapping di blocchi di codice a una riga. -
all_one_line_scopes- Non eseguire il wrapping dei blocchi di codice in cui le parentesi graffe di apertura e chiusura si trovano nella riga successiva. -
never- Applica sempre le impostazioni nuove righe per i blocchi.
-