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

Visual Studio Code: Treat other extensions as HTML

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

我知道可以通过按 CTRL+SHIFT+P 并选择 "Change Language Mode" 逐个文件地进行,但我希望它可以处理文件扩展名,而不必每次打开文件时都重做新文件。

我也知道可以通过编辑插件目录中的 json 文件来实现某些语言,但似乎没有 HTML.

VS Code 1.0 更新:

有一个设置 files.associations 可用于将文件模式分配给语言。例如:

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

上一个回答:

这是一个常见的功能请求,我们正在研究这个问题以备将来使用。

如果您现在需要一个解决方案,作为解决方法:

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

注意:此更改不会在自动更新中保留下来,但希望在未来的更新中有更好的解决方案:)

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

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

用那个替换一切。 保存并退出 重新启动 vs 代码。

杰西的回答是正确的。我没有足够的声望点来评论他的回答,但是 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"
    ]
}

我通过安装 Smarty Extension 1.1.1 + 将此设置添加到 Settings.json

解决了我的问题
"files.associations": {
"*.tpl": "smarty",
"*.master": "smarty"
}

(在版本 1.59.1 上测试)

也可以通过 GUI 设置关联:

转到设置->文本编辑器->文件->关联。

设置项目(文件扩展名)和值(语言)。