我在Mac上使用Visual Studio代碼來處理Node.js應用程序。有沒有辦法讓Visual Studio代碼識別EJS文件中的HTML語法
有沒有辦法讓Visual Studio Code將EJS文件識別爲HTML標記?我沒有在用戶偏好中看到任何文件/方案關聯。
我在Mac上使用Visual Studio代碼來處理Node.js應用程序。有沒有辦法讓Visual Studio代碼識別EJS文件中的HTML語法
有沒有辦法讓Visual Studio Code將EJS文件識別爲HTML標記?我沒有在用戶偏好中看到任何文件/方案關聯。
其實,你可以。在「純文本」選項卡上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"}
}
點擊:
安德烈指出,現在你可以在工作區中設定]中到Visual Studio代碼設置做到這一點VS Code窗口底部並將其更改爲HTML
,屏幕截圖如下:
有沒有什麼辦法可以使這個默認?我的意思是,這適用於一個文件。當我打開其他.ejs文件時,它仍將它們視爲純文本。 – Kurotsuki
@Kurotsuki查看我的評論http://stackoverflow.com/questions/30264197/is-there-a-way-to-make-visual-studio-code-recognize-html-syntax-in-ejs-files#comment- 55381824關於如何將.ejs作爲html語言模式進行永久對待。 – vincent
現在有一個擴展支持。ejs語法高亮顯示,請參閱@pablovilas –
繼documentation 發出的指示我改變了這個文件C:\ Program Files文件(x86)的\微軟VS代碼\資源\程序\分機\ HTML \的package.json 所以它看起來是這樣的:
{
"name": "html",
"version": "0.1.0",
"publisher": "vscode",
"engines": { "vscode": "*" },
"extensionDependencies": [
"html"
],
"contributes": {
"languages": [{
"id": "html",
"aliases": ["ejs"],
"extensions": [".ejs"]
}]
}
}
tried..works for me ..懶得創建一個新的文件夾ATM
的新版本,讓我們添加TextMate的片段:
https://code.visualstudio.com/updates#_add-textmate-snippets
也許我們可以添加這一個EJS支持:
https://github.com/gregory-m/ejs-tmbundle/blob/master/Syntaxes/JavaScript%20Template.tmLanguage
雖然這些鏈接可能與問題有關,但最好在這裏包含重要的答案部分,然後添加參考鏈接。鏈接頁面隨時間變化時,僅鏈接答案將失效。 –
找到html
擴展在VSCode extensions
文件夾:
../app/extensions/html
即在MacOS X爲
/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/html
和Windows是
c:\Program Files(x86)\Microsoft VS Code\resources\app\extensions\html\package.json
現在編輯文件package.json
加入.ejs
只有extensions
陣列:
{
"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"
}]
}
}
順便說一句,正確的做法應該是創建一個ejs
extension
在extensions
文件夾,然後補充說:
ejs/
ejs/package.json
ejs/snippet/
ejs/snippet/ejs.json
ejs/syntaxes/
ejs/syntaxes/EJS.plist
當然,這應該有EJS語法/語法,但我們可以簡單地從擴展文件夾複製HTML之一,所以:
cd html/
cp -r * ../ejs/
的package.json
然後才能像
{
"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"
}]
}
}
所以更改syntaxes/HTML.plist
剛剛複製到syntaxes/EJS.plist
。
然後重新啓動VSCode。
這是正確的方法 – Schpaencoder
現在有一個支持.ejs語法高亮顯示的擴展,請參閱@pablovilas的答案 –
轉到Visual Studio代碼設置。 文件>>首選項>>用戶設置
在settings.json中添加此行。
// 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代碼。
這應該是正確的答案。簡單的解決方案! – NinjaFart
,但我們不要鬆散ejs htmlized文件中的ejs(javascript)語法嗎? –
現在有一個支持.ejs語法突出顯示的擴展,請參閱@pablovilas的答案 –
有一個.ejs支持的擴展。啓動VS Code Quick Open(Ctrl + P),粘貼以下命令,然後輸入enter。
ext install ejs-language-support
似乎不適用於我使用的VSCode版本(1.6) – Amnon
現在應該將其標記爲最佳答案。從v1.7開始工作正常 –
煩人這似乎是你(和我)需要的東西,但對於HTML沒有相應的文件夾: http://stackoverflow.com/questions/29956304/is-it-possible-to -associate-a-given-language-with-a-file-extention-in-vscode – mutex