vscode profile.allowCompactBoolean 与 jsx 不兼容,

a0zr77ik  于 6个月前  发布在  Vscode
关注(0)|答案(4)|浏览(83)

重现步骤

  1. 点击 禁用所有已安装的扩展名 在扩展选项卡中。
  2. 重新加载窗口
  3. "emmet.preferences": {"profile.allowCompactBoolean": true} 添加到 settings.json 中。
  4. Cmd+N (新建未命名文件)
  5. 更改语言模式 - javascriptreact
  6. 输入 div[a. b.]<tab>

预期行为

<div a b></div>

实际行为

<div a="" b=""></div>

附加上下文

如果语言模式是 html,vscode 显示预期行为。
我尝试了以下设置,但没有任何变化。

"emmet.syntaxProfiles": {
    "javascript": {
      "compact_bool": true,
      "profile.allowCompactBoolean": true,
      "allowCompactBoolean": true,
    },
    "javascriptreact": {
      "compact_bool": true,
      "profile.allowCompactBoolean": true,
      "allowCompactBoolean": true,
    }
  }

当所有扩展都被禁用时,是否会出现此问题?:是

o4tp2gmn

o4tp2gmn1#

实验重复检测

感谢提交这个问题。请同时检查它是否已经被现有的一个问题涵盖,例如:

dxxyhpgq

dxxyhpgq2#

这是一个非常奇怪的问题;在上游仓库中,这里的测试通过,位于microsoft/vscode-emmet-helper@8b570ef#diff-e881c68f57b15b76cd656faeee04cc2f68f27b5fd1da92a4afdf8b89d2dc3735R151,但我仍然可以在VS Code OSS(从源代码构建)中重现这个问题。

vsmadaxz

vsmadaxz3#

已找到根本原因:'output.selfClosingStyle' 被设置为 xml 时,syntax === "jsx":
https://github.com/microsoft/vscode/blob/main/extensions/emmet/src/util.ts#L582。
我认为保持 "output.selfClosingStyle" === "xml" 是有意义的,因为jsx需要自闭合标签。
我会向emmetio/emmet提交一个问题。

x6h2sr28

x6h2sr284#

仍然没有解决:/

相关问题