Konvensi pemformatan C++ EditorConfig
Anda dapat menambahkan file EditorConfig ke proyek Anda untuk mengonfigurasi pemformatan C++ untuk menerapkan gaya kode yang konsisten untuk semua orang yang berkontribusi pada proyek. Visual Studio dan Visual Studio Code memiliki dukungan EditorConfig bawaan untuk setiap pengaturan pemformatan Visual Studio C++ global. Pengaturan EditorConfig disimpan dalam file .editorconfig
. Saat file tersebut ada di proyek Anda, file tersebut lebih diutamakan daripada pengaturan pemformatan Visual Studio.
Dokumen ini mencantumkan semua pengaturan pemformatan EditorConfig C++ yang didukung oleh Visual Studio dan Visual Studio Code.
Untuk informasi tentang:
- Menggunakan file EditorConfig di Visual Studio, lihat Menentukan gaya pengodean yang konsisten dengan EditorConfig.
- Buat file EditorConfig secara manual berdasarkan pengaturan pemformatan clang, lihat clangformat. Ganti nama file
.editorconfig
tersebut dan simpan di proyek Anda.
Konvensi pemformatan C++
Pengaturan EditorConfig pemformatan C++ diawali dengan cpp_
. Berikut adalah contoh .editorconfig
tampilan 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
Sisa dokumen ini mencantumkan semua pengaturan pemformatan EditorConfig C++ yang didukung oleh Visual Studio dan Visual Studio Code.
Pengaturan indentasi
Kurung kurawal inden
- Nama:
cpp_indent_braces
- Nilai:
true
,false
Inden setiap baris relatif terhadap
- Nama:
cpp_indent_multi_line_relative_to
- Nilai:
outermost_parenthesis
- Ketika baris baru dititik, garis tersebut diindentasi relatif ke tanda kurung terbuka terluar.innermost_parenthesis
- Ketika baris baru di ketikkan, garis tersebut diindentasi relatif terhadap tanda kurung terbuka terdarah.statement_begin
- Ketika baris baru ditik, baris tersebut diindentasi relatif ke awal pernyataan saat ini.
Dalam tanda kurung, ratakan baris baru saat saya mengetiknya
- Nama:
cpp_indent_within_parentheses
- Nilai:
align_to_parenthesis
- Sejajarkan konten dengan membuka tanda kurung.indent
- Inden baris baru.
Dalam kode yang ada, jangan gunakan pengaturan untuk perataan baris baru dalam tanda kurung
- Nama:
cpp_indent_preserve_within_parentheses
- Nilai:
true
,false
Isi kasus inden
- Nama:
cpp_indent_case_contents
- Nilai:
true
,false
Label kasus inden
- Nama:
cpp_indent_case_labels
- Nilai:
true
,false
Kurung kurawal inden mengikuti pernyataan kasus
- Nama:
cpp_indent_case_contents_when_block
- Nilai:
true
,false
Kurung kurawal inden lambda yang digunakan sebagai parameter
- Nama:
cpp_indent_lambda_braces_when_parameter
- Nilai:
true
,false
Posisi label goto
- Nama:
cpp_indent_goto_labels
- Nilai:
one_left
- Satu inden ke kirileftmost_column
- Pindah ke kolom paling kirinone
- Biarkan inden
Posisi arahan prapemrosan
- Nama:
cpp_indent_preprocessor
- Nilai:
one_left
- Satu inden ke kirileftmost_column
- Pindah ke kolom paling kirinone
- Biarkan inden
Penentu akses inden
- Nama:
cpp_indent_access_specifiers
- Nilai:
true
,false
Isi namespace inden
- Nama:
cpp_indent_namespace_contents
- Nilai:
true
,false
Mempertahankan indentasi komentar
- Nama:
cpp_indent_preserve_comments
- Nilai:
true
,false
Pengaturan baris baru
Posisi kurung kurawal terbuka untuk namespace
- Nama:
cpp_new_line_before_open_brace_namespace
- Nilai:
new_line
- Pindah ke baris barusame_line
- Tetap pada baris yang sama, tetapi tambahkan spasi sebelumnyaignore
- Jangan reposisi secara otomatis
Posisi kurung kurawal terbuka untuk jenis
- Nama:
cpp_new_line_before_open_brace_type
- Nilai:
new_line
- Pindah ke baris barusame_line
- Tetap pada baris yang sama, tetapi tambahkan spasi sebelumnyaignore
- Jangan reposisi secara otomatis
Posisi kurung kurawal terbuka untuk fungsi
- Nama:
cpp_new_line_before_open_brace_function
- Nilai:
new_line
- Pindah ke baris barusame_line
- Tetap pada baris yang sama, tetapi tambahkan spasi sebelumnyaignore
- Jangan reposisi secara otomatis
Posisi kurung kurawal terbuka untuk blok kontrol
- Nama:
cpp_new_line_before_open_brace_block
- Nilai:
new_line
- Pindah ke baris barusame_line
- Tetap pada baris yang sama, tetapi tambahkan spasi sebelumnyaignore
- Jangan reposisi secara otomatis
Posisi kurung kurawal terbuka untuk lambda
- Nama:
cpp_new_line_before_open_brace_lambda
- Nilai:
new_line
- Pindah ke baris barusame_line
- Tetap pada baris yang sama, tetapi tambahkan spasi sebelumnyaignore
- Jangan reposisi secara otomatis
Tempatkan kurung kurawal cakupan pada baris terpisah
- Nama:
cpp_new_line_scope_braces_on_separate_lines
- Nilai:
true
,false
Untuk jenis kosong, pindahkan kurung kurawal penutup ke baris yang sama dengan kurung kurawal pembuka
- Nama:
cpp_new_line_close_brace_same_line_empty_type
- Nilai:
true
,false
Untuk badan fungsi kosong, pindahkan kurung kurawal penutup ke baris yang sama dengan kurung kurawal pembuka
- Nama:
cpp_new_line_close_brace_same_line_empty_function
- Nilai:
true
,false
Tempatkan 'tangkapan' dan kata kunci serupa pada baris baru
- Nama:
cpp_new_line_before_catch
- Nilai:
true
,false
Tempatkan 'else' pada baris baru
- Nama:
cpp_new_line_before_else
- Nilai:
true
,false
Tempatkan 'sementara' dalam perulangan do-while pada baris baru
- Nama:
cpp_new_line_before_while_in_do_while
- Nilai:
true
,false
Pengaturan penspasian
Penspasian antara nama fungsi dan membuka tanda kurung daftar argumen
- Nama:
cpp_space_before_function_open_parenthesis
- Nilai:
insert
- Sisipkan spasiremove
- Hapus spasiignore
- Jangan ubah spasi
Sisipkan spasi dalam tanda kurung daftar argumen
- Nilai Nama
cpp_space_within_parameter_list_parentheses
:true
,false
Sisipkan spasi antar tanda kurung saat daftar argumen kosong
- Nama:
cpp_space_between_empty_parameter_list_parentheses
- Nilai:
true
,false
Menyisipkan spasi antara kata kunci dan membuka tanda kurung dalam pernyataan alur kontrol
- Nama:
cpp_space_after_keywords_in_control_flow_statements
- Nilai:
true
,false
Menyisipkan ruang dalam tanda kurung pernyataan kontrol
- Nama:
cpp_space_within_control_flow_statement_parentheses
- Nilai:
true
,false
Sisipkan spasi sebelum membuka tanda kurung daftar argumen lambda
- Nama:
cpp_space_before_lambda_open_parenthesis
- Nilai:
true
,false
Menyisipkan ruang dalam tanda kurung dari cast gaya C
- Nama:
cpp_space_within_cast_parentheses
- Nilai:
true
,false
Sisipkan spasi setelah menutup tanda kurung dari cast gaya C
- Nama:
cpp_space_after_cast_close_parenthesis
- Nilai:
true
,false
Sisipkan ruang dalam tanda kurung ekspresi yang dikurung
- Nama:
cpp_space_within_expression_parentheses
- Nilai:
true
,false
Sisipkan spasi sebelum membuka kurung kurawal blok
- Nama:
cpp_space_before_block_open_brace
- Nilai:
true
,false
Sisipkan spasi di antara kurung kurawal kosong
- Nama:
cpp_space_between_empty_braces
- Nilai:
true
,false
Sisipkan spasi sebelum membuka kurung kurawal dari inisialisasi seragam dan daftar inisialisasi
- Nama:
cpp_space_before_initializer_list_open_brace
- Nilai:
true
,false
Sisipkan spasi dalam kurung kurawal dari inisialisasi seragam dan daftar inisialisasi
- Nama:
cpp_space_within_initializer_list_braces
- Nilai:
true
,false
Mempertahankan spasi di dalam inisialisasi seragam dan daftar penginisialisasi
- Nama:
cpp_space_preserve_in_initializer_list
- Nilai:
true
,false
Sisipkan spasi sebelum membuka tanda kurung siku
- Nama:
cpp_space_before_open_square_bracket
- Nilai:
true
,false
Sisipkan ruang dalam tanda kurung siku
- Nama:
cpp_space_within_square_brackets
- Nilai:
true
,false
Sisipkan spasi sebelum tanda kurung siku kosong
- Nama:
cpp_space_before_empty_square_brackets
- Nilai:
true
,false
Sisipkan spasi di antara tanda kurung siku kosong
- Nama:
cpp_space_between_empty_square_brackets
- Nilai:
true
,false
Kurung siku grup untuk array multi-dimensi bersama-sama
- Nama:
cpp_space_group_square_brackets
- Nilai:
true
,false
Sisipkan ruang dalam tanda kurung siku untuk lambda
- Nama:
cpp_space_within_lambda_brackets
- Nilai:
true
,false
SpaceBetweenEmptyLambdaBrackets
- Nama:
cpp_space_between_empty_lambda_brackets
- Nilai:
true
,false
Sisipkan spasi sebelum koma
- Nama:
cpp_space_before_comma
- Nilai:
true
,false
Sisipkan spasi setelah koma
- Nama:
cpp_space_after_comma
- Nilai:
true
,false
Menghapus spasi sebelum dan sesudah operator anggota
- Nama:
cpp_space_remove_around_member_operators
- Nilai:
true
,false
Sisipkan spasi sebelum titik dua untuk dasar dalam deklarasi tipe
- Nama:
cpp_space_before_inheritance_colon
- Nilai:
true
,false
Sisipkan spasi sebelum titik dua untuk konstruktor
- Nama:
cpp_space_before_constructor_colon
- Nilai:
true
,false
Hapus spasi sebelum titik koma
- Nama:
cpp_space_remove_before_semicolon
- Nilai:
true
,false
Sisipkan spasi setelah titik koma
- Nama:
cpp_space_after_semicolon
- Nilai:
true
,false
Menghapus spasi antara operator unary dan operand-nya
- Nama:
cpp_space_remove_around_unary_operator
- Nilai:
true
,false
Penspasian untuk operator biner
- Nama:
cpp_space_around_binary_operator
- Nilai:
insert
- Masukkan spasi sebelum dan sesudah operator biner.remove
- Hapus spasi di sekitar operator biner.ignore
- Jangan mengubah ruang di sekitar operator biner.
Penspasian untuk operator penugasan
- Nama:
cpp_space_around_assignment_operator
- Nilai:
insert
- Sisipkan spasi di sekitar operator penugasan.remove
- Hapus spasi di sekitar operator penugasan.ignore
- Jangan mengubah ruang di sekitar operator penugasan.
Perataan penunjuk/referensi
- Nama:
cpp_space_pointer_reference_alignment
- Nilai:
left
- Rata kiri.center
- Sejajarkan tengah.right
- Sejajarkan ke kanan.ignore
- Biarkan tidak berubah.
Penspasian untuk operator bersyariah
- Nama:
cpp_space_around_ternary_operator
- Nilai:
insert
- Masukkan spasi di sekitar operator bersyarkat.remove
- Hapus spasi di sekitar operator bersyarkat.ignore
- Jangan mengubah ruang di sekitar operator bersyarkat.
Opsi pemberian batas
Opsi pembungkusan untuk blok
- Nama:
cpp_wrap_preserve_blocks
- Nilai:
one_liners
- Jangan membungkus blok kode satu baris.all_one_line_scopes
- Jangan membungkus blok kode di mana kurung kurawal buka dan tutup berada di baris berikutnya.never
- Selalu terapkan pengaturan Baris Baru untuk blok.