LazowskiAnton · Extensions

TidySmith

C# kodu ekibinizin istediği sıraya konur: üyeler bir önizleme ve tek bir Geri Al ile sıralanıp gruplanır, bölgeler kurallarınıza göre oluşturulur, yorumlar satır uzunluğunuza göre kaydırılır — ve düzenleyicide düzenlenebilecek yerlerin altında gri noktalar belirir.

Ücretsiz · Visual Studio 2022 ve 2026 · 14 arayüz dili · telemetri yok

Neden TidySmith

Order Members öncesi ve sonrası bir sınıf: önce sabitler ve alanlar, sonra oluşturucu, özellikler ve yöntemler

Tasarımı gereği güvenli

Roslyn söz dizimi ağacı üzerine kuruludur: üyeler yorumları, belgeleri ve öznitelikleriyle birlikte taşınır; #if ve #region bloklarının sınırı asla aşılmaz; güvenle sıralanamayan sınıflara dokunulmaz. Önce bir önizleme farkı gösterir ve Uygula tek bir Geri Al ile geri alınır.

Ekibinizin sırası

Grupların sırası, erişim, statik üyeler, adlar — bunları seçenekler sayfasında ayarlayın ya da .editorconfig dosyasına yazın; böylece herkes aynı sonucu alır. StyleCop ve CodeMaid ön ayarları yerleşiktir.

Kılavuzsuz keşfedilir

Sırası bozuk bir sınıfın veya fazla uzun bir yorumun altında gri noktalar; Ctrl+. düzeltmeyi Visual Studio eylemlerinin yanında sunar. Komutları öğrendikten sonra ipuçlarını kapatın.

Ücretsiz, koşulsuz

Abonelik yok, “pro” sürüm yok, veri toplama yok, Çıktı penceresinde ya da başlangıçta mesaj yok. Sizden isteyeceğimiz tek şey — bir süre kullandıktan sonra — Marketplace'te bir değerlendirme. Visual Studio 2022 ve 2026'da, x64 ve ARM64 üzerinde çalışır.

Özellikler

Tüm komutlar Düzen › TidySmith menüsünde ve kod düzenleyicisinin bağlam menüsündedir (sağ tıklama › TidySmith); Order Members ayrıca Çözüm Gezgini'nde dosyaların, klasörlerin ve projelerin bağlam menüsündedir.

Üyeleri sıralama

Order Members… bir sınıfın üyelerini türe göre (sabitler, alanlar, oluşturucular, özellikler, yöntemler…), sonra erişime göre (önce public), statik üyeleri örnek üyelerden önce ve isterseniz ada göre sıralar — seçenekler sayfasında veya .editorconfig dosyasında belirlenen sırayla.

