EditorConfig ile tutarlı kodlama stilleri tanımlama

Kod tabanında çalışan herkese tutarlı kodlama stilleri uygulamak için çözümünüze veya projenize bir EditorConfig dosyası ekleyebilirsiniz. EditConfig dosya ayarları, EditorConfig.org tarafından tutulan bir dosya biçimi belirtimine bağlıdır. Birçok kod düzenleyicisi ve uygulaması Visual Studio dahil olmak üzere EditorConfig dosyalarını destekler. Bu, kodunuzla birlikte hareket eden ve Visual Studio dışında bile kodlama stilleri uygulayabilen taşınabilir bir bileşendir.

Visual Studio'da EditorConfig dosya ayarları, genel metin düzenleyicisi ayarlarından önceliklidir (Araçlar>Seçenekleri iletişim kutusunda Metin Düzenleyicisi'niseçerek erişilir). Bu, her kod temelini o projeye özel metin düzenleyici ayarlarını kullanmak üzere uyarlayabileceğiniz anlamına gelir. EditorConfig dosyalarını kullandığınızda, Visual Studio metin düzenleyicisinde kendi kişisel düzenleyici tercihlerinizi ayarlamaya devam edebilirsiniz. Bu metin düzenleyicisi ayarları, EditorConfig dosyası olmadan bir kod tabanında çalışırken veya EditorConfig dosyası belirli bir ayarı geçersiz kılmadığında uygulanır. Bu tür bir tercihe örnek olarak, kod girintisi stili için sekmelerin mi yoksa boşlukların mı kullanılacağı gösterilir.

Visual Studio'da projenize bir EditorConfig dosyası eklediğinizde, EditorConfig ayarlarına göre yalnızca yeni kod satırları biçimlendirilir. Aşağıdaki komutlardan birini çalıştırmadığınız sürece mevcut kodun biçimlendirmesi değiştirilmez:

  • Kod Temizleme.

    Visual Studio düzenleyicisinde Kod Temizleme'yi seçin veya Ctrl K, Ctrl++E tuşlarına basın. Bu komut, girinti stili gibi boşluk ayarlarına ve parantez tercihleri gibi seçili kod stili ayarlarına uygulanır.

  • Belgeyi Biçimlendir'i seçin.

    Gelişmiş>Biçim Belgesini Düzenle'yi>seçin veya varsayılan profilde Ctrl+K, Ctrl+D tuşlarına basın. Bu komut yalnızca girinti stili gibi boşluk ayarlarına uygulanır.

Not

Bu konu, Windows için Visual Studio için geçerlidir. Mac için Visual Studio için bkz. Mac için Visual Studio'de özel EditorConfig dosyası oluşturma ve düzenleme.

Kod tutarlılığı

EditorConfig dosya ayarları, kullandığınız düzenleyiciden veya IDE'ye bakılmaksızın bir kod tabanında tutarlı kodlama stilleri ve kuralları korumanıza olanak sağlar. Denetleyebileceğiniz bazı kodlama stilleri girinti stili, sekme genişliği, satır sonu karakterleri ve kodlamadır. Örneğin, C# kod tabanınızda girintilerin beş boşluk karakteri kullandığı bir kural varsa, belgeler UTF-8 kodlaması kullanıyorsa ve satırlar CR/LF ile bitiyorsa, editorconfig dosyasını bu kuralı kullanacak şekilde yapılandırabilirsiniz.

EditorConfig dosyaları, kişisel projelerinizde kullandığınız kodlama kuralları ekibinizin projelerinde kullanılan kurallardan farklı olduğunda kullanışlıdır. Örneğin, girintinin kodunuzda bir sekme karakteri eklemesini tercih edebilirsiniz. Ancak, ekibiniz girintinin bunun yerine dört alan eklemesini tercih edebilir. EditorConfig dosyaları, her senaryo için bir yapılandırmaya sahip olmanıza izin vererek bu sorunu çözer.

