一些在VSC中的Emmet缩写无法正常使用,例如'!'或使用'*'。

11

其它代码片段都可以运行,但!+tab不能。

!代码片段无法工作 在此输入图片描述

其它代码片段可以工作 在此输入图片描述

我正在使用Visual Studio Code,版本号为1.69.0。之前它是可以工作的,但我想添加一个命名为new.html的net html文件,因为我已经有了index.html。在这之后,这个脚本停止在每个HTML文件上工作,但像“a”、“div”等其他脚本依然可以工作。


VSS是什么(我打赌它不是Visual Source Safe),你能标记受影响的Visual Studio特定版本吗? - phuzi
Visual Studio Code我意思是,版本1.69.0。 - Bek
Visual Studio 1.69.0!!! 你是不是指的是 Visual Studio Code?Visual Studio 和 Visual Studio Code 是两个非常不同的东西。 - phuzi
是的,我指的是Visual Studio Code,抱歉:_) - Bek
9个回答

10
现在发布了v1.69.2恢复版本。对于我来说,html中的Emmet现在正常工作。

看起来它将被包含在“恢复”版本中,请参见此处。不知道何时会发布到稳定版本(可能是v1.69.2)。目前已发布v1.69.2.1版本,但未修复该问题。

然而,它已经被修复,请参见此处,并且应该在明天(07/13/2022)的Insiders Build中出现。

测试最新的Insiders版本:!现在可以正常工作。 ul>li*3类型扩展也是如此(虽然这对我来说从未停止过工作,但其他地方也有报告)。应该很快就会在v1.69.2版本中发布。

在v1.69版本中存在已知问题,详见HTML Emmet建议不会自动显示https://github.com/microsoft/vscode/issues/154517。许多GitHub上的问题涉及!*无法正常工作。

因此,在键入!时,Emmet代码段将不会自动出现,但您可以按下Ctrl/Cmd+Space(该命令为触发建议)来使其出现并正常选择。

尝试使用Ctrl/Cmd+Space解决与Emmet相关的任何未在vscode v1.69中正常工作的问题。

您也可以回到v1.68版本以解决此问题。


5
尝试使用"doc"而不是"!""doc" 对我有效。

你的回答可以通过添加更多支持信息来改进。请[编辑]以添加进一步的细节,例如引用或文档,以便他人确认您的回答是正确的。您可以在帮助中心找到有关如何编写好的答案的更多信息。 - Community

3
在Windows 10上,我成功地使用了以下方法:
  1. 打开“设置”,在搜索框中输入“emmet.trigger”
  2. 将会出现“Emmet:Trigger Expansion On Tab”的复选框 勾选此复选框以允许Emmet触发Tab扩展
这样做后,!+TAB以及任何类型的乘数(例如li*4+TAB)都能正常工作。

2

要使用按下TAB键来使用emmet缩写,请勾选此选项或在settings.json中输入"emmet.triggerExpansionOnTab": true。我发现以下内容无法正常工作:

  • !、lorem、>和。 用法示例:ul>li,li3,ul>li*3

它们都没有显示emmet的预览,并且您不能在没有启用上述选项的情况下按下TAB键使用它们。即使勾选了该选项,您也无法看到预览,需要自己知道它们并按下TAB键,尽管没有任何显示是emmet缩写。

您还可以使用CTRL + SPACE。

操作系统为Windows 11 Pro,版本号为21H2。

VSCODE版本为1.69.0。


我在评论中找到了上面的答案,它有效了,希望对你也有用。 - user19359397
这对我不起作用。 - Mark

2
这个方法帮助我解决了问题(1.79.2版本):打开你的JSON设置(在Mac上,按下cmd + shift + p,然后输入“Preferences: Open User Settings JSON”),确保以下内容存在:
"emmet.triggerExpansionOnTab": true,
"emmet.showSuggestionsAsSnippets": true,
"emmet.showExpandedAbbreviation": "always",
"files.associations": {
    "*html": "html",
    "*njk": "html"
},
"emmet.useInlineCompletions": true,
"emmet.optimizeStylesheetParsing": false,
"emmet.includeLanguages": {
    "javascript": "javascriptreact",
    "typescript": "typescriptreact",
    "vue-html": "html",
    "vue": "html",
    "razor": "html",
    "plaintext": "pug",
    "django-html": "html"
},

重新启动VSC应该就可以正常工作了。或者,在扩展选项卡中,您可以输入“@builtin emmet”来确保扩展已启用。

1

我也遇到了感叹号无法使用的问题。我找到了另一个快捷方式,可以完成相同的操作:输入html:5,然后按回车键。


1
看起来是一个bug,我也遇到了1.69.1的同样问题,VSC团队已经意识到并正在修复。应该很快会在下一个版本中修复。 与此同时,您可以使用HTML:5doc 同时使用"HTML:5" 在此输入图像描述 或者使用"doc" 在此输入图像描述

0

虽然@Mark的答案可行,但另一个解决方法是使用html:5片段,在v1.69中仍按预期工作。


0

是的,自从最新更新以来我也遇到了这个问题。

不过我找到了一个解决方案: 在设置中搜索“emmet”,勾选“Emmet: Use Inline Completions”。 现在你可以看到建议并通过按Tab键选择它。

这是我目前找到的解决方案,但希望我们能恢复到之前的版本。


这种方式有点奏效——内联建议确实有效,但与常规建议不同。例如,您应该能够输入 ! 并看到至少2个建议 !!!,它们提供不同的输入。虽然启用内联完成会显示第一个内联建议(但不显示建议列表),但您无法知道还有另一个建议 !! 可能存在。因此,启用内联完成是部分解决方法,但不是真正的解决方法。 - Mark
是的,你说得对@Mark。我也在等待能够自动显示双感叹号的永久解决方案! - HAMZA IMRAN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接