emmet在sublime text中需确认package settings中存在且可编辑emmet.sublime-settings,否则缩写不展开;验证须测ul>li*3能否转为html结构、右下角显示html语法、命令面板可执行emmet: expand abbreviation。

Emmet 在 Sublime Text 里不是“装上就自动好使”的插件,必须确认 Preferences > Package Settings > Emmet 已存在且 emmet.sublime-settings 可编辑,否则缩写根本不会展开。
如何验证 Emmet 是否真正生效
别只看插件列表里有没有“Emmet”,得测缩写是否能转成 HTML 结构:
- 新建一个
.html文件,输入ul>li*3,然后按Tab—— 如果没变成带 3 个<li>的<ul></ul>,说明没生效 - 检查状态栏右下角:文件类型必须显示为
HTML(不是Plain text或Text),否则 Emmet 不触发 - 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),搜Emmet: Expand Abbreviation,手动执行一次,看是否有反应
Package Control 安装后仍不工作?重点查这三处
常见失效原因和对应动作:
-
Preferences > Settings – Syntax Specific里误加了"auto_complete": false或"emmet_enabled": false,删掉这两行 - 用户设置
Preferences > Settings – User中写了"tab_completion": false,Emmet 依赖 Tab 补全,必须设为true(默认就是 true,除非你改过) - 插件被其他插件干扰,比如
SublimeCodeIntel或旧版HTML-CSS-JS Prettify,临时禁用它们再测试
缩写在 CSS 文件里不展开?要改语法作用域
Emmet 默认只在 HTML、XML、JSX 等上下文中启用缩写展开。CSS 文件需手动开启:
- 打开
Preferences > Package Settings > Emmet > Settings – User - 加入这段配置:
{ "syntax_scopes": { "css": "source.css", "scss": "source.scss", "less": "source.less" } } - 保存后,在
.css文件中输入m10按Tab,应展开为margin: 10px;
为什么 !+Tab 生成的 HTML5 模板没有 <meta charset>?
这是 Emmet 2.x 的默认行为变更,不是 bug。新版模板精简了冗余标签,但你可以自定义:
- 打开
Preferences > Package Settings > Emmet > Settings – User - 覆盖
snippets配置,补全 charset:{ "snippets": { "html": { "abbreviations": { "!": "html5" }, "snippets": { "html5": "<meta charset="UTF-8"><title>${1:Document}</title>${2: }" } } } } - 注意:路径变量如
${lang}和${1:Document}保留原样,它们是 Emmet 的占位符语法
最常被跳过的一步是确认当前视图的语法类型——哪怕文件后缀是 .html,如果右下角显示的是 Plain text,Emmet 就完全静默。双击那里切回 HTML,比重装插件快十倍。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











