通过VSCode中的扩展来促进语言关联

时间:2019-03-09 08:57:15

标签: visual-studio-code vscode-extensions

如何从VSCode扩展中贡献语言关联?

settings.json中,它看起来像这样:

"files.associations": {
    "*.something": "markdown"
}

我知道可以使用vscode.languages.setTextDocumentLanguage。但是,每次activeEditor更改时,这样做似乎都是多余的,它又是一个事件侦听器。

使用API​​写入用户设置似乎也不正确。

2 个答案:

答案 0 :(得分:1)

是的,扩展程序可以提供设置via configurationDefaults。但是,我认为这不适用于files.associations设置。

您可以做的是为markdown语言添加新的文件扩展名:

"contributes": {
    "languages": [
        {
            "id": "markdown",
            "extensions": [
                "something"
            ]
        }
    ]
}

这不会取代markdown语言的先前注册,而是会与之合并。

答案 1 :(得分:0)

对您的package.json进行以下更改,我通过研究现有扩展名将其找出来。

您必须在某些内容之前添加

另请参阅: How can I write a vsc snippets extension for a language that is not listed on visual studio code

"contributes": {
    "languages": [
      {
        "id": "markdown",
        "extensions": [
          ".something"
        ],
      }
    ]
}