Kod tabanındaki bir .editorconfig dosyası EditorConfig ayarlarını içerdiğinden, bu kod tabanıyla birlikte hareket ederler. Kod dosyasını EditorConfig uyumlu bir düzenleyicide açtığınız sürece metin düzenleyicisi ayarları etkinleştirilir.

Not

EditorConfig dosyasında ayarladığınız kurallar, ci/CD işlem hattında derleme hataları veya uyarılar olarak uygulanamaz. Tüm stil sapmaları yalnızca Visual Studio düzenleyicisinde ve Hata Listesinde görünür.

Desteklenen ayarlar

Visual Studio'daki düzenleyici, EditorConfig özelliklerinin çekirdek kümesini destekler:

  • indent_style
  • indent_size
  • tab_width
  • end_of_line
  • Charset
  • trim_trailing_whitespace
  • insert_final_newline
  • kök

EditorConfig, XML desteği EditorConfig düzenleyici ayarları dışında Visual Studio tarafından desteklenen tüm dilleri destekler.

EditorConfig, C# ve Visual Basic için dil, biçimlendirme ve adlandırma kuralları dahil olmak üzere kod stili kurallarını destekler.

EditorConfig dosyalarını ekleme ve kaldırma

Projenize veya kod tabanınıza bir EditorConfig dosyası eklediğinizde, Visual Studio yazdığınız tüm yeni kod satırlarını EditorConfig dosya ayarlarına göre biçimlendirer. Ancak, siz belgeyi biçimlendirene veya Kod Temizleme'yi çalıştırmadan Visual Studio var olan stilleri yeni stillere dönüştürmez. Örneğin, dosyanızdaki girintiler sekmelerle biçimlendirilirse ve girintileri boşluklarla biçimlendiren bir EditorConfig dosyası eklerseniz, girinti karakterleri otomatik olarak boşluklara dönüştürülemez. Belgeyi biçimlendirdiğinizde (Gelişmiş>Biçim Belgesini Düzenle'yi>seçtiğinizde veya Ctrl+K, Ctrl+D tuşlarına bastığınızda), EditorConfig dosyasındaki boşluk ayarları var olan kod satırlarına uygulanır.

Bir EditorConfig dosyasını projenizden veya kod tabanınızdan kaldırırsanız, genel düzenleyici ayarlarının yeni kod satırlarını etkilemesi için tüm açık kod dosyalarını kapatıp yeniden açmanız gerekir.

Projeye EditorConfig dosyası ekleme

Projenize veya çözümünüze EditorConfig dosyası eklemek için şu adımları izleyin:

  1. Visual Studio'da bir proje veya çözüm açın. EditorConfig ayarlarınızın çözümdeki tüm projelere mi yoksa yalnızca bir projeye mi uygulanacağına bağlı olarak çözümü veya proje düğümünü seçin. .editorconfig dosyasını eklemek için projenizde veya çözümünüzde bir klasör de seçebilirsiniz.

  2. Menüden Proje>Yeni Öğe Ekle'yi seçin veya Ctrl+Shift A tuşlarına+basın.

    Yeni Öğe Ekle iletişim kutusu açılır.

  3. Arama kutusuna editorconfig yazın.

    Arama sonuçlarında iki editorconfig Dosya öğesi şablonu gösterilir.

    Visual Studio'da EditorConfig dosya öğesi şablonlarını gösteren ekran görüntüsü.

  4. Boş alan, kod stili ve adlandırma kuralları için varsayılan EditorConfig seçenekleriyle önceden doldurulmuş bir EditorConfig dosyası eklemek için editorconfig Dosya (boş) şablonunu seçin. Alternatif olarak, varsayılan .NET boşluk, kod stili ve adlandırma kurallarıyla önceden doldurulmuş bir EditorConfig dosyası eklemek için editorconfig Dosyası (.NET) şablonunu seçin.

    Çözüm Gezgini'de yeni bir .editorconfig dosyası görüntülenir ve bu dosya düzenleyicide yeni bir sekme olarak açılır.

    Çözüm Gezgini ve düzenleyicide .editorconfig dosyasını gösteren ekran görüntüsü.

  5. İsteğe bağlı olarak dosyayı düzenleyin ve kaydedin.

