2016-07-02 9 views

Antwort

2

lesen Sie hier, wie dieses Ziel zu erreichen:

https://forum.sublimetext.com/t/javascript-es6-template-literals-syntax-for-html/18242

hier Abgebildet:

öffnen Tools> Entwickler> Neue Syntax

Anzahl:

%YAML1.2 
--- 
# See http://www.sublimetext.com/docs/3/syntax.html 
name: JavaScript NG 
file_extensions: 
    - js 
    - ng.js 
scope: source.js.ng 
contexts: 
    main: 
    - match: "" 
     push: scope:source.js 
     with_prototype: 
     - match: '`' 
     push: 
      - meta_content_scope: text.html.basic.embedded.js 
      - include: 'scope:text.html.basic' 
      - match: '`' 
      pop: true 

und speichern es ist Javascript-NG.sublime-Syntax

Es gibt auch eine offene Github Ausgabe dazu:

https://github.com/sublimehq/Packages/issues/179

+0

ich auf diesen Artikel kam vor der Veröffentlichung die Frage. es hat keine Hervorhebung gemacht. Nach dem Laden der Syntax ist alles gleich. Ich habe versucht, erhaben zu sein, aber nichts ist passiert. –

+1

Ich habe es funktioniert nach der Auswahl von 'Javascript NG' aus Ansicht -> Syntax -> 'Javascript NG' –

+0

Ich erstellte einen Dateinamen JavaScript-NGlime-Syntax, fügte den Inhalt in dieser Antwort, gespeichert es in Pakete> Benutzer . der Neustart erhaben. Aber ich konnte die Syntax nicht erhaben aktivieren. –

2

Hier ist eine schnelle Lösung, die Verwendung der installierten TypeScript Paket und seine bestehenden Hervorhebungsdefinition macht noch:

  1. Öffnen Sie ein Typoskript-Datei (mit Ihrer installierten Typoskript Syntax-Hervorhebung)

  2. Wählen Tools> Entwickler > neue Syntax von Typescript.tmLanguage eine neue Syntax Definitionsdatei auf dem bestehenden

  3. Finden Sie dieBasis erstellenKontext (ctrl + f für string.template.ts) und eine für 'scope:text.html.basic' zum push umfassen hinzuzufügen, wie in der angegeben kommentierten Zeile unter:

    %YAML 1.2 
    --- 
    # http://www.sublimetext.com/docs/3/syntax.html 
    name: TypeScript + HTML # <-- renaming is optional 
    
        # ... 
    
        template: 
        - match: "([_$[:alpha:]][_$[:alnum:]]*)?(`)" 
         captures: 
         1: entity.name.function.tagged-template.ts 
         2: punctuation.definition.string.template.begin.ts 
         push: 
         - meta_scope: string.template.ts 
         - match: "`" 
          captures: 
          0: punctuation.definition.string.template.end.ts 
          pop: true 
         - include: template-substitution-element 
         - include: string-character-escape 
         - include: 'scope:text.html.basic' # <-- !! only add this line !! 
        template-substitution-element: 
    
        # ... 
    

    fakultativer Schritt:
    Ändern der name Eigenschaft am Anfang der Datei zu etwas wie TypeScript + HTML zu leicht finden und wählen Sie es in der Syntax Liste später

  4. Speichern Sie die Datei mit einem .sublime-syntax Datei-Endung

  5. Restart Sublime Text und Ihre neue Syntax zu einer Typoskript Datei markieren, gelten:

    Screenshot of HTML syntax highlighting inside Angular template string within a TypeScript file

+0

Ansicht> Syntax> Öffnen Sie alle mit der aktuellen Erweiterung als> TypeScript + HTML :) – Luckylooke