2015-05-15 3 views
56

Ich verwende Visual Studio Code auf einem Mac, um auf Node.js-Anwendungen zu arbeiten.Gibt es eine Möglichkeit, Visual Studio Code HTML-Syntax in EJS-Dateien erkennen zu lassen

Gibt es eine Möglichkeit, Visual Studio Code EJS-Dateien als HTML-Markup zu erkennen? Ich habe in den Benutzereinstellungen keine Datei/Schema-Zuordnung gesehen.

+0

Ärgerlicher scheint dies nur zu tun, was Sie (und ich) brauchen, aber es gibt keine entsprechenden Ordner für HTML: http://stackoverflow.com/questions/29956304/is-it-possible-to -associate-a-given-Sprache-mit-einer-Datei-Erweiterung-in-vscode – mutex

Antwort

94

Eigentlich können Sie.

Als Andre weist darauf hin, jetzt können Sie dies im Arbeitsbereich settings.Go zu Visual Studio-Code Einstellungen: File >> Preferences >> User Settings

// Place your settings in this file to overwrite the default settings 
 
{     
 
// Configure file associations to languages (e.g. "*.extension": "html"). These have precedence over the default associations of the languages installed. 
 
    "files.associations": {"*.ejs": "html"}  
 
}

Klicken Sie auf den 'Plain Text' auf den Registerkarte unterer Rand des Fensters VS-Code und es HTML, Screenshot unten ändern:

enter image description here

+8

Gibt es eine Möglichkeit, diesen Standard zu machen? Ich meine, das funktioniert für eine Datei. Wenn ich andere .ejs-Dateien öffne, werden sie immer noch als einfacher Text betrachtet. – Kurotsuki

+1

@Kurotsuki überprüfe meinen Kommentar http://Stackoverflow.com/questions/30264197/is-there-a-way-to-make-visual-studio-code-recognite-html-syntax-in-ejs-files#comment- 55381824 zur dauerhaften Behandlung von .ejs als HTML-Sprachmodus. – vincent

+0

Es gibt jetzt eine Erweiterung zur Unterstützung.ejs syntax highlighting, siehe die Antwort von @pablovilas –

0

In Visual Studio 2015 Gemeinschaft konnte ich die ejs Erweiterung mit dem HTML-Editor assoziieren:

Extras> Optionen> Texteditor> Dateierweiterung

"ejs" in der Verlängerung ein. Wählen Sie "HTML-Editor" aus der Dropdown-Auswahl. Klicken Sie auf Hinzufügen. OK klicken.

Wenn Sie eine EJS-Datei geöffnet haben, schließen Sie sie und öffnen Sie sie erneut.

+1

Die Frage erwähnt VS-Code, nicht Visual Studio. VS Code verfügt über kein Menü Extras. – noob

+1

In dieser Frage ist bei der Suche nach dieser Option in Visual Studio gestolpert. Danke BDH. – Antoni

+0

heirate mich. Ich suche seit Stunden – Anaryl

20

die Richtungen Nach von documentation gegeben änderte ich diese Datei c: \ Program Files (x86) \ Microsoft VS-Code \ resources \ app \ extensions \ html \ package.json so sieht es wie folgt aus:

{ 
    "name": "html", 
    "version": "0.1.0", 
    "publisher": "vscode", 
    "engines": { "vscode": "*" }, 
    "extensionDependencies": [ 
        "html" 
       ], 
    "contributes": { 
     "languages": [{ 
      "id": "html", 
      "aliases": ["ejs"], 
      "extensions": [".ejs"] 
     }] 
    } 
} 

versuchte .. funktioniert für mich ..zu faul, einen neuen Ordner an atm

+1

Ich benutze Mac OSX und das hat auch für mich funktioniert. Ich ging zu '/ Anwendungen/Visual \ Studio \ Code.app/Contents/Resources/app/Erweiterungen/html/package.json'. Sie können den Pfad kopieren und in Ihren Finder einfügen -> Gehe zu Ordner. Was ich eigentlich bin, um in den Ordner Anwendungen zu gehen, klicken Sie mit der rechten Maustaste auf Visual Studio Code und dann Paketinhalt anzeigen – vincent

+1

Diese Lösung funktionierte für mich, aber es ist nicht die optimale Lösung, da wir die Änderung nach einem Update auf diese Erweiterung erneut durchführen müssen. – Justin3o9

1