Başlangıç için ön ayarlar: TidySmith (aşırı yüklemeler ve arabirim uygulamaları bir arada), StyleCop (SA1201, SA1202, SA1204 — kesin olarak erişime göre) ve CodeMaid (CodeMaid'den geçen ekipler için CodeMaid varsayılanı).

Düzenleyicide ipuçları

TidySmith'in yardımcı olabileceği yerde adın altında üç gri nokta belirir — Visual Studio'nun kendi önerilerini işaretlediği gibi. İşaretçiyi üzerlerine getirince ne olduğu görünür; Ctrl+. değişikliğin önizlemesiyle birlikte düzeltmeyi sunar.

Bir sınıf adının ve uzun bir yorumun altında gri noktalar; Üyeleri sırala eylemi ve önizlemesiyle ampul
İmleç şuradaCtrl+. şunları sunar
Bir sınıfın adıSınıfın veya dosyanın üyelerini sıralama, kurallarınıza göre bölgeler ekleme, sınıfın bölgelerini kaldırma, Structure penceresinde açma
Satır uzunluğundan uzun bir yorumYorumu kaydırma
Bir #region satırıBu bölgeyi kaldırma (kod kalır)
Seçili birkaç satırSatırları sıralama (yalnızca düz bir liste), satırları birleştirme

Noktalar sırası bozuk bir sınıf, satır uzunluğundan uzun bir yorum ve kurallarınızdan farklı bölgeler için görünür — başka hiçbir şey için değil. Noktaların ve ampul eylemlerinin ayrı anahtarları vardır; “Yalnızca değiştirdiğim dosyalarda” eski kodu sessiz tutar.

Kurallarınıza göre bölgeler

Add Regions to This File… bir önizlemeden sonra #region satırlarını kurallarınızın söylediği yerlere koyar. Bölgeler bir ekip kararıdır, bu yüzden varsayılan değer bölge yok şeklindedir: siz seçene kadar komut ayarları açar.

Bölge kuralları ve Fields, Methods ve IDisposable bölgeleri olan bir sınıf

StyleCop'un SA1124 kuralı bölgeleri yasaklar; varsayılanın bölge yok olmasının nedeni budur — kaydederken düzenlemenin bu ayarla bölgeleri kaldırmasının nedeni de.

Sığan yorumlar

Format Comment, imlecin bulunduğu // veya /// yorumunu (ya da dosyadaki tüm yorumları) satır uzunluğunuza göre kaydırır — .editorconfig dosyasındaki max_line_length veya 120. Uzun satırlar bölünür, kısalar birleştirilir, uzun bir <summary> kendi satırlarını alır. Kod örnekleri (<code>), listeler, ayırıcı satırlar ve yorum satırına alınmış kod olduğu gibi kalır.

Format Comment öncesi ve sonrası bir belge yorumu

Kaydederken düzenleme

Bir C# dosyası kaydedildiğinde TidySmith üyelerini sıralayabilir, bölgeleri kurallara göre yerleştirebilir, yorumları kaydırabilir, sondaki boşlukları ve fazla boş satırları kaldırabilir — her adımın kendi anahtarı vardır. Yalnızca kaydedilen dosya, oluşturulan dosyalar asla; durum çubuğu neyin değiştiğini söyler ve Ctrl+Z geri alır. Tidy This File aynı adımları istendiğinde çalıştırır.

Varsayılan olarak kapalıdır. Order Members ekibinizin istediği sonucu verdiğinde açın — aksi halde eski bir dosyanın ilk kaydı onu baştan sona yeniden sıralar.

Structure penceresi

Görünüm › Diğer Pencereler › TidySmith Structure: etkin C# dosyasının türleri ve üyeleri. İmleci izler, tıklama üyeye götürür, arama filtreler ve başka bir üyenin üzerine sürüklenen üye oraya taşınır — Order Members ile aynı güvenli taşıma. Yöntemler uzunluklarını ve döngüsel karmaşıklıklarını gösterir; seçenekler sayfasındaki sınırları aşınca turuncuya döner.

Bir sınıfın üyelerini ve turuncu renkte uzun bir yöntemi gösteren Structure penceresi

Küçük yardımcılar

CodeMaid'den özlenen komutlar, Düzen › TidySmith menüsünde ve düzenleyicinin bağlam menüsünde.

Switch File

Geçerli dosyaya ait dosyayı açar — işaretleme ve kodu, bir kaynak dosyası ve tasarımcısı, kod ve testleri — Çözüm Gezgini'nde aramaya gerek kalmadan.

NeredenNereye (ve geri)
MainWindow.xamlMainWindow.xaml.cs
Order.razorOrder.razor.cs
Index.cshtmlIndex.cshtml.cs
Strings.resxStrings.Designer.cs
MainForm.csMainForm.Designer.cs
OrderService.csOrderServiceTests.cs — çözümdeki bir test projesinde de; …Test.cs ve ….Tests.cs de

Menü hedefi adıyla gösterir (“Switch to OrderServiceTests.cs”) ve gidilecek yer yoksa devre dışıdır. Size ait bir tuşla en iyi sonucu verir — aşağıya bakın.

Sort Selected Lines

using'leri, enum üyelerini veya bir listenin öğelerini sıralar; virgüller listenin gerektirdiği yerde kalır. Yalnızca düz bir liste sıralanır — satır başına bir öğe, aynı girinti, boş satır yok, deyim yok — böylece yanlışlıkla seçilen bir yöntem veya dosyanın tamamı asla karıştırılmaz; durum çubuğu nedenini söyler.

Join Lines

Seçili satırları tek satırda veya imlecin bulunduğu satırı bir sonrakiyle birleştirir.

Find This File in Solution Explorer

Düzenleyicideki dosyayı Çözüm Gezgini'nde seçer.

Collapse ve Expand All Regions

Yalnızca #region bloklarını daraltır veya genişletir; yöntemler olduğu gibi kalır. Ctrl+M, Ctrl+O (yöntemleri de daraltır) ve Ctrl+M, Ctrl+L (her şeyi) komutlarından farkı budur.

Varsayılan olarak hiçbir kısayol alınmaz — Visual Studio'nun tuşları olduğu gibi kalır. Herhangi bir komutu Araçlar › Seçenekler › Ortam › Klavye bölümünde atayın: “Şunu içeren komutları göster” alanına TidySmith. yazın.

Ayarlar

Araçlar → Seçenekler → SmithWorks → TidySmith. Her seçeneğin bir açıklaması vardır.

SeçenekVarsayılan
Ampulde TidySmith eylemleri (Ctrl+.)açık
Düzenlenebilecek yerlerde gri noktalaraçık
Üye sırasıTidySmith ön ayarı
Sıralamadan önce önizlemeaçık
Bölgelerbölge yok
Yorum satırı uzunluğu120
Kaydederken düzenlekapalı
Uzun yöntem (satır) · karmaşık yöntem60 · 10
Marketplace'te değerlendirme isteaçık

Ayarlar %LocalAppData%\TidySmith içinde saklanır; .editorconfig bir değer içeriyorsa o önceliklidir.

TidySmith seçenekler sayfası
Seçenekler sayfası.

Depo başına: .editorconfig

Kuralları kodun yanına koyun, tüm ekip aynı sonucu alsın; .editorconfig içindeki bir değer seçenekler sayfasına göre önceliklidir (“.editorconfig dosyasındaki sırayı kullan” kapalı değilse).

[*.cs]
tidysmith_member_order = stylecop
tidysmith_regions = kind
tidysmith_region_min = 2
max_line_length = 120
AnahtarDeğerler
tidysmith_member_ordertidysmith, stylecop, codemaid veya sırasıyla gruplar: constants, fields, constructors, properties, methods…
tidysmith_regionsnone, kind, access, kind_access
tidysmith_region_minBölge oluşturulacak en az üye sayısı: 2
max_line_lengthYorumların kaydırılacağı satır uzunluğu

SSS

CodeMaid'den farkı nedir?

TidySmith eski kod modeli yerine Roslyn söz dizimi ağacı üzerinde çalışır; bu sayede #if, yorumlar ve öznitelikler ait oldukları yerde kalır; önizleme gösterir ve tek bir Geri Al ile geri alınır; sıra .editorconfig içinde tutulabilir; Visual Studio 2022 ve 2026'da x64 ve ARM64 üzerinde çalışır. Yalnızca C#'ı kapsar ve Visual Studio'nun artık kendi yaptığı şeyleri (kod temizleme, derleme ilerlemesi) dışarıda bırakır.

Bir sınıf neden sıralanmadı?

TidySmith, sıralamanın bir sınıfı bozabileceği veya karıştırabileceği durumlarda ona dokunmaz: söz dizimi hatası, küme ayracıyla aynı satırda bir üye, tek satırda iki üye. #if veya #region içindeki üyeler yalnızca kendi blokları içinde taşınır. Oluşturulan dosyalara asla dokunulmaz.

Bir değişikliği geri alabilir miyim?

Evet: her komut ve her kaydetme tek bir düzenlemedir, bu yüzden tek bir Ctrl+Z onu geri alır. Çözüm Gezgini'nde açık olmayan dosyalar diske yazılır — orada sürüm denetiminizi kullanın.

Sort Selected Lines neden hiçbir şey yapmadı?

Yalnızca düz bir listeyi sıralar; bu yüzden kod olan bir seçim — deyimler, bloklar, farklı girintili veya arasında boş satır olan satırlar — asla karıştırılmaz. Durum çubuğu bunu söyler.

Add Regions hiçbir şey yapmıyor.

Varsayılan kurallar bölge yok şeklindedir. Ayarların Bölgeler grubunda (komut onu açar) nasıl ayrılacaklarını seçin veya .editorconfig içinde tidysmith_regions değerini ayarlayın.

Peki VB, C++ veya XAML?

TidySmith C# içindir. İstenirse başka diller de gelebilir — Feedback deposunda bize bildirin.

TidySmith herhangi bir veri gönderiyor mu?

Hayır. Her şey Visual Studio içinde, sizin dosyalarınız üzerinde çalışır; hiçbir yere hiçbir şey gönderilmez — telemetri yok, istek yok.

Bir sorunu nereye bildirebilir veya bir özellik önerebilirim?

GitHub'daki Feedback deposunda bir issue açın — hatalar ve fikirler için formlar var (lütfen özel adları değiştirin). Marketplace'teki Q&A sekmesini de kullanabilirsiniz.

Değişiklik günlüğü

1.0.2

1.0.1

1.0.0