Menentukan gaya pengkodean yang konsisten dengan EditorConfig

Untuk menerapkan gaya pengodean yang konsisten untuk semua orang yang bekerja dalam basis kode, Anda dapat menambahkan file EditorConfig ke solusi atau proyek Anda. Pengaturan file EditConfig mematuhi spesifikasi format file yang dikelola oleh EditorConfig.org. Banyak editor kode dan aplikasi mendukung file EditorConfig, termasuk Visual Studio. Ini adalah komponen portabel yang melakukan perjalanan dengan kode Anda, dan dapat menerapkan gaya pengodean bahkan di luar Visual Studio.

Di Visual Studio, pengaturan file EditorConfig lebih diutamakan daripada pengaturan editor teks global (diakses dengan memilih Editor Teks di kotak dialog Opsi Alat>). Ini berarti Anda dapat menyesuaikan setiap basis kode untuk menggunakan pengaturan editor teks yang khusus untuk proyek tersebut. Saat menggunakan file EditorConfig, Anda masih dapat terus mengatur preferensi editor pribadi Anda sendiri di editor teks Visual Studio. Pengaturan editor teks ini berlaku setiap kali Anda bekerja di basis kode tanpa file EditorConfig, atau ketika file EditorConfig tidak mengambil alih pengaturan tertentu. Contoh preferensi tersebut adalah apakah akan menggunakan tab atau spasi untuk gaya inden kode.

Saat Anda menambahkan file EditorConfig ke proyek Anda di Visual Studio, hanya baris kode baru yang diformat berdasarkan pengaturan EditorConfig. Pemformatan kode yang ada tidak diubah kecuali Anda menjalankan salah satu perintah berikut:

  • Pembersihan Kode.

    Pilih Pembersihan Kode di editor Visual Studio, atau tekan Ctrl+K, Ctrl+E. Perintah ini berlaku untuk pengaturan spasi putih, seperti gaya inden, dan pengaturan gaya kode yang dipilih, seperti preferensi tanda kurung.

  • Format Dokumen.

    Pilih Edit>Dokumen Format Tingkat Lanjut>, atau tekan Ctrl+K, Ctrl+D di profil default. Perintah ini hanya berlaku untuk pengaturan spasi putih, seperti gaya inden.

Catatan

Artikel ini berlaku untuk Visual Studio untuk Windows. Untuk Visual Studio untuk Mac, lihat Membuat dan mengedit file EditorConfig kustom di Visual Studio untuk Mac.

Konsistensi kode

Pengaturan file EditorConfig memungkinkan Anda mempertahankan gaya dan konvensi pengkodean yang konsisten dalam basis kode, terlepas dari editor atau IDE yang Anda gunakan. Beberapa gaya pengodean yang dapat Anda kontrol adalah gaya inden, lebar tab, karakter akhir baris, dan pengodean. Misalnya, jika basis kode C# Anda memiliki konvensi bahwa inden menggunakan lima karakter spasi, dokumen menggunakan pengodean UTF-8, dan baris berakhir dengan CR/LF, Anda dapat mengonfigurasi file EditorConfig untuk menggunakan konvensi ini.

File EditorConfig berguna saat konvensi pengkodian yang Anda gunakan pada proyek pribadi Anda berbeda dari konvensi yang digunakan pada proyek tim Anda. Misalnya, Anda mungkin lebih suka inden menambahkan karakter tab dalam kode Anda. Namun, tim Anda mungkin lebih suka bahwa inden menambahkan empat ruang sebagai gantinya. File EditorConfig mengatasi masalah ini dengan memungkinkan Anda memiliki konfigurasi untuk setiap skenario.

Karena file .editorconfig di basis kode berisi pengaturan EditorConfig, file tersebut melakukan perjalanan bersama dengan basis kode tersebut. Selama Anda membuka file kode di editor yang mematuhi EditorConfig, pengaturan editor teks diaktifkan.

Catatan

Konvensi yang Anda tetapkan dalam file EditorConfig tidak dapat diberlakukan dalam alur CI/CD sebagai kesalahan build atau peringatan. Penyimpangan gaya apa pun hanya muncul di editor Visual Studio dan Daftar Kesalahan.

Pengaturan yang didukung

Editor di Visual Studio mendukung kumpulan inti properti EditorConfig:

  • indent_style
  • indent_size
  • tab_width
  • end_of_line
  • Charset
  • trim_trailing_whitespace
  • insert_final_newline
  • akar

EditorConfig mendukung semua bahasa yang didukung Visual Studio kecuali untuk pengaturan editor EditorConfig dukungan XML.

