2010-11-10 20 views
42

की सभी फ़ाइलों में टैब को प्रतिस्थापित करने के लिए उपकरण/चाल, मेरा समाधान (30+ प्रोजेक्ट) टैब और रिक्त स्थान मिश्रण करने की बात आती है, और मैं इसे एक आसान चरण से ठीक करना चाहता हूं।एक पूरे वीएस समाधान

क्या किसी को पूरे समाधान के लिए एक कदम में ऐसा करने के लिए एक चाल/उपकरण पता है?

संपादित करें: बिल्कुल मेरा मतलब नहीं था। मैं दस्तावेजों को अच्छी तरह से स्वरूपित करना चाहता हूं। बस खोज/प्रतिस्थापित करें .. दस्तावेज़ अभी भी एक गड़बड़ होगी। मैं प्रारूप की तरह कुछ चाहते हैं -> उन्नत -> स्वरूप दस्तावेज़ आदेश

+0

शक्तियां? ... –

+0

एक त्वरित लिपि करेगा। यदि आप आयरनपीथन, आयरन रूबी या बू चला सकते हैं तो यह बहुत आसान होगा। ऐसा करना सी # भी जटिल नहीं है। यदि आप –

उत्तर

59

यदि आपकी फ़ाइलों में समाधान के साथ सभी समान चौड़ाई के टैब के रूप में रिक्त स्थान हैं (यानी 4 रिक्त स्थान प्रति टैब), तो आपको सादा वीएस के Quick replace टूल का उपयोग करना चाहिए। आदेश का पालन करने के StyleCop की फ़ॉर्मेटिंग नियम, आप टैब के बजाय रिक्त स्थान का उपयोग करना चाहिए, इसलिए Quick replace (CTRL-ज) के लिए जाने में, Use wildcard चयन करें और फिर Find what क्षेत्र में आप \t प्रतीक का उपयोग कर सकते हैं, सभी समाधान के लिए 4 स्थानों और इसकी जगह (Look in फ़ील्ड)।

लेकिन अगर आपके समाधान फ़ाइलें अलग चौड़ाई के रिक्त स्थान के बने टैब होते हैं, या आप एकल शैली स्वरूपण लागू करना चाहते हैं, तो आप निश्चित रूप से कोड पुन: प्रारूपित करना Resharper की सुविधा का उपयोग करना चाहिए। इस सुविधा को Code Cleanup कहा जाता है। पूरे समाधान या चयनित प्रोजेक्ट पर code cleanup लागू करने के लिए, समाधान एक्सप्लोरर पर जाएं और संदर्भ मेनू में Cleanup code का चयन करें। लेकिन पूरे समाधान पर सुधार करने से पहले इसे एक फ़ाइल पर आज़माएं और ट्विक करें, Resharper की सेटिंग्स में बहुत सारे विकल्प हैं।

+0

पसंद करते हैं तो मैं स्क्रिप्ट के रूप में एक उत्तर के रूप में संलग्न कर सकता हूं यह वही था जो मैं ढूंढ रहा था .. reformatting – 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); 
    } 
} 

सहेजें spaces-to-tabs.cs के रूप में है, और चलाएँ:

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

मैं एक यूनिक्स उपकरण रखने के ऐसी ही आपात स्थिति के लिए विंडोज़ में काम करते समय मेरे रास्ते में निर्देशिका। उदाहरण के लिए, यह किसी भी .cs फ़ाइलों में c: \ myproject निर्देशिका या इसकी उपनिर्देशिका में 4 रिक्त स्थान वाले सभी टैब को प्रतिस्थापित करेगा।

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

ctrl-ज, सेट "में देखो:" "पूरे समाधान"

इसके अलावा, आप एक मैक्रो रिकॉर्ड कर सकते हैं करने के लिए।

0

एक सरल और तेज़ तरीका ++ (पर स्विच 'शो सभी पात्रों' और टैब हाइलाइट किया जाएगा) नोटपैड में फ़ाइल खोलने के लिए और या तो स्वयं इसे बदलना, या यह स्वचालित रूप से की जगह है (एक 'सेटिंग' के साथ खेलने के लिए है)

जब आप सफेद स्थान को मिलाया गया है कि टैब/रिक्त स्थान एक फ़ाइल खोलने
1

नहीं एक आदर्श समाधान है, लेकिन विस्तार "मिश्रित टैब्स ठीक करें" मूल रूप से एक बड़ी मदद https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.FixMixedTabs

है, यह के शीर्ष पर एक उपकरण पट्टी ऊपर पॉपअप फ़ाइल को सामान्य बनाने की अनुमति देने के लिए

संबंधित मुद्दे