Die neue Version zu erstellen, ermöglichen es uns, fügen Sie Textmate-Schnipsel:
https://code.visualstudio.com/updates#_add-textmate-snippets
vielleicht können wir diese für ejs Unterstützung hinzufügen:
https://github.com/gregory-m/ejs-tmbundle/blob/master/Syntaxes/JavaScript%20Template.tmLanguage

+4

Während diese Links mit der Frage verwandt sein können, ist es immer besser, wichtige Teile der Antwort hier einzubeziehen und dann einen Referenzlink hinzuzufügen. Link-Only-Antworten werden ungültig, wenn sich die verlinkten Seiten im Laufe der Zeit ändern. –

6

Suchen Sie die html Erweiterung in VSCode extensions Ordner:

../app/extensions/html

dass auf MacOS X ist

/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/html

und unter Windows ist

c:\Program Files(x86)\Microsoft VS Code\resources\app\extensions\html\package.json

Jetzt package.json Hinzufügen .ejs die extensions Array nur die Datei bearbeiten:

{ 
     "name": "html", 
     "version": "0.1.0", 
     "publisher": "vscode", 
     "engines": { "vscode": "*" }, 
     "contributes": { 
       "languages": [{ 
         "id": "html", 
         "extensions": [ ".html", ".htm", ".shtml", ".mdoc", ".jsp", ".asp", ".aspx", ".jshtm", ".ejs" ], 
         "aliases": [ "HTML", "htm", "html", "xhtml" ], 
         "mimetypes": ["text/html", "text/x-jshtm", "text/template", "text/ng-template"] 
       }], 
       "grammars": [{ 
         /* "language": "html", not yet enabled*/ 
         "scopeName": "text.html.basic", 
         "path": "./syntaxes/HTML.plist" 
       }] 
     } 

} 

By the way, die richtige Art und Weise sollte es sein ein ejsextension in der erstellen extensions Ordner und dann fügte hinzu:

ejs/ 
ejs/package.json 
ejs/snippet/ 
ejs/snippet/ejs.json 
ejs/syntaxes/ 
ejs/syntaxes/EJS.plist 

Natürlich sollte die EJS Syntax/Grammatik haben, aber wir können einfach duplizieren Sie die html ein, so aus dem Erweiterungsordner:

cd html/ 
cp -r * ../ejs/ 

Die package.json dann könnte sein wie

{ 
     "name": "ejs", 
     "version": "0.1.0", 
     "publisher": "vscode", 
     "engines": { "vscode": "*" }, 
     "contributes": { 
       "languages": [{ 
         "id": "ejs", 
         "extensions": [ ".ejs" ], 
         "aliases": [ "EJS", "ejs" ], 
         "mimetypes": ["text/html", "text/x-jshtm", "text/template", "text/ng-template"] 
       }], 
       "grammars": [{ 
         "scopeName": "text.html.basic", 
         "path": "./syntaxes/EJS.plist" 
       }] 
     } 

} 

so syntaxes/HTML.plist nur syntaxes/EJS.plist kopiert ändern.

Starten Sie dann VSCode neu.

+0

Dies ist der richtige Weg – Schpaencoder

+0

Es gibt jetzt eine Erweiterung, um .ejs Syntaxhervorhebung zu unterstützen, siehe die Antwort von @pablovilas –

62

Gehen Sie zu Visual Studio Code Settings. Datei >> Einstellungen >> Benutzereinstellungen

Fügen Sie diese Zeile in die Datei settings.json ein.

// Place your settings in this file to overwrite the default settings 
{     
    // Configure file associations to languages (e.g. "*.extension": "html"). These have precedence over the default associations of the languages installed. 
    "files.associations": {"*.ejs": "html"}  
} 

Visual Studio-Code neu starten.

+2

Dies sollte die richtige Antwort sein. Einfachste Lösung! – NinjaFart

+2

aber verlieren wir nicht ejs (Javascript) -Syntax in ejs htmlized-Dateien? –

+0

Es gibt jetzt eine Erweiterung, um .ejs Syntaxhervorhebung zu unterstützen, siehe die Antwort von @pablovilas –

23

Es gibt eine Erweiterung für .ejs-Unterstützung. Starten Sie VS Code Quick Open (Strg + P), fügen Sie den folgenden Befehl ein und geben Sie Enter ein.

ext install ejs-language-support 
+0

scheint nicht mit der VSCode-Version zu arbeiten, die ich verwende (1.6) – Amnon

+1

Dies sollte als die beste Antwort jetzt markiert werden. funktioniert gut ab v1.7 –

Verwandte Themen