无法为 HTML 文件中 type="text/jsx" 的脚本标记获取正确的语言模式/IntelliSense

Mit*_*tch 3 html javascript jsx babeljs visual-studio-code

我有最新版本的 Visual Studio Code (1.75.1)。我使用“Solarized Dark”颜色主题。

我有一个 html 文件,标签内有 React Javascript 代码。

如果我将语言选择保留为“HTML”,它不会为脚本标签内的任何内容着色: 在此输入图像描述

如果我使用“JavaScript React”或“Babel Javascript”作为语言模式,我会得到不是错误的错误突出显示,并且智能感知效果不佳: 在此输入图像描述

我尝试将主题更改为 Dark+,但也没有什么区别。

为什么会出现这种情况?

sta*_*all 6

这是因为您将type脚本标记中的属性设置为"text/jsx"(本质上没有问题)。

目前(在撰写本文时,v1.75),VS Code 仅支持没有type属性、或type="module"type="text/javascript"、 或type="application/javascript"type="text/babel"类似属性的脚本标签的 JavaScript 智能感知。

type="text/jsx"目前不支持,但type="text/babel"似乎支持 JSX。

VS Code GitHub 存储库上报告了两个与此相关的问题:语法突出显示不适用于“text/jsx”脚本标记 #150171语法突出显示 text/jsx #145992。在这两篇文章中,回购维护者都评论说,报告问题的正确位置是https://github.com/textmate/html.tmbundle/issues,现已完成:Syntax for text/jsx inside HTML #119注意:请考虑不要在评论中评论“我也是”。我不能代表该存储库的维护者说话,但对于许多项目维护者来说,此类评论往往会让人厌烦,除非评论者实际上也自愿提供帮助。如果您不想花费精力来帮助实现该功能,您可以竖起大拇指。

为了您的谷歌学习技能,这是我为找到这些内容而进行的谷歌搜索查询:vscode issues html script jsx

相关:如何在 HTML 中启用 JavaScript 的 IntelliSense?