Answers:
在Visual Studio Code中,您可以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+ Shift+ p,然后键入settings JSON
。选择“偏好设置:打开设置(JSON)”以打开您的settings.json
。
此Files: Associations
功能最初是在Visual Studio Code版本1.0(2016年3月)中引入的。检查发行说明中的可用通配符模式以及文档中的已知语言字符串。
.editorconfig
关闭文件,或者在VSCode和之间对齐配置.editorconfig
,后者将优先处理
${projectdir}/.vscode/settings.json
文件中。
按住Ctrl + Shift + P(在Mac上为cmd),选择“更改语言模式”即可。
但是我仍然找不到一种方法来制作具有某些特定语言的特定扩展名的VS Code识别文件。
Change Language Mode
;Alt+K, M
Cmd+K, M
对于Mac。
对于全局关联,我找到的最简单的方法就是将ctrl + km(或ctrl + shift + p并键入“更改语言模式”)与您正在关联的类型的文件打开。
在第一个选择中,将是“为'x'配置文件关联”(无论文件类型-参见附件),选择此项将使文件类型关联永久
自从最初的问题和接受的答案(我不知道何时更改)以来,这可能已经改变(可能已经改变),但是它比接受的答案和其他一些答案中的手动编辑步骤容易得多,并且完全避免了带有可能不太明显的ID的音乐。
settings.json
文件时,尚不清楚扩展名应该是什么,但是这种方法对它进行了排序!
例如:
// .vscode/settings.json in workspace
{
"files.associations": {
"*Container.js": "javascriptreact",
"**/components/*/*.js": "javascriptreact",
"**/config/routes.js": "javascriptreact"
}
}
"**/layouts/**/*.html": "erb"
-值得注意的是VSCode“语言模式”下拉列表在方括号中显示了语法荧光笔的实际名称,例如Ruby ERB (erb)
我在这里找到解决方案: https //code.visualstudio.com/docs/customization/colorizer
去VS_CODE_FOLDER/resources/app/extensions/
那里更新package.json
遵循https://code.visualstudio.com/docs/customization/colorizer#_common-questions上的步骤对 我来说效果很好:
要扩展现有的着色器,您可以在.vscode / extensions下的新文件夹中创建一个简单的package.json,并提供extensionDependencies属性,该属性指定要添加的自定义项。在下面的示例中,扩展名.mmd被添加到markdown着色器中。请注意,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"]
}]
}
}
我采用了不同的方法来解决几乎相同的问题,在我的情况下,我做了一个新扩展,增加了对Drupal特定文件(例如.module和.inc)的PHP语法突出显示支持: https://github.com。 com / mastazi / VS-code-drupal
如您在代码中所见,我创建了一个新扩展而不是修改现有的PHP扩展。显然,我在Drupal扩展中声明了对PHP扩展的依赖。
这样做的好处是,如果PHP扩展有更新,则我对Drupal的自定义支持不会在更新过程中丢失。