VS代码中的EJS格式

时间:2017-07-12 23:31:41

标签: formatting visual-studio-code ejs

目前,当我在EJS文件中时,我无法自动格式化代码,没有自动缩进功能。当我将右下方的文件类型更改为HTML时,它认为标记无效并且中断。有没有人有建议?

9 个答案:

答案 0 :(得分:2)

您是否尝试过安装ejs plugin

只需按 ctrl + p 并输入以下命令并安装插件:

ext install ejs-language-support 

之后你应该没事:)

答案 1 :(得分:2)

建议保留HTML格式化程序(或使用.html之类的.ejs)并添加到您的设置中: "html.format.unformatted": "wbr,%"

之后,缩进功能不完全正常,但更好......

答案 2 :(得分:2)

找到这篇文章,介绍如何为EJS设置自动格式。它远非完美,因为你必须放弃被<% -code %>着色,而是显示为纯文本。此外,它将这些代码标记视为标准标记,因此它将标记在以下标记上,但它总比没有好。 - &GT; https://www.slightedgecoder.com/2018/01/18/formatting-ejs-file-vs-code-visual-studio-code/

您可以做的一件事是在编辑器中来回切换,以便将文档视为EJS或HTML。因此,如果您需要格式化,只需跳转到HTML和格式,然后跳回到EJS。

答案 3 :(得分:1)

尝试更新VS代码下的设置。

  

设置>扩展> Emmet:包含语言>在settings.json中编辑

然后添加:

"emmet.includeLanguages": {
      "ejs":"html"
}

答案 4 :(得分:0)

Follow this blog,此博客建议

  1. 在VS Code中将“ ejs”映射为“ html”
  2. 为“ ejs”使用默认的“ html” VS代码重新格式化

因此,您无需下载任何扩展程序。

答案 5 :(得分:0)

与其他用户一样,我的.ejs文件也使用'html'语言模式:

选择语言模式(您将在vscode窗口的底部栏中看到语言标识符:即HTML,嵌入式JS,Python等)

这将打开一个窗口,用于搜索要用于文件的其他语言设置。 在下面选择一个选项,或选择“配置基于HTML的设置”,然后将文件关联手动添加到html:

    {
        "git.ignoreMissingGitWarning": true,
        "[html]": {},
        "[ejs]": {},
        "files.associations": {
            "*.ejs": "html"
        },
     }

这是使这种显示javascript格式的诀窍:在EJS文件中,包括带有javascript标记的注释,并且HTML格式化程序现在可以完美显示JS格式!例如:

/*
<script>
*/
write your javascript code here...
    var srcElem = "<div>something cool goes here</div>"; 
    var id = "";

    function init() {
      //do more javascript stuff here
    }

/*
</script>
*/

答案 6 :(得分:0)

当您在ejs文件中编写javascript代码时,自动格式化会在“ <%”之后添加一个空格,这会破坏代码

示例:<%- code %>将被格式化为<% - code%>并破坏代码

要解决此问题,请将此行添加到settings.json "javascript.format.insertSpaceBeforeAndAfterBinaryOperators": false

请注意,它还会删除数学运算符和二进制运算符<>|=/*-+%

之间的空格

答案 7 :(得分:0)

您可以尝试在 VS Code 中使用 Beautify 扩展 并将以下代码包含在位于 C:\Users\hp\AppData\Roaming\Code\User

settings.json 文件中
"[html]": {        
    "editor.defaultFormatter": "HookyQR.beautify"  
 },
"beautify.language": {
    "html": ["ejs", "html"],
    "css": [],
    "js": [],
 }

答案 8 :(得分:0)

我将 EJS tags 添加到 default list VSCode uses 到我的 settings.json,它不会在不破坏其他 html 代码(如 spans)的情况下格式化任何 ejs 标签。< /p>

"html.format.unformatted": "%,%_,%=,%-,%#,%%,-%,_%,a,abbr,area,audio,b,bdi,bdo,br,button,canvas,cite,code,data,datalist,del,dfn,em,embed,i,iframe,img,input,ins,kbd,label,link,map,mark,math,meta,meter,noscript,object,output,picture,progress,q,ruby,s,samp,script,select,slot,small,span,strong,sub,sup,svg,template,textarea,time,u,var,video,wbr"