EditorConfig mendukung konvensi gaya kode termasuk konvensi bahasa, pemformatan, dan penamaan untuk C# dan Visual Basic.

Menambahkan dan menghapus file EditorConfig

Saat Anda menambahkan file EditorConfig ke proyek atau basis kode, Visual Studio memformat baris kode baru yang Anda tulis sesuai dengan pengaturan file EditorConfig. Namun, Visual Studio tidak mengonversi gaya yang ada ke gaya baru hingga Anda memformat dokumen atau menjalankan Pembersihan Kode. Misalnya, jika inden dalam file Anda diformat dengan tab dan Anda menambahkan file EditorConfig yang memformat inden dengan spasi, karakter inden tidak dikonversi secara otomatis ke spasi. Saat Anda memformat dokumen (pilih Edit>Dokumen Format Tingkat Lanjut>atau tekan Ctrl+K, Ctrl+D), pengaturan spasi putih dalam file EditorConfig diterapkan ke baris kode yang ada.

Jika Anda menghapus file EditorConfig dari proyek atau basis kode, Anda harus menutup dan membuka kembali file kode terbuka apa pun untuk pengaturan editor global guna memengaruhi baris kode baru.

Menambahkan file EditorConfig ke proyek

Untuk menambahkan file EditorConfig ke proyek atau solusi Anda, ikuti langkah-langkah berikut:

  1. Buka proyek atau solusi di Visual Studio. Pilih solusi atau simpul proyek, tergantung pada apakah pengaturan EditorConfig Anda harus berlaku untuk semua proyek dalam solusi atau hanya satu. Anda juga dapat memilih folder di proyek atau solusi untuk menambahkan file .editorconfig .

  2. Dari menu, pilih Proyek>Tambahkan Item Baru, atau tekan Ctrl+Shift+A.

    Kotak dialog Tambahkan Item Baru terbuka.

  3. Dalam kotak pencarian, masukkan editorconfig.

    Dua templat item File editorconfig ditampilkan dalam hasil pencarian.

    Cuplikan layar yang memperlihatkan templat item file EditorConfig di Visual Studio.

  4. Pilih templat File konfigurasi editor (kosong) untuk menambahkan file EditorConfig yang telah diisi sebelumnya dengan opsi EditorConfig default untuk konvensi spasi kosong, gaya kode, dan penamaan. Atau, pilih templat File konfigurasi editor (.NET) untuk menambahkan file EditorConfig yang telah diisi sebelumnya dengan spasi kosong .NET default , gaya kode, dan konvensi penamaan.

    File .editorconfig baru muncul di Penjelajah Solusi, dan terbuka di editor sebagai tab baru.

    Cuplikan layar yang memperlihatkan file .editorconfig di Penjelajah Solusi dan editor.

  5. Secara opsional edit file, lalu simpan.

Cara lain untuk menambahkan file EditorConfig

Ada beberapa cara lain untuk menambahkan file EditorConfig ke proyek Anda:

Hierarki dan prioritas file

Saat Anda menambahkan file .editorconfig ke folder dalam hierarki file Anda, pengaturannya berlaku untuk semua file yang berlaku pada tingkat tersebut dan yang lebih rendah. Anda juga dapat mengambil alih pengaturan EditorConfig untuk proyek, basis kode, atau bagian dari basis kode tertentu, sehingga menggunakan konvensi yang berbeda dari bagian lain dari basis kode. Melakukannya dapat berguna ketika Anda memasukkan kode dari tempat lain, dan tidak ingin mengubah konvensinya.

Ikuti panduan berikut:

  • Untuk mengambil alih beberapa atau semua pengaturan EditorConfig, tambahkan file .editorconfig di tingkat hierarki file yang Anda inginkan untuk diterapkan pengaturan yang ditimpa. Pengaturan file EditorConfig baru berlaku untuk file pada tingkat dan file yang sama di subdirektori apa pun.

    Cuplikan layar yang memperlihatkan hierarki EditorConfig.

  • Jika Anda ingin mengambil alih beberapa, tetapi tidak semua pengaturan, tentukan hanya pengaturan tersebut dalam file .editorconfig . Hanya properti yang Anda cantumkan secara eksplisit dalam file .editorconfig tingkat bawah yang ditimpa. Pengaturan lain dari file .editorconfig tingkat lebih tinggi terus berlaku.

  • Jika Anda ingin memastikan bahwa tidak ada pengaturan dari file .editorconfig tingkat yang lebih tinggi yang diterapkan ke bagian basis kode ini, tambahkan root=true properti ke file .editorconfig tingkat bawah.

    # top-most EditorConfig file for this level
    root = true
    

