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 girinti
    • leftmost_column - En soldaki sütuna gitme
    • none - Girintili bırakın

Ön işlemci yönergelerinin konumu

  • Ad: cpp_indent_preprocessor
  • Değer:
    • one_left - Sola doğru bir girinti
    • leftmost_column - En soldaki sütuna gitme
    • none - 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 gitme
    • same_line - Aynı satırda tutun, ancak daha önce boşluk ekleyin
    • ignore - 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 gitme
    • same_line - Aynı satırda tutun, ancak daha önce boşluk ekleyin
    • ignore - 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 gitme
    • same_line - Aynı satırda tutun, ancak daha önce boşluk ekleyin
    • ignore - 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 gitme
    • same_line - Aynı satırda tutun, ancak daha önce boşluk ekleyin
    • ignore - 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 gitme
    • same_line - Aynı satırda tutun, ancak daha önce boşluk ekleyin
    • ignore - 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 ekleme
    • remove - Boşlukları kaldırma
    • ignore - 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.

Ayrıca bkz.