EditorConfig dosyası eklemenin diğer yolları

Projenize EditorConfig dosyası eklemenin birkaç yolu daha vardır:

  • Çözümünüzde bir .editorconfig dosyası oluşturmak için Visual Studio için IntelliCode kullanın. Çözüm Gezgini sağ tıklayın ve bağlam menüsünden Yeni EditorConfig (IntelliCode) Ekle'yi>seçin. Visual Studio için IntelliCode, mevcut koddan kod stillerinizi çıkarsar ve kod stili tercihlerinizin önceden tanımlanmış olduğu bir EditorConfig dosyası oluşturur.

  • Kod stili ayarlarınıza göre otomatik olarak bir EditorConfig dosyası oluşturun.

Dosya hiyerarşisi ve öncelik

Dosya hiyerarşinizdeki bir klasöre .editorconfig dosyası eklediğinizde, ayarları bu düzeyde ve daha düşük tüm geçerli dosyalara uygulanır. Ayrıca, kod tabanının diğer bölümlerinden farklı kurallar kullanması için belirli bir proje, kod tabanı veya bir kod tabanının parçası için EditorConfig ayarlarını geçersiz kılabilirsiniz. Bunu yapmak, kodu başka bir yerden dahil ettiğinizde ve kurallarını değiştirmek istemediğinizde yararlı olabilir.

Şu yönergeleri izleyin:

  • EditorConfig ayarlarının bazılarını veya tümünü geçersiz kılmak için, geçersiz kılınan ayarların uygulanmasını istediğiniz dosya hiyerarşisi düzeyinde bir .editorconfig dosyası ekleyin. Yeni EditorConfig dosya ayarları aynı düzeydeki dosyalara ve herhangi bir alt dizindeki dosyalara uygulanır.

    EditorConfig hiyerarşisini gösteren ekran görüntüsü.

  • Ayarların tümünü değil bazılarını geçersiz kılmak istiyorsanız, .editorconfig dosyasında yalnızca bu ayarları belirtin. Yalnızca alt düzey .editorconfig dosyasında açıkça listelediğiniz özellikler geçersiz kılınabilir. Herhangi bir üst düzey .editorconfig dosyasındaki diğer ayarlar uygulanmaya devam eder.

  • Kod tabanının bu bölümüne herhangi bir üst düzey .editorconfig dosyasından hiçbir ayar uygulanmadığından emin olmak istiyorsanız, özelliğini alt düzey .editorconfig dosyasına ekleyinroot=true.

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

EditorConfig dosyaları yukarıdan aşağıya okunur. Aynı ada sahip birden çok özellik varsa, aynı ada sahip en son bulunan özellik önceliklidir.

EditorConfig dosyalarını düzenleme

Visual Studio 2022, EditorConfig dosyaları için bir görsel düzenleyici sağlar.

EditorConfig dosyanızı düzenledikten sonra, yeni ayarların etkili olması için kod dosyalarınızı yeniden yüklemeniz gerekir.

Visual Studio, IntelliSense tamamlama listeleri sağlayarak EditorConfig dosyalarını düzenlemenize yardımcı olur. Örneğin:

EditorConfig dosyasında IntelliSense'i gösteren ekran görüntüsü.

Birçok EditorConfig dosyasını düzenlerseniz EditorConfig Dil Hizmeti uzantısını yararlı bulabilirsiniz. Bu uzantının özelliklerinden bazıları söz dizimi vurgulama, geliştirilmiş IntelliSense, doğrulama ve kod biçimlendirmedir.

