C++ EditorConfig biçimlendirme kuralları
Projeye katkıda bulunan herkes için tutarlı bir kod stili uygulamak üzere C++ biçimlendirmesini yapılandırmak üzere projenize EditorConfig dosyaları ekleyebilirsiniz. Hem Visual Studio hem de Visual Studio Code, genel Visual Studio C++ biçimlendirme ayarlarının her biri için yerleşik EditorConfig desteğine sahiptir. EditorConfig ayarları bir .editorconfig
dosyada depolanır. Bu dosya projenizde mevcut olduğunda, Visual Studio biçimlendirme ayarlarından önceliklidir.
Bu belgede, Visual Studio ve Visual Studio Code tarafından desteklenen tüm EditorConfig C++ biçimlendirme ayarları listelenmektedir.
Aşağıdakiler hakkında daha fazla bilgi için:
- Visual Studio'da EditorConfig dosyası kullanarak bkz . EditorConfig ile tutarlı kodlama stilleri tanımlama.
- Clang biçimlendirme ayarlarına göre el ile bir EditorConfig dosyası oluşturun, bkz . clangformat. Dosyayı
.editorconfig
yeniden adlandırın ve projenize kaydedin.
C++ biçimlendirme kuralları
C++ biçimlendirme EditorConfig ayarları ön ek olarak cpp_
eklenir. Aşağıda bir dosyanın nasıl görünebileceğine bir .editorconfig
örnek verilmişti:
[*.{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
Bu belgenin geri kalanında Visual Studio ve VS Code tarafından desteklenen tüm EditorConfig C++ biçimlendirme ayarları listelenir.
Girinti ayarları
Küme ayraçlarını girintileme
- Ad:
cpp_indent_braces
- Değerler:
true
,false
Her satırın girintisini göreli olarak
- Ad:
cpp_indent_multi_line_relative_to
- Değer:
outermost_parenthesis
- Yeni bir satır yazıldığında, en dıştaki açık paranteze göre girintili olur.innermost_parenthesis
- Yeni bir satır yazıldığında, en içteki açık paranteze göre girintili olur.statement_begin
- Yeni bir satır yazıldığında, geçerli deyimin başlangıcına göre girintili olur.
Parantez içinde, yeni satırları yazarken hizala
- Ad:
cpp_indent_within_parentheses
- Değer:
align_to_parenthesis
- İçeriği parantezi açmak için hizalayın.indent
- Yeni satırları girintile.
Var olan kodda, yeni satırların parantez içinde hizalanma ayarını kullanmayın
- Ad:
cpp_indent_preserve_within_parentheses
- Değerler:
true
,false
Büyük/küçük harf içeriğini girintile
- Ad:
cpp_indent_case_contents
- Değerler:
true
,false
Büyük/küçük harf etiketlerini girintile
- Ad:
cpp_indent_case_labels
- Değerler:
true
,false
Servis talebi deyimini izleyen küme ayraçlarını girintileme
- Ad:
cpp_indent_case_contents_when_block
- Değerler:
true
,false
Parametre olarak kullanılan lambda küme ayraçlarını girintileme
- Ad:
cpp_indent_lambda_braces_when_parameter
- Değerler:
true
,false
Goto etiketlerinin konumu
- Ad:
cpp_indent_goto_labels
- Değer:
one_left
- Sola doğru bir girintileftmost_column
- En soldaki sütuna gitmenone
- Girintili bırakın
Ön işlemci yönergelerinin konumu
- Ad:
cpp_indent_preprocessor
- Değer:
one_left
- Sola doğru bir girintileftmost_column
- En soldaki sütuna gitmenone
- Girintili bırakın
Erişim tanımlayıcılarını girintile
- Ad:
cpp_indent_access_specifiers
- Değerler:
true
,false
Ad alanı içeriğini girintileme
- Ad:
cpp_indent_namespace_contents
- Değerler:
true
,false
Açıklamaların girintisini koruma
- Ad:
cpp_indent_preserve_comments
- Değerler:
true
,false
Yeni satır ayarları
Ad alanları için açık küme ayraçlarının konumu
- Ad:
cpp_new_line_before_open_brace_namespace
- Değer:
new_line
- Yeni bir satıra gitmesame_line
- Aynı satırda tutun, ancak daha önce boşluk ekleyinignore
- Otomatik olarak yeniden konumlandırma
Türler için açık ayraçların konumu
- Ad:
cpp_new_line_before_open_brace_type
- Değer:
new_line
- Yeni bir satıra gitmesame_line
- Aynı satırda tutun, ancak daha önce boşluk ekleyinignore
- Otomatik olarak yeniden konumlandırma
İşlevler için açık ayraçların konumu
- Ad:
cpp_new_line_before_open_brace_function
- Değer:
new_line
- Yeni bir satıra gitmesame_line
- Aynı satırda tutun, ancak daha önce boşluk ekleyinignore
- Otomatik olarak yeniden konumlandırma
Denetim blokları için açık küme ayraçlarının konumu
- Ad:
cpp_new_line_before_open_brace_block
- Değer:
new_line
- Yeni bir satıra gitmesame_line
- Aynı satırda tutun, ancak daha önce boşluk ekleyinignore
- Otomatik olarak yeniden konumlandırma
Lambdalar için açık ayraçların konumu
- Ad:
cpp_new_line_before_open_brace_lambda
- Değer:
new_line
- Yeni bir satıra gitmesame_line
- Aynı satırda tutun, ancak daha önce boşluk ekleyinignore
- Otomatik olarak yeniden konumlandırma
Kapsam ayraçlarını ayrı satırlara yerleştirme
- Ad:
cpp_new_line_scope_braces_on_separate_lines
- Değerler:
true
,false
Boş türler için, kapanış küme ayraçlarını açma ayraçlarıyla aynı satıra taşıyın
- Ad:
cpp_new_line_close_brace_same_line_empty_type
- Değerler:
true
,false
Boş işlev gövdeleri için, kapanış ayraçlarını ayraçları açma ayraçlarıyla aynı satıra taşıyın
- Ad:
cpp_new_line_close_brace_same_line_empty_function
- Değerler:
true
,false
'catch' ve benzer anahtar sözcükleri yeni bir satıra yerleştirme
- Ad:
cpp_new_line_before_catch
- Değerler:
true
,false
'else' öğesini yeni bir satıra yerleştirme
- Ad:
cpp_new_line_before_else
- Değerler:
true
,false
'while' öğesini yeni bir satırdaki do-while döngüsüne yerleştirme
- Ad:
cpp_new_line_before_while_in_do_while
- Değerler:
true
,false
Aralık ayarları
İşlev adları ile bağımsız değişken listelerinin parantezlerini açma arasındaki aralık
- Ad:
cpp_space_before_function_open_parenthesis
- Değer:
insert
- Boşluk eklemeremove
- Boşlukları kaldırmaignore
- Boşlukları değiştirmeyin
Bağımsız değişken listesinin parantez içine boşluk ekleme
- Ad
cpp_space_within_parameter_list_parentheses
Değerleri:true
,false
Bağımsız değişken listesi boş olduğunda parantez arasına boşluk ekleme
- Ad:
cpp_space_between_empty_parameter_list_parentheses
- Değerler:
true
,false
Denetim akışı deyimlerinde anahtar sözcük ile açma parantezi arasına boşluk ekleme
- Ad:
cpp_space_after_keywords_in_control_flow_statements
- Değerler:
true
,false
Denetim deyiminin parantez içine boşluk ekleme
- Ad:
cpp_space_within_control_flow_statement_parentheses
- Değerler:
true
,false
Lambda bağımsız değişken listelerinin parantezini açmadan önce boşluk ekleme
- Ad:
cpp_space_before_lambda_open_parenthesis
- Değerler:
true
,false
C stili atamanın parantez içine boşluk ekleme
- Ad:
cpp_space_within_cast_parentheses
- Değerler:
true
,false
C stili atamanın parantezini kapattıktan sonra boşluk ekleme
- Ad:
cpp_space_after_cast_close_parenthesis
- Değerler:
true
,false
Ayraçlı ifadenin parantez içine boşluk ekleme
- Ad:
cpp_space_within_expression_parentheses
- Değerler:
true
,false
Blok küme ayracı açmadan önce boşluk ekleme
- Ad:
cpp_space_before_block_open_brace
- Değerler:
true
,false
Boş ayraçlar arasına boşluk ekleme
- Ad:
cpp_space_between_empty_braces
- Değerler:
true
,false
Tekdüzen başlatma ve başlatıcı listelerinin küme ayracı açılmadan önce alan ekleme
- Ad:
cpp_space_before_initializer_list_open_brace
- Değerler:
true
,false
Tekdüzen başlatma ve başlatıcı listelerinin küme ayraçları içine alan ekleme
- Ad:
cpp_space_within_initializer_list_braces
- Değerler:
true
,false
Tekdüzen başlatma ve başlatıcı listelerinin içindeki alanları koruma
- Ad:
cpp_space_preserve_in_initializer_list
- Değerler:
true
,false
Köşeli ayraçları açmadan önce boşluk ekleme
- Ad:
cpp_space_before_open_square_bracket
- Değerler:
true
,false
Köşeli ayraç içine boşluk ekleme
- Ad:
cpp_space_within_square_brackets
- Değerler:
true
,false
Boş köşeli ayraçlardan önce boşluk ekleme
- Ad:
cpp_space_before_empty_square_brackets
- Değerler:
true
,false
Boş köşeli ayraçların arasına boşluk ekleme
- Ad:
cpp_space_between_empty_square_brackets
- Değerler:
true
,false
Çok boyutlu diziler için köşeli ayraçları birlikte gruplandırma
- Ad:
cpp_space_group_square_brackets
- Değerler:
true
,false
Lambdalar için köşeli ayraç içine boşluk ekleme
- Ad:
cpp_space_within_lambda_brackets
- Değerler:
true
,false
SpaceBetweenEmptyLambdaBrackets
- Ad:
cpp_space_between_empty_lambda_brackets
- Değerler:
true
,false
Virgülden önce boşluk ekleme
- Ad:
cpp_space_before_comma
- Değerler:
true
,false
Virgülden sonra boşluk ekleme
- Ad:
cpp_space_after_comma
- Değerler:
true
,false
Üye işleçlerinden önceki ve sonraki boşlukları kaldırma
- Ad:
cpp_space_remove_around_member_operators
- Değerler:
true
,false
Tür bildirimlerinde taban için iki nokta üst üsteden önce boşluk ekleme
- Ad:
cpp_space_before_inheritance_colon
- Değerler:
true
,false
Oluşturucular için iki nokta üst üsteden önce boşluk ekleme
- Ad:
cpp_space_before_constructor_colon
- Değerler:
true
,false
Noktalı virgülden önce boşluk kaldırma
- Ad:
cpp_space_remove_before_semicolon
- Değerler:
true
,false
Noktalı virgülden sonra boşluk ekleme
- Ad:
cpp_space_after_semicolon
- Değerler:
true
,false
Birli işleçlerle işlenenleri arasındaki boşlukları kaldırma
- Ad:
cpp_space_remove_around_unary_operator
- Değerler:
true
,false
İkili işleçler için aralık
- Ad:
cpp_space_around_binary_operator
- Değer:
insert
- İkili işleçlerden önce ve sonra boşluk ekleyin.remove
- İkili işleçlerin etrafındaki boşlukları kaldırın.ignore
- İkili işleçlerin etrafındaki alanları değiştirmeyin.
Atama işleçleri için aralık
- Ad:
cpp_space_around_assignment_operator
- Değer:
insert
- Atama işleçlerinin çevresine boşluklar ekleyin.remove
- Atama işleçlerinin etrafındaki boşlukları kaldırın.ignore
- Atama işleçlerinin etrafındaki alanları değiştirmeyin.
İşaretçi/başvuru hizalaması
- Ad:
cpp_space_pointer_reference_alignment
- Değer:
left
- Sola hizalayın.center
- Ortaya hizala.right
- Sağa hizalayın.ignore
- Değişmeden bırakın.
Koşullu işleçler için aralık
- Ad:
cpp_space_around_ternary_operator
- Değer:
insert
- Koşullu işleçlerin çevresine boşluklar ekleyin.remove
- Koşullu işleçlerin etrafındaki boşlukları kaldırın.ignore
- Koşullu işleçlerin etrafındaki alanları değiştirmeyin.
Kaydırma seçenekleri
Bloklar için sarmalama seçenekleri
- Ad:
cpp_wrap_preserve_blocks
- Değer:
one_liners
- Tek satırlık kod bloklarını sarmalama.all_one_line_scopes
- Açma ve kapatma küme ayraçlarının bir sonraki satırda olduğu kod bloklarını sarmalamayın.never
- Bloklar için her zaman Yeni Satırlar ayarlarını uygulayın.