वहाँ एक HTML ऑटो-इंडेंटेशन फीचर या प्लगइन के लिए Sublime Text (उर्फ prettify / beautify / format) है?


23

उदाहरण के लिए, कुछ बदलना है:

<section><article><h1></h1><p></p></article></section>

सेवा मेरे:

<section>
  <article>
    <h1></h1>
    <p></p>
  </article>
</section>

... जो पूर्ण पृष्ठों और स्निपेट पर काम करता है।

  • अंतर्निहित Edit > Line > Reindentसेटिंग ऐसा नहीं करती है
  • प्लगइन HTMLTidy जोड़ता है headऔर bodyटैग करता है, इसलिए यह भाग के लिए काम नहीं करता है, इसमें विभिन्न अन्य मुद्दे भी हैं
  • प्लगइन टैग में विभिन्न मुद्दे हैं , पर्याप्त है कि यह अनिवार्य रूप से काम नहीं करता है
  • प्लगइन HTMLPrettify के विभिन्न मुद्दे हैं , नोड.जेएस की आवश्यकता है, और महीनों में अपडेट नहीं किया गया है
  • gist.github.com/mcdonc/3898894 इसे करने का दावा करता है, लेकिन इसके लिए Emacs की आवश्यकता होती है

(नोटपैड ++ में ऑटो-इंडेंट था, ड्रीमविवर ने अप्लाई सोर्स फॉर्मेटिंग, अप्टाना में फॉर्मेट इत्यादि लागू किया था)

टैग प्लगइन इनलाइन टैग को गलत तरीके से हैंडल करता है , उदाहरण के लिए इस स्निपेट पर इसका उपयोग करना:

<p>foo<a>bar<span>baz<span>qux</span></span></a></p>

का परिणाम:

<p>
    foo
    <a>
        bar
        <span>
            baz
            <span>qux</span>
        </span>
    </a>
</p>

प्रश्न क्या है? यह आपकी पोस्ट से स्पष्ट नहीं है कि प्रश्न क्या है।
ब्रैड पैटन

पूछताछ के लिए संपादित शीर्षक। मैं सब-टेक्स्ट में ऑटो-इंडेंट HTML के लिए कोई रास्ता खोजने की कोशिश कर रहा हूं।
user110241


धन्यवाद, मैंने उस धागे में प्रत्येक समाधान की कोशिश की, उनमें से कोई भी काम नहीं करता है। मैंने उन कारणों को सूचीबद्ध किया है जिनमें से कई इस धागे में काम नहीं करते हैं।
user110241

मुझे लगता है कि यह सबसे अच्छा काम करने वाला समाधान है: jsbeautifier.org मुझे कई इनलाइन टैग प्रारूप की आवश्यकता है। यह एक बहुत अच्छी तरह से काम करता है। यह उदात्त पाठ के लिए उचित मार्कअप बनाता है और साथ ही साथ विखंडू को भी बंद कर सकता है। यह CLI पर npmjs.com/package/js-beautify
Sai krishna Deep

जवाबों:


18

reindentहमेशा के टुकड़े के लिए काम नहीं करता। आप Tagप्लगइन (पैकेज नियंत्रण से स्थापित) का उपयोग कर सकते हैं । फिर बस ctrl+ shift+ दबाएँ p, और टाइप करें tag। आपको विकल्प दिखाई देगा Auto-Format tags on document। का चयन करें और दबाएँ Enter। वह कर दूंगा।


1
जैसा कि मैंने मूल पोस्ट में उल्लेख किया है, टैग प्लगइन टूट गया है, विशेष रूप से अन्य इनलाइन टैग्स को संभालना, अन्य बहुत खराब बगों के बीच। लेखक ने कहा है कि उसे "पूरी बात को फिर से लिखना" चाहिए। HTML वास्तव में सभी के लिए काम नहीं करता है, यह इंडेंटेशन को सही नहीं करता है; यह सिर्फ टैग्स को एक निश्चित इंडेंट स्तर तक संरेखित करता है।
user110241

