Visual Studio代码:将其他扩展名视为HTML

时间:2015-06-04 23:52:35

标签: visual-studio-code

出于语法高亮和着色以及智能感知的目的,可以将其他扩展(tpl,master等)视为HTML吗?

我知道有可能在逐个文件的基础上按CTRL + SHIFT + P并选择“更改语言模式”但我希望它能够解决文件扩展问题,而不必每次打开新文件时重做它。

我也知道通过编辑插件目录中的json文件可以使用某些语言,但似乎没有一个用于HTML。

4 个答案:

答案 0 :(得分:46)

VS Code 1.0的更新:

可以使用设置files.associations将文件模式分配给语言。例如:

"files.associations": {
  "*.tpl": "html",
  "*.master": "html"
}

上一个回答:

这是一个常见的功能请求,我们将来会研究这个问题。

如果您现在需要解决方案,请采取解决方法:

  • 关闭VS Code
  • 打开C:\Users\<your name>\AppData\Local\Code\app-<latest-version>\resources\app\server\lib\mime.js
  • 找到对象文字knownTextMimes
  • 为您要添加适当的mime类型的文件扩展名
  • 例如'.tpl': 'text/html'
  • 保存并重新启动代码

注意:此更改不会在自动更新后继续存在,但希望在将来的更新中有更好的解决方案:)

答案 1 :(得分:1)

  1. 右键单击以管理员身份运行,以管理员身份打开记事本(以防万一)。
  2. 点击文件=&gt; open =&gt;复制并粘贴C:\ Program Files(x86)\ Microsoft VS Code \ resources \ app \ extensions \ html in box。
  3. 选择查看右下角的所有文件类型。
  4. 打开package.json
  5. 复制并粘贴

    {
    "name": "html",
    "version": "0.1.0",
    "publisher": "vscode",
    "engines": { "vscode": "*" },
    "extensionDependencies": [
                     "html"
                ],
    "contributes": {
        "languages": [{
            "id": "html",
            "aliases": ["pd"],
            "extensions": [".pd"]
        }]
      }
    } 
    
  6. 用那个替换一切。 保存并退出 重启vs代码。

答案 2 :(得分:0)

我解决了安装Smarty Extension 1.1.1并将此设置添加到Settings.json中的问题

"files.associations": {
"*.tpl": "smarty",
"*.master": "smarty"
}

答案 3 :(得分:-1)

杰西的回答是正确的。我没有足够的声誉来评论他的答案,但Mac用户的路径是:

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

请注意,已经有一些扩展,所以不要复制和粘贴代码片段,只需添加您喜欢的扩展名和别名数组扩展名,如下所示:

{
    "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", "ejs" ],
            "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"
        }]
    },
    "extensionDependencies": [
                "html"
    ]
}