क्या Textmate अच्छी तरह से HTML को इंडेंट कर सकता है?


17

क्या Textmate ने अच्छी तरह से HTML को इंडेंट करने के लिए एक फंक्शन किया है?

HTML Tidy इसे इंडेंट करता है - लेकिन यह टैग को भी डिलीट करता है। (यह पूरी तरह से उचित HTML नहीं है, लेकिन फिर भी!)

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal">
    <head>
        <title></title>
    <script type="text/javascript" src="http://www.speechapi.com/static/lib/swfobject.js"></script>
    <script type="text/javascript" src="http://www.speechapi.com/static/lib/speechapi-1.1.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<body>
    <!-- All above disappears -->       
    <p>Test</p>
    <!-- All below disappears-->
</body>
</html>

क्या आप html का एक उदाहरण दे सकते हैं जहाँ टैग हटा दिए जाते हैं क्योंकि यह आश्चर्यजनक है
user151019


@ कैशेबश मैंने आपके कोड के साथ साफ कोशिश की और मेरे लिए यह केवल टैग जोड़े। copypastecode.com/46216
रॉबर्ट एस Ciaccio

@calvera: सुनिश्चित करें कि आपका दस्तावेज़ प्रकार HTML पर सेट है, न कि सादा पाठ
केसबश

3
@ कैशेबश: यह html ... FYI करने के लिए सेट किया गया था, जो मुझे नोटपैड ++ के लिए साफ प्लगइन के बारे में याद है, यह एक पाठ फ़ाइल के माध्यम से कॉन्फ़िगर किया गया है। तो शायद वहाँ कुछ ठीक विन्यास के साथ गलत है।
राबर्ट एस सियासीओ

जवाबों:


20

आप सभी को चुनने के लिए + दबा सकते हैं ।AText->Indent Selection


TextMate के वर्षों और इस सुविधा को कभी नहीं देखा या इस्तेमाल नहीं किया ... \
_

दुर्भाग्य से यह एक पूर्ण XML स्वरूपण नहीं है: यह गलत-इंडेंटेड लाइनों को रखता है और अलग-अलग लाइनों पर एक ही लाइन पर टैग को विभाजित नहीं करता है। Textmate 2.0-rc.4 का उपयोग करना।
अलेक्जेंडर क्लिमेत्स्क

13

आप उपयोग कर सकते हैं Bundles > HTML > Tidyया शॉर्टकट ctrl+ + H


3
साफ सिर्फ यह संकेत नहीं है - यह भी इसके कुछ हिस्सों को नष्ट करने के लिए लगता है!
केसबश

1
प्रश्न नहीं इंडेंट साफ़ कर रही के बारे में था
टीआईजी

अज्ञात तत्व के नाम जैसे कुछ मुद्दे होने पर ख़ुशी भी ख़त्म हो जाती है।
अलेक्जेंडर क्लिमेत्स्क

1

मैं कुछ ऐसे बिंदु बताना चाहूँगा जो अन्य उत्तरों को थोड़ा पार कर जाएँ:

यदि आप उस पाठ का चयन करते हैं जिसे आप प्रारूपित करना चाहते हैं (या रीइंडेंट), तो TextMate केवल उसी पर विशिष्ट क्रियाएं लागू करेगा। इसलिए, यदि आप CMD+ Aअपना दस्तावेज़ और फिर Tidy (बंडलों से> HTML मेनू या CTRL+ SHIFT+ Hशॉर्टकट के साथ) लागू करते हैं, तो यह अधिकतर केवल इंडेंटिंग, मान्यताओं पर अलर्ट लंघन करेगा (जो कभी-कभी अनावश्यक होते हैं क्योंकि हम पृष्ठ स्निपेट पर काम कर सकते हैं) )।


0

यदि आप डेवलपर टूल इंस्टॉल करते हैं तो इसके बजाय आप Xcode या Dashcode का उपयोग कर सकते हैं। वे आपके कंप्यूटर के साथ आए इंस्टॉल डिस्क पर मुफ्त आते हैं। मेरा मानना ​​है कि Xcode और Dashcode दोनों में वाक्य रचना हाइलाइटिंग है।

यदि आप वास्तव में अच्छा सॉफ्टवेयर चाहते हैं, तो कोडा प्राप्त करें यह $ 100 पर थोड़ा महंगा है, लेकिन मैं निश्चित रूप से कहूंगा कि यह इसके लायक है। इसमें सिंटैक्स हाइलाइटिंग है और (मेरे लिए बड़ा हिस्सा) स्वतः पूर्णता है।


0

हाँ। TextMate के अंतर्निहित HTML बंडल में सुव्यवस्थित कॉल आपके HTML से निपट सकती है।

TextMate के बंडलों -> HTML -> साफ उत्पादन:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal">
    <head>
        <title></title>
        <script type="text/javascript" src="http://www.speechapi.com/static/lib/swfobject.js">
</script>
        <script type="text/javascript" src="http://www.speechapi.com/static/lib/speechapi-1.1.js">
</script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>
    </head>
    <body>
        <!-- All above disappears -->
        <p>
            Test
        </p><!-- All below disappears-->
    </body>
</html>

अपने सैंपल कोड पर। कुछ भी गायब नहीं हुआ। आपको निम्न चेतावनी भी मिलती है:

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 5 - Warning: <body> isn't allowed in <head> elements
line 1 column 1 - Warning: <html> proprietary attribute "xmlns:tal"
line 1 column 1 - Warning: <html> proprietary attribute "xmlns:metal"

0

अंतर्निहित Text -> Indent Selectionया ठीक समाधान के साथ मैंने जो समस्या अनुभव की है, वह आंशिक HTML कोड के साथ अच्छी तरह से नहीं खेलती है। यह उदाहरण के लिए महत्वपूर्ण है जब वर्डप्रेस में संपादन या रूबी ऑन रेल्स में भागमभाग के साथ काम करना।

मेरे लिए काम करने वाला समाधान जॉन वॉटसन द्वारा कस्टम पर्ल स्क्रिप्ट के साथ बंडल में एक कमांड जोड़ने के लिए था जो मुझे यहां मिला: http://snipplr.com/view.php?codeview&id=28256

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.