File EditorConfig dibaca dari atas ke bawah. Jika ada beberapa properti dengan nama yang sama, properti yang terakhir ditemukan dengan nama yang sama diutamakan.

Mengedit file EditorConfig

Visual Studio 2022 menyediakan editor visual untuk file EditorConfig.

Setelah mengedit file EditorConfig, Anda harus memuat ulang file kode agar pengaturan baru diterapkan.

Visual Studio membantu Anda mengedit file EditorConfig dengan menyediakan daftar penyelesaian IntelliSense. Contohnya:

Cuplikan layar yang memperlihatkan IntelliSense dalam file EditorConfig.

Jika Anda mengedit banyak file EditorConfig, Anda mungkin merasa ekstensi EditorConfig Language Service berguna. Beberapa fitur ekstensi ini termasuk penyorotan sintaksis, IntelliSense yang ditingkatkan, validasi, dan pemformatan kode.

Cuplikan layar yang memperlihatkan IntelliSense dengan ekstensi EditorConfig Language Service.

Contoh

Contoh berikut menunjukkan status inden cuplikan kode C# sebelum dan sesudah menambahkan file EditorConfig ke proyek:

  1. Dalam kotak dialog Opsi Alat>, atur pengaturan C#>Tab Editor>Teks untuk editor teks Visual Studio untuk menghasilkan empat karakter spasi saat Anda menekan tombol Tab.

    Cuplikan layar yang memperlihatkan pengaturan tab Editor Teks.

  2. Seperti yang diharapkan, saat Anda menekan tombol Tab pada baris berikutnya, itu menginden baris dengan menambahkan empat karakter spasi putih.

    Cuplikan layar yang memperlihatkan tombol Tab yang menambahkan spasi dalam kode.

    Cuplikan layar yang memperlihatkan tombol Tab yang menambahkan spasi dalam kode.

  3. Gunakan EditorConfig untuk mengalihkan pengaturan tab untuk menggunakan tab.

    Pilih Gunakan Tab di file EditorConfig.

    Cuplikan layar yang memperlihatkan mengonfigurasi penggunaan tab untuk Kunci tab.

    Tambahkan file baru bernama .editorconfig ke proyek, dengan konten berikut. Indikator [*.cs] berarti bahwa perubahan ini hanya berlaku untuk file kode C# dalam proyek.

    # Top-most EditorConfig file
    root = true
    
    # Tab indentation
    [*.cs]
    indent_style = tab
    
  4. Saat Anda menekan tombol Tab , karakter tab sekarang muncul alih-alih spasi.

    Cuplikan layar yang memperlihatkan tombol Tab menambahkan karakter tab dalam kode.

    Cuplikan layar yang memperlihatkan tombol Tab menambahkan karakter tab dalam kode.

Memecahkan masalah pengaturan EditorConfig

Jika file EditorConfig ada di mana saja dalam struktur direktori di atau di atas lokasi proyek Anda, Visual Studio menerapkan pengaturan editor dalam file tersebut ke editor Anda. Dalam hal ini, Anda mungkin melihat pesan berikut di bilah status:

User preferences for this file type are overridden by this project's coding conventions.

Ini berarti bahwa jika ada pengaturan editor di Editor Teks Opsi>Alat>(seperti ukuran dan gaya inden, ukuran tab, atau konvensi pengkodean) ditentukan dalam file EditorConfig pada atau di atas proyek dalam struktur direktori, konvensi dalam file EditorConfig mengambil alih pengaturan di Editor Teks.

Untuk memecahkan masalah EditorConfig, ikuti langkah-langkah berikut:

  1. Untuk menonaktifkan dukungan EditorConfig untuk Visual Studio, kosongkan opsi Ikuti konvensi pengkodian proyek di Editor Teks Opsi>Alat.>

    Cuplikan layar yang memperlihatkan pengaturan untuk Mengikuti konvensi pengkodian proyek.

  2. Untuk menemukan file EditorConfig apa pun di direktori induk proyek Anda, buka prompt perintah dan jalankan perintah berikut dari akar disk yang berisi proyek Anda.

    dir .editorconfig /s
    
  3. Untuk mengontrol cakupan konvensi EditorConfig Anda, atur root=true properti dalam file .editorconfig di akar repositori Anda atau di direktori tempat proyek Anda berada.

    Visual Studio mencari file bernama .editorconfig di direktori file yang dibuka dan di setiap direktori induk. Pencarian berakhir ketika mencapai jalur file root, atau jika file .editorconfig dengan root=true ditemukan.