或者是否有一种方法可以切换当前文件的语言,以便正确地突出显示语法?

例如“*”。jsx实际上是JavaScript,但VS Code不识别它。


当前回答

您可以添加md.html扩展到您的设置。Json文件关联,支持markdeep文件的markdown格式,如下所示:

    "files.associations": {
        "*.md.html": "markdown"
    },

设置。json文件存在于不同的位置,这取决于您的操作系统。例如:~/Library/Application Support/Code/User/settings。json。 你可以在VS Code中用Ctrl+Shift+p打开并编辑它。

其他回答

eg:

// .vscode/settings.json in workspace

{
  "files.associations": {
    "*Container.js": "javascriptreact",
    "**/components/*/*.js": "javascriptreact",
    "**/config/routes.js": "javascriptreact"
  }
}

这对我很有用。

{
"files.associations": {"*.bitesize": "yaml"}
 }

按住Ctrl+Shift+P(或Mac上的cmd),选择“更改语言模式”,就在那里。

但是我仍然找不到一种方法使VS Code识别具有特定扩展名的文件作为某种特定的语言。

在https://code.visualstudio.com/docs/customization/colorizer#_common-questions上的步骤对我来说很有效:

要扩展现有的着色器,可以创建一个简单的 包中。在.vscode/extensions下的一个新文件夹中,并提供 extensionDependencies属性指定您想要的自定义 加到…在下面的示例中,扩展名.mmd被添加到 减价再着色。注意,不仅需要extensionDependency 名称匹配自定义而且语言id必须匹配 正在扩展的着色器的语言id。

{
    "name": "MyMarkdown",
    "version": "0.0.1",
    "engines": {
        "vscode": "0.10.x"
    },
    "publisher": "none",
    "extensionDependencies": [
        "markdown"
    ],
    "contributes": {
        "languages": [{
            "id": "markdown",
            "aliases": ["mmd"],
            "extensions": [".mmd"]
        }]
    }
}

我采用了一种不同的方法来解决几乎相同的问题,在我的例子中,我做了一个新的扩展,它添加了PHP语法突出显示对特定于drupal的文件(如.module和.inc)的支持:https://github.com/mastazi/VS-code-drupal

正如您在代码中看到的,我创建了一个新的扩展,而不是修改现有的PHP扩展。显然,我在Drupal扩展中声明了对PHP扩展的依赖。

这样做的好处是,如果PHP扩展有更新,我对Drupal的自定义支持不会在更新过程中丢失。