如何使VS Code处理文件扩展名作为一种特定的语言?

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

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

216822 次浏览

按住Ctrl+转变+P(或Mac上的cmd),选择“更改语言模式”;就是这样。

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

我找到了解决方案:https://code.visualstudio.com/docs/customization/colorizer

转到VS_CODE_FOLDER/resources/app/extensions/,在那里更新package.json

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

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

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

按照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"]
}]
}
}

更新

请注意,JoelAZ的回答更容易,结果在相同的设置更改!下面的答案仍然有效,只是更多的步骤&更多的麻烦。

旧的答案

Visual Studio代码中,你可以像这样为你的settings.json文件添加语言突出显示的持久文件关联:

// settings.json
// Place your settings in this file to overwrite the default settings
{
"some_setting": custom_value,
...


"files.associations": {
"*.thor": "ruby",
"*.jsx": "javascript",
"Jenkinsfile*": "groovy"
}
}

您可以使用Ctrl+转变+P(或视图 ->命令面板从菜单),然后键入settings JSON。选择首选项:打开用户设置(JSON)打开settings.json

要找到正确的语言ID,请使用Ctrl+转变+P(或视图 ->命令面板从菜单),然后键入Change Language Mode。你可以在列表中看到语言ID,例如输入docker来查找Docker文件的语言ID (dockerfile)。在上面示例的第一个条目中,.thor是文件结尾,ruby是语言ID。

Files: Associations特性在Visual Studio Code 1.0版(2016年3月)中首次引入。检查发布说明中可用的通配符模式和文档中的已知语言字符串

例如:

// .vscode/settings.json in workspace


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

例如,这将使以.variables.overrides结尾的文件被像对待任何其他LESS文件一样对待。在代码着色方面,在(自动)格式化方面。在用户设置或项目设置中定义。

 ></a></p>


<p>(语义UI使用这些奇怪的扩展,如果你想知道的话)</p></div>
                                                                            </div>
                                </div>
                            </div>
                        </div>
                                                <div class=

我发现的最简单的全局关联方法是简单地用Ctrl+k (或Ctrl+转变+P并输入“更改语言模式”)打开你要关联的类型的文件。

在第一个选项将是选项“为'x'配置文件关联”;(任何文件类型-见附图)。选择此选项可让您选择语言,然后将使文件类型关联永久保存。

enter image description here

自最初的问题和接受的答案(我不知道它什么时候改变了)以来,这可能已经改变了(可能已经改变了),但它比在接受的答案和其他一些答案中手动编辑步骤要容易得多,并且完全避免了必须混乱可能不明显的id。

这对我很有用。

enter image description here

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

您可以添加md.html扩展到您的settings.json文件关联,使markdeep文件的markdown格式如下:

    "files.associations": {
"*.md.html": "markdown"
},
settings.json文件存在于不同的位置,这取决于你的操作系统。例如,在macOS中它是~/Library/Application Support/Code/User/settings.json。 你可以在VS Code中用Ctrl+转变+p打开并编辑它

最简单的方法:

  1. 点击文件 ># EYZ1比;# EYZ2
  2. 搜索“# EYZ0"
  3. 点击“添加物品"
  4. 添加扩展 (*.ext)和首选的语言

这是所有。

enter image description here