2013-06-17 5 views
6

Ich habe eine Menge Arbeit mit Knockout-Vorlagen in letzter Zeit getan, und ich habe Sublime verwendet, um es zu tun. Eine Sache, die ich aber bemerkt habe ist, dass bei der Verwendung einer Vorlage, die in einem Block wie folgt definiert werden muss:Make Sublime Text behandeln <script type = "text/html"> als HTML

<script type="text/html"></script> 

es den Inhalt als Javascript behandelt, was bedeutet, ich bin nicht auf eine Menge aus von HTML-Tools, die ich installiert habe. Ich möchte, dass der Inhalt als HTML anstatt als Javascript behandelt wird. Gibt es irgendeine Einstellung, die ich verwenden könnte, um dies zu tun?

Antwort

18

Ich habe es geschafft, die Antwort zu finden thanks to iamntz here; Der Trick ist einfach. Für Sublime Text 3:

  1. Aufmachen Pakete in Ihrem Verzeichnis installieren, dann finden HTML.sublime-Paket und öffnen Sie sie in 7-Zip (oder Ihr Lieblings-Archiv-Tool)
  2. HTML.tmLanguage finden und zur Bearbeitung öffnen
  3. Finden sie diese Zeile:

    <string>(?:^\s+)?(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)</string> 
    

    und ersetzen sie es mit dieser:

    <string>(?:^\s+)?(&lt;)((?i:script))\b(?!([^&gt;]*text/html[^&gt;]*|[^&gt;]*/>))</string> 
    

Schön und einfach; Der Text/html in diesem zweiten Snippet kann durch einen beliebigen Schablonentyp ersetzt werden und wird nun von Sublime als HTML gelesen. Dieser Fix funktioniert auch mit allen HTML-Paketen, die Sie installiert haben.

+1

Wo ist das HTML-Slim-Paket? Ich finde es nirgends? – CMCDragonkai

+0

Oh schaffte es, es für AngularJS arbeiten zu lassen. Unter Windows befindet sich das Sublime-Paket tatsächlich in den Programmdateien. https://gist.github.com/CMCDragonkai/6056909 – CMCDragonkai

+0

Wie ersetzen Sie eigentlich das Paket obwohl - auf Mac habe ich die Datei bearbeitet, aber kann nicht herausfinden, wie man es ersetzt, ist es nur ein komprimiertes Archiv? – imaginethepoet

0

Dies scheint nicht mehr notwendig für Sublime Text 3 Build 3103. Stellen Sie sicher, dass das Attribut type des Skripts mit "text /" beginnt und nicht in "javascript" endet und HTML korrekt verarbeiten sollte jetzt.

Verwandte Themen