EditorConfig Language Service uzantısıyla IntelliSense'i gösteren ekran görüntüsü.

Örnek

Aşağıdaki örnekte projeye EditorConfig dosyası eklemeden önce ve sonra C# kod parçacığının girinti durumu gösterilmektedir:

  1. Araçlar>Seçenekleri iletişim kutusunda, Visual Studio metin düzenleyicisinin Metin Düzenleyicisi>C#>Sekmeleri ayarlarını, Sekme tuşuna bastığınızda dört boşluk karakteri üretecek şekilde ayarlayın.

    Metin Düzenleyicisi sekme ayarını gösteren ekran görüntüsü.

  2. Beklendiği gibi, bir sonraki satırda Sekme tuşuna bastığınızda, dört boşluk karakteri ekleyerek satır girintisini artırır.

    Kodda boşluk ekleme Sekme tuşunu gösteren ekran görüntüsü.

    Kodda boşluk ekleme Sekme tuşunu gösteren ekran görüntüsü.

  3. Sekmeler ayarını sekmeleri kullanacak şekilde değiştirmek için EditorConfig kullanın.

    EditorConfig dosyasında Sekmeleri Kullan'ı seçin.

    Sekme tuşu için sekme kullanımını yapılandırmayı gösteren ekran görüntüsü.

    Projeye aşağıdaki içeriklere sahip .editorconfig adlı yeni bir dosya ekleyin. Gösterge, [*.cs] bu değişikliğin yalnızca projedeki C# kod dosyaları için geçerli olduğu anlamına gelir.

    # Top-most EditorConfig file
    root = true
    
    # Tab indentation
    [*.cs]
    indent_style = tab
    
  4. Sekme tuşuna bastığınızda artık boşluklar yerine sekme karakterleri görüntülenir.

    Koda sekme karakterleri ekleyen Sekme tuşunu gösteren ekran görüntüsü.

    Koda sekme karakterleri ekleyen Sekme tuşunu gösteren ekran görüntüsü.

EditorConfig ayarlarında sorun giderme

Bir EditorConfig dosyası projenizin konumunda veya üzerinde dizin yapısında herhangi bir yerde bulunuyorsa, Visual Studio bu dosyadaki düzenleyici ayarlarını düzenleyicinize uygular. Bu durumda, durum çubuğunda aşağıdaki iletiyi görebilirsiniz:

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

Başka bir deyişle, Araçlar>Seçenekleri>Metin Düzenleyicisi'ndekiherhangi bir düzenleyici ayarı (girinti boyutu ve stili, sekme boyutu veya kodlama kuralları gibi) dizin yapısında projenin üzerindeki veya üzerindeki bir EditorConfig dosyasında belirtilirse, EditorConfig dosyasındaki kurallar Metin Düzenleyicisi'ndeki ayarları geçersiz kılar.

EditorConfig sorunlarını gidermek için şu adımları izleyin:

  1. Visual Studio için EditorConfig desteğini kapatmak için Araçlar>Seçenekleri>Metin Düzenleyicisi'ndeki Proje kodlama kurallarını takip et seçeneğini temizleyin.

    Proje kodlama kurallarını takip et ayarını gösteren ekran görüntüsü.

  2. Projenizin üst dizinlerindeki EditorConfig dosyalarını bulmak için bir komut istemi açın ve projenizi içeren diskin kökünden aşağıdaki komutu çalıştırın.

    dir .editorconfig /s
    
  3. EditorConfig kurallarınızın kapsamını denetlemek için, deponuzun kökündeki .editorconfig dosyasında veya projenizin bulunduğu dizinde özelliğini ayarlayınroot=true.

    Visual Studio, açılan dosyanın dizininde ve her üst dizinde .editorconfig adlı bir dosya arar. Arama, kök dosya yolu ulaştığında veya ile root=true bir .editorconfig dosyası bulunduğunda sona erer.