或者有没有办法切换当前文件的语言以使用语法高亮功能?
例如,*.jsx
实际上使用JavaScript,但VS Code无法识别它。
在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月)中引入的。检查发行说明中的可用wildcard patterns和文档中的known language strings。
按住Ctrl + Shift + P(或Mac上的cmd),选择“更改语言模式”,就可以了。
但我仍然找不到一种方法来使VS Code识别具有特定扩展名的文件作为某种特定语言。
例如:
// .vscode/settings.json in workspace
{
"files.associations": {
"*Container.js": "javascriptreact",
"**/components/*/*.js": "javascriptreact",
"**/config/routes.js": "javascriptreact"
}
}
我在这里找到了解决方案: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被添加到降价着色器中。请注意,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的自定义支持不会在更新过程中丢失。