HTML Visual Studio 2019 Enterprise 中的自动完成(或 Emmet 或 ZenCoding)在编辑 JSX 时不起作用。 (不是 VS 代码)

HTML Autocomplete (or Emmet or ZenCoding) in Visual Studio 2019 Enterprise does not work when editing JSX. (NOT VS Code)

我正在使用 Visual Studio 2019 Enterprise,在 HTML 文件中,“emmet”功能运行良好。

但是在React项目中,当我想写JSX代码时却不行

有解决办法吗?

是的,有解决办法。

解决方案是在 emmet 扩展中包含 javascriptReact 语言。

这是在 'setting.json' 文件中完成的,

然后添加以下代码。

  -----previous setting--- ,
"emmet.includeLanguages": {
    "javascript": "javascriptreact"
}

不要忘记前面设置前的逗号(,)。

假设您正在使用 Visual Studio 扩展,例如 ZenCoding, there isn't much you can do. That extension registers its commands to run on certain 文档类型 - 或者 VS 术语中的内容类型(在这种情况下,HTML 和 HTMLX分别用于 ASPX 和 HTML 编辑器)。然而,JSX 文件使用 TypeScript 内容类型,因此永远不会在 JSX 文档上调用 ZenCoding 扩展。

一个可能的选择是构建您自己的扩展副本,添加适当的内容类型。 (注意:您可能还需要修改代码的其他部分,例如 this method。)

我遇到了同样的问题。 Zen 编码在 React 项目之外的任何地方都有效。

第一个解法:

我将文件格式从 js 更改为 jsx,它解决了我的问题。

第二种解法:

如果您不想更改格式,请将文件语言模式更改为 jsx。点击右下角:

In Html file in Visual Studio 2019 or 2022 Preview 右键-> insert Snippet->html5

与 VS Code 中的 Emmet 做同样的事情。