如何使VS Code将其他文件扩展名处理为某种语言?

或者有没有办法切换当前文件的语言使用语法高亮function?

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

在Visual Studio代码中,您可以将用于语言突出显示的持久性文件关联添加到您的settings.json文件中,如下所示:

 // Place your settings in this file to overwrite the default settings { "some_setting": custom_value, ... "files.associations": { "*.thor": "ruby", "*.jsx": "javascript" } } 

您可以通过菜单打开该文件: 文件 > 首选项 > 用户设置

这个function是第一次在Visual Studio Code 1.0版中引入的(2016年3月)。 检查发行说明中的​​“ 文件到语言关联”上的相关文本。

按住Ctrl + Shift + P(或Mac上的cmd),select“更改语言模式”,就可以了。

但是我仍然无法find一种方法来将VS Code识别文件作为特定的扩展名作为某种特定的语言。

我在这里find了解决scheme: https : //code.visualstudio.com/docs/customization/colorizer

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

例如:

 // .vscode/settings.json in workspace { "files.associations": { "*Container.js": "javascriptreact", "**/components/*/*.js": "javascriptreact", "**/config/routes.js": "javascriptreact" } } 

遵循https://code.visualstudio.com/docs/customization/colorizer#_common-questions上的步骤对我来说效果很好:;

要扩展现有的着色器,您可以在.vscode / extensions下的新文件夹中创build一个简单的package.json,并提供指定要添加到的自定义的extensionDependencies属性。 在下面的例子中,一个扩展名.mmd被添加到降价颜色。 请注意,不仅必须将扩展依赖项名称与定制匹配,而且语言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-码drupal的

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

这样做的好处是,如果PHP扩展更新了,那么对Drupal的定制支持不会在更新过程中丢失。

例如,这将使文件以.variables.overrides结尾,就像其他任何LESS文件一样被处理。 就代码着色而言,就(自动)格式而言。 在用户设置或项目设置中定义,只要你喜欢。

(语义用户界面使用这些奇怪的扩展名,以防万一你想知道)

“cmd-k m”默认绑定到“workbench.action.editor.changeLanguageMode”,但我还没有find一种方法将文件扩展名自动关联到语言模式

工具 – >选项 – >文本编辑器 – >文件扩展名。 从那里你可以添加一个扩展名,并select你想被视为的已知扩展名/语言。