簡體   English   中英

Visual Studio Code 無法識別 EJS

[英]Visual Studio Code isn't recognising EJS

我正在嘗試遵循本教程並在 VS Code 中用 EJS 編寫一些代碼。 我按照視頻的說明運行npm i express ejs來安裝 Express 和 EJS,並且控制台中沒有彈出錯誤。 但是,在右下角(在藍色條中)它仍然顯示 HTML,當我單擊它更改語言時,EJS 不會出現在列表中。

我在這里錯過了什么嗎? 我還有另一個步驟嗎? 任何幫助將不勝感激。

默認情況下,VSCode 沒有 EJS 模板文件的語法高亮。 你需要安裝一個像這樣的插件——EJS 語言支持

您還需要為.ejs文件配置文件關聯。 為此,請鍵入以下命令(使用CTRL + SHIFT + P ) - Change language mode ,然后選擇Configure file association for .ejs ,然后從下拉列表中選擇HTML

工作解決方案(2021 年 9 月)

  1. 安裝EJS 語言支持vscode 擴展
  1. 並將這些設置添加到 VScode,

     "files.associations": { "*.ejs": "html" }, "emmet.includeLanguages": { "ejs": "html", }, "html.format.templating": true

玩得開心😎

最后,我找到了這個問題的原因。

首先,我安裝了EJS 語言支持擴展,然后通過添加以下行來編輯 settings.json:

"files.associations": {
    "*.ejs": "html"
},
"emmet.includeLanguages": {
    "ejs": "html"
}

我做了所有這些,但我的 ejs 代碼仍然無法識別。

在此處輸入圖像描述


過了一會兒,我發現在我的例子中負責的是HTMLHint擴展(Mike Kaufman)。

因此,我成功應用了以下兩種解決方案之一:

  • 卸載“HTMLHint”。
  • 通過添加以下內容來編輯 settings.json:

"htmlhint.options": {
    "spec-char-escape": false,
    "doctype-first": false
}

在此處輸入圖像描述

注意:我終於卸載了 EJS 語言支持擴展。

VS Code 沒有為 EJS 預裝語法。 您必須為它下載擴展插件。 嘗試使用以下鏈接:

或者在 VS Code 終端中輸入以下命令:

ext install DigitalBrainstem.javascript-ejs-support

我找到了解決方案(如何設置 VSCode,沒有問題):

  1. 安裝EJS language support插件
  2. 現在你有了 ejs 支持、突出顯示和片段,但是一些標簽像
<? for( let item of array ) { ?>
(some data)
<? } ?>

格式不正確(至少使用默認的 html 格式化程序)。

  1. 要解決此問題,您可以嘗試將自定義分隔符設置為“?” ejs.delimeter = '?' . 現在你有了正確的縮進<? ... ?> <? ... ?>標簽。
  2. 要將片段與我們的自定義分隔符一起使用,您需要編輯擴展片段(或添加您自己的片段):安裝Snippets Ranger插件,然后找到所需的擴展並編輯其文件。 Snippets Ranger是非常方便的工具。
  3. 如果由於某種原因,您仍然沒有所需的內容,請嘗試將文件關聯配置為 html: Ctrl+Shift+P => Change language mode => 設置HTML

我希望我幫助某人為 .ejs 文件設置 VSCode

對我有用的是,我遵循了上面 Al Mahdi 顯示的確切設置; 但我沒有選擇將文件更改為 ejs。 所以我所做的就是將 VS 代碼中資源管理器選項卡中的文件重命名為位於視圖文件夾中的“filename.ejs”(不確定您是否執行了此步驟)。 然后一切對我來說都很好。

在此處輸入圖像描述 "

文件夾鏈接,不是文件鏈接

我承認我在資源管理器側邊欄中太快地點擊了一個文件夾鏈接,比如“views\pages\index.esj”,所以請確保您創建的是文件,而不是文件夾:)

  1. 前往https://marketplace.visualstudio.com/items?itemName=DigitalBrainstem.javascript-ejs-support並安裝 EJS 語言支持

  2. 點擊ctr + shift + p並搜索settings.json

  3. 過去這個:

"emmet.includeLanguages": {
  "ejs": "html"
},
"html.format.templating": true
  1. 確保您的代碼中沒有錯誤或拼寫錯誤

  2. 重新加載你的窗戶和繁榮! 錯誤已解決! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM