解决VS Code中Emmet "!" 快捷键失效问题

说白了,就是Emmet的“!”的问题。
VSCode 中的热键错误在 1 .6 9 .0 版本中很常见。
其实很简单。
这是因为该版本存在错误。
输入“!”后如果按 Tab 或 Enter 键,则不起作用。
我们先来说说最重要的事情。
如果你正好使用这个版本,可以使用“:5 ”代替,这样就可以快速生成HTML5 骨架结构。
还有一点,这个方法适用于所有VSCode版本,尤其是有bug的版本,堪称救星。

一开始我以为只有那个版本有问题,后来发现不对。
其他版本可能也有类似问题。
还有另一个关键细节。
“:5 ”命令强制生成 HTML5 文档类型。
它直接指定标准并避免缩写可能引起的歧义。

这实际上是一个很大的错误。
这个错误让很多人头疼。
然而,很多人并没有注意到这一点。
这个问题可以通过更新VSCode或者检查settings.json中的配置来解决。
例如,emmet.showExpandedAbbreviation 应设置为 true,以便可以显示扩展的缩写; emmet.triggerCharacters 应检查是否包含正确的触发字符。

我认为值得尝试这个临时选项。
从长远来看,更新 V​​SCode 并检查配置是防止类似问题的好方法。
通过这些方法,开发者可以快速恢复HTML骨架生成的效率,同时减少工具错误造成的工作中断。
等等,还有一件事,如果你在 GitHub 等社区资源平台上搜索关键字,例如“VSCode Emmet!不工作”,你可能会找到更多解决方案。

VSCode代码生成:使用Emmet与自定义片段的快速开发技巧

结论:定制 Emmet+fragments 可以显着加快开发速度。

埃米特:
输入 ul>li5 >a{Item$} 并按 Tab 键生成 5 个编号列表项。

>嵌套、+同级、重复、{} 文本、$number、^parent。

CSS缩写:ta→text-align:center;, m1 0→margin:1 0px;
自定义片段:
Ctrl+Shift+P,配置用户片段。
JSON格式:{"prefix":"log","body":["console.log('')"],"description":"日志输出"}。

前缀触发器、正文内容、$1 /$2 制表位。

用于:
Vue 片段集成了 Emmet:{"prefix":"vcomp","body":[""]}。

输入vcomp并按Tab键,然后按Tab键展开.container中的Emmet。

效率场景:
列表和导航栏使用 Emmet 生成结构。

自定义日志片段以插入日志。

Vue/React 使用fragments + Emmet 生成组件。

注意事项:
文件类型与语言相对应。

不要与 Emmet 前缀冲突。

VSCode 保持最新版本。

现在去重写重复的 HTML 导航栏。

VSCode怎么弄HTML_VSCode创建和编写HTML文件基础入门教程

结论:VSCode 是编写 HTML 的强大工具。

新建文件:Ctrl+N/Cmd+N。

另存为 HTML:Ctrl+S/Cmd+S,命名为index.html。

进来吧!或 :5 并按 Tab 键创建 HTML5 框架。

在<body>中写入内容:

标题



安装LiveServer扩展,右键单击并选择OpenwithLiveServer预览。

Emmet 快速生成 HTML:
ul>li3 >a,按 Tab。

LiveServer实时刷新,无需手动刷新浏览器。

更好的自动格式化以保持代码整洁。

AutoRenameTag 同步修改标签对。

HTMLCSSSupport 智能提示输入类名 ID。

PathIntellisense 完成文件路径。

VSCode 附带 Git,因此无需切换命令行。

IntelliSense 自动完成标记属性。

<!DOCTYPE> 是 HTML5 声明。

指定语言。

<head> 包含元数据,<body> 包含内容。

块级容器, 行级容器。

-

标题

段落、超链接。

插入图片,src指定路径。

    有序列表。
    表单
    <form>,输入字段<input>。

    VSCode插件提高效率。

    VSCode怎么打出基本代码_VSCode使用代码片段快速生成基础结构教程

    说实话,在VSCode中使用代码片段可以省去很多麻烦。
    这是我写代码时通常依赖的。
    1 . 仅使用内置的 对于 HTML,您输入:5 并按 Tab,它会自动为您生成 HTML5 骨架。
    这非常方便,几分钟之内就可以创建一个页面。
    JavaScript 也是如此。
    如果键入 log 并按 Tab 键,console.log() 语句会立即出现。
    像Python和CSS这样的语言都有自己的代码片段,只能加前缀。
    2 . 定制件非常容易。
    按 Ctrl+Shift+P (Windows) 或 Cmd+Shift+P (Mac),然后搜索配置用户片段。
    您可以在此处为特定语言(例如 JavaScript)创建代码片段或创建全局代码片段文件。
    例如,我经常使用React,所以我会编写以下
    json { “反应功能组件”:{ “前缀”:“rfc”, “身体”: “从‘反应’导入反应;” "", "const ${1 :ComponentName} = () => {", “返回” “
    ”, "${2 :HelloWorld}", “
    ”, “);” “};”, "", “导出默认${1 :ComponentName};” ], "description": "创建基本响应元素。
    " } }
    当您输入 rfc 并按 Tab 时,光标会跳转到组件名称,以便您可以更改它。
    再次按 Tab 键,跳转到 HelloWorld。
    非常实用。
    3 、有现成的拓展市场。
    单击 VSCcode 左侧的方形图标或按 Ctrl+Shift+X 打开扩展视图。
    搜索 React 片段、Vue 片段等。
    我推荐 ES7 React/Redux/GraphQL/React Native Snippets,其中包含大量 React 片段。
    例如,导出默认箭头功能元素以生成竞赛输入。
    安装后,阅读扩展的文档以了解它支持哪些前缀。
    4 .变量和占位符 用$1 和$2 表示指针跳转位置。
    例如,我有一个 ConsoleLog 片段:
    json { “控制台日志”:{ “前缀”:“cl”, “身体”: “console.log('${1 :variableName}', $1 );” ], "description": "将变量记录到控制台。
    " } }
    输入 cl 并按 Tab 键。
    光标停在变量名称处。
    登录后,按 Tab 键跳转到下一个位置。
    还有默认值的占位符,例如 ${1 :defaultValue}。
    预定义的变量也非常易于使用。
    $TM_FILENAME_BASE 是当前文件名,$CURRENT_YEAR 是当前年份。
    这些将自动填充。
    5 . 管理定制件 最好有一个有意义的前缀,例如 rfc,它是 React 函数的一部分。
    Javascript.json 用于语言相关,以及对于一般情况,请放置 global.code-snippets。
    我通常会删除不需要的模板,并及时更新过时的模板。
    6 .安装扩展时要注意 不要超载,因为它可能会导致前缀冲突。
    选择下载量大、评分高、更新频繁的扩展程序通常是优质的扩展程序。

    不管怎样,就这样用吧,可以节省很多时间。
    我通常依靠这些片段来编写代码,而且确实很有效。