2010-11-10 19 views
42

Çözümümün (30+ projesi) bu karıştırma sekmeler ve boşluklar geliyor ve ben tek bir adımda geçirerek çözeriz istediğinizde bir karmaşa biraz.Aracı çözümü VS bütün bir bütün dosyalarda sekmeleri yerine

herkes tüm çözüm için tek adımda bunu yapmanın bir hüner/aracı biliyor mu?

DÜZENLEME: Demek Tam olarak ne. Belgelerin güzel biçimlendirilmesini istiyorum. Sadece bulmak/yerini değiştirmek .. belgeler hala bir karışıklık olacak. Ben Format gibi bir şey istemek -> Gelişmiş -> Biçim Belge komutu gitmek orada

+0

powershell normalleştirmek için izin dosya mi? ... –

+0

hızlı bir script yapardı. IronPython, IronRuby veya Boo’yu çalıştırabiliyorsanız çok kolay olurdu. Bunu yapmak C# de karmaşık değildir. –

cevap

59

dosyaları her çözelti içinde (yani sekme başına 4 boşluk), o zaman kullanmak gerekir düz VS en Quick replace aracı boyunca eşit genişlikte sekmeler olarak boşluk içeriyorsa. StyleCop 'un formatlama kurallarını takip etmek için sekmeler yerine boşluk kullanmalısınız, bu yüzden(CTRL-h)' ye gidin, Use wildcard'u seçin ve Find what alanında \t sembolünü kullanarak tüm çözüm için 4 boşlukla değiştirin. Look in alanı).

Ama çözüm dosyaları farklı genişlikteki alanlarda yapılan sekme içerir veya tek tarzı biçimlendirme uygulamak istiyorsanız

, o zaman kesinlikle kodunu yeniden biçimlendirmek için Resharper 'ın özelliği kullanmak gerekir. Bu özellik Code Cleanup olarak adlandırılır. Bütün çözelti veya seçilen projeye code cleanup uygulamak için çözüm explorer gidip içerik menüsünde Cleanup code seçin. Ancak, tüm çözüm üzerinde yeniden biçimlendirmeyi başlatmadan önce, bir dosya üzerinde deneyin ve değiştirin, Yeniden Düzenleyici ayarlarında birçok seçenek var.

+0

'dan hoşlanıyorsanız cevap olarak ekleyebilirim. Bu aradığım şeydi .. – Flores

3

:

using System; 
using System.IO; 

class _Runner { 
    static void Main(string[] args) { 

    var root=args[0]; 
    var filePaths = Directory.GetFiles(root, "*.cs", SearchOption.AllDirectories); 

    int updated = 0; 
    foreach (var path in filePaths) { 
     var content = File.ReadAllText(path); 
     var replaced = content.Replace(" ", "\t"); 
     if (replaced == content) { 
     continue; 
     } 

     ++updated; 
     Console.WriteLine("fixing " + path); 
     File.WriteAllText(path, replaced); 
    } 

    Console.WriteLine("fixed {0} files", updated); 
    } 
} 

kaydet spaces-to-tabs.cs gibidir ve çalıştırın:

C:>c:\Windows\Microsoft.NET\Framework\v3.5\csc spaces-to-tab.cs 
C:>spaces-to-tabs.exe C:\path\to\your\solution 
3

Bir unix aracı tutmak Windows'da çalışırken yolumdaki dizin, sadece bu tür acil durumlar için. Örneğin, bu, c: \ myproject dizinindeki veya alt dizinlerindeki herhangi bir .cs dosyasında 4 boşluk bulunan tüm sekmelerin yerini alır. "Tüm çözüm"

Ayrıca bir makro kaydedebilirsiniz için:

find c:\myproject -name *.cs -exec sed -i -e "\"s/\t/ /g\"" {} ";" 
0

ctrl-h set "bak". durumda

0

basit ve hızlı bir şekilde not defteri dosyayı açmak ++ ve elle değiştirin (anahtarı 'gösterisi tüm karakterleri' ve sekmeler vurgulanır) veya otomatik olarak değiştirmektir

(a 'Ayarlar' ile oynamak zorunda) Eğer boşluk sekmeleri/boşluklar karışık bir dosyayı açtığınızda
İlgili konular