खैर, टैग ने मेरे लिए काम किया। मैंने आपका HTML स्निपेट इस्तेमाल किया। यह निर्दोष रूप से काम किया। और रीइंडेंट HTML के लिए काम करता है लेकिन कुछ शर्तों के तहत।
बिबास

इस स्निपेट पर टैग के ऑटोफ़ॉर्मैट का उपयोग करने का प्रयास करें: <p>foo<a>bar<span>baz<span>qux</span></span></a></p>यह देखने के लिए कि मेरा क्या मतलब है। यह IE के सशर्त टिप्पणियों में लिपटे हुए HTML टैग के प्रारूपण को भी गड़बड़ करता है जो HTML5 बॉयलरप्लेट का हिस्सा है (और सामान्य रूप से टिप्पणियाँ)। Line > Reindentइस स्निपेट पर अंतर्निहित : jsfiddle.net/y8xXj का उपयोग करके देखें कि यह कैसे विफल हो जाता है।
user110241

FYI करें - बस एक HTML स्निपेट के साथ उदात्त पाठ 3 में कोशिश की गई है और यह वास्तव में काम करता है!
स्टीवन

2
वही मुद्दा। मैंने अतीत में अनगिनत संपादकों का उपयोग किया है, कोडा, उदात्त, एस्प्रेसो, चॉकलेट, टेक्स्टमैट ... लेकिन कोई भी कभी भी Dreamweaver के लागू स्रोत स्वरूपण जैसे पाठ को ठीक से प्रारूपित करने में सक्षम नहीं है। जिसके लिए लोग बस साफ या कुछ अन्य प्लगइन का सुझाव देते हैं जो कभी ड्रीमविवर की तरह काम नहीं करते हैं। मुझे खुशी है कि किसी ने "ज़ूटेड" इस मुद्दे को देखा। यह दुर्भाग्यपूर्ण है कि अभी भी कोई समाधान नहीं है। सब्मिट टेक्स्ट 3 में जूटेड नोट के रूप में भी टैग के साथ यह ठीक से काम नहीं करता है (जैसा कि उनके उपरोक्त उदाहरण में है)। और मूल निवासी सुविधा बहुत बेकार है।
cchiera

6

All -> Edit menu -> Line -> Reindend का चयन करेंगे। आप उसी उपयोग के लिए एक शॉर्टकट संयोजन सेट कर सकते हैं।

{"कुंजियाँ": ["ctrl + shift + r"], "कमांड": "reindent", "args": {"single_line": false}}


1
जैसा कि मैंने प्रश्न में उल्लेख किया है, यह काम नहीं करता है। मेरे द्वारा प्रदान किए गए पहले स्निपेट पर इसे आज़माएँ: <अनुभाग> <लेख> <h1> </ h1> <p> </ p> </ लेख> </ अनुभाग>
user110241

मेरे लिये कार्य करता है। सिंटैक्स HTML पर सेट है?
मैनुअल आर्म्ड श्मिट

2
मेरे लिए काम नहीं करता है।
डेरेक朕會功夫

हाँ, यह बहुत अच्छा काम करता है, लेकिन आखिरकार मेरे मामले के <div>शुरुआती टैग्स में गिरावट शुरू हो गई ।
रफिन

0

काम करने के लिए रीइंडेंट सुविधा के लिए, आपको "इंडेंट यूजिंग स्पेस" के विकल्प को अनचेक करना होगा।

देखें >> इंडेंटेशन >> इंडस स्पेसेस का उपयोग करना

एक बार यह विकल्प अनियंत्रित हो जाने के बाद, आप अपने पाठ और रीइंडेंट का चयन कर सकते हैं:

संपादित करें >> लाइन >> रीइंडेंट

यह HTML सिंटैक्स के साथ-साथ XML के लिए भी काम करेगा। किसी अन्य पर इसका परीक्षण नहीं किया।


मैं वास्तव में उस अनियंत्रित के साथ काम कर रहा था। आपके द्वारा बताई गई कमांड ST3 में इस स्निपेट के लिए बिल्कुल कुछ नहीं है:<html><head></head><body><div><p>foobar<span>baz</span></p></div></body></html>
user110241
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.