How to set HTML Auto Indent format on Sublime Text 3?

前端 未结 4 583
小鲜肉
小鲜肉 2020-12-08 13:25

I have a question while I\'m writing HTML code on Sublime Text 3. I just want to set auto indent format of HTML. For example, when I write p tag like under code, the indenta

4条回答
  •  孤城傲影
    2020-12-08 13:50

    This is an adaptation of the above answer, but should be more complete.

    To be clear, this is to re-introduce previous auto-indent features when HTML files are open in Sublime Text. So when you finish a tag, it automatically indents for the next element.

    Windows Users

    Go to C:\Program Files\Sublime Text 3\Packages extract HTML.sublime-package as if it is a zip file to a directory.

    Open Miscellaneous.tmPreferences and copy this contents into the file

    
    
    
    
        name
        Miscellaneous
        scope
        text.html
        settings
        
            decreaseIndentPattern
                (?x)
                ^\s*
                (</(?!html)
                  [A-Za-z0-9]+\b[^>]*>
                |-->
                |<\?(php)?\s+(else(if)?|end(if|for(each)?|while))
                |\}
                )
            batchDecreaseIndentPattern
                (?x)
                ^\s*
                (</(?!html)
                  [A-Za-z0-9]+\b[^>]*>
                |-->
                |<\?(php)?\s+(else(if)?|end(if|for(each)?|while))
                |\}
                )
            increaseIndentPattern
                (?x)
                ^\s*
                <(?!\?|area|base|br|col|frame|hr|html|img|input|link|meta|param|[^>]*/>)
                  ([A-Za-z0-9]+)(?=\s|>)\b[^>]*>(?!.*</\1>)
                |<!--(?!.*-->)
                |<\?php.+?\b(if|else(?:if)?|for(?:each)?|while)\b.*:(?!.*end\1)
                |\{[^}"']*$
                
            batchIncreaseIndentPattern
                (?x)
                ^\s*
                <(?!\?|area|base|br|col|frame|hr|html|img|input|link|meta|param|[^>]*/>)
                  ([A-Za-z0-9]+)(?=\s|>)\b[^>]*>(?!.*</\1>)
                |<!--(?!.*-->)
                |<\?php.+?\b(if|else(?:if)?|for(?:each)?|while)\b.*:(?!.*end\1)
                |\{[^}"']*$
                
            bracketIndentNextLinePattern
             <!DOCTYPE(?!.*>)
        
    
    
    

    Then re-zip the file as HTML.sublime-package and replace the existing HTML.sublime-package with the one you just created.

    Close and open Sublime Text 3 and you're done!

提交回复
热议问题