在 vscode 中输入 ! 后按 tab 即可生成标准 html5 模板,前提是文件为 .html 后缀、语言模式设为 html、光标位于空行或行首,且 emmet.triggerexpansionontab 已启用。

VSCode 里能快速生成基础代码框架,靠的不是插件也不是外部工具,而是它原生支持的「用户代码片段」和「Emmet」两个机制。用对了,! 按下 Tab 就出 HTML5 骨架,clg 按下 Tab 就插入带光标定位的 console.log,不用装任何东西。
怎么触发 HTML5 基础模板?
在空的 .html 文件里,直接输入 !,然后按 Tab(不是回车)。VSCode 内置 Emmet 会立刻展开为完整 HTML5 结构。注意:必须是新文件且语言模式设为 HTML(右下角状态栏显示“HTML”,不是“Plain Text”);如果输完 ! 没反应,先按 Ctrl+K Ctrl+M(Windows/Linux)或 Cmd+K Cmd+M(macOS)确认语言模式。
其他等效写法还有:html:5、html:4s(XHTML)、doc,但 ! 最快最稳。
如何为 Vue 单文件组件(SFC)设置快捷模板?
别去搜“Vue 插件生成模板”,直接配用户代码片段。打开命令面板(Ctrl+Shift+P),输入并选择 Configure User Snippets,再选 vue —— 这会打开 vue.json 文件。在里面加一个片段:
{
"Vue SFC template": {
"prefix": "vsfc",
"body": [
"<template>",
" <div class="$1">$2</div>",
"</template>",
"",
"<script>",
"export default {",
" name: '$TM_FILENAME_BASE',",
" data() {",
" return {}",
" }",
"}",
"</script>",
"",
"<style scoped>",
"</style>"
],
"description": "Basic Vue 2/3 SFC structure"
}
}
保存后,在 .vue 文件里输入 vsfc + Tab 即可展开。注意:$TM_FILENAME_BASE 是内置变量,自动取文件名(不含扩展名), 和 是光标跳转位置,按 Tab 可依次切换。
Python 的 if __name__ == "__main__": 怎么一键插入?
打开 python.json 片段文件(通过 Configure User Snippets → python),添加如下片段:
{
"Main guard": {
"prefix": "pymain",
"body": [
"if __name__ == \"__main__\":",
" $1"
],
"description": "Insert if __name__ == '__main__' block"
}
}
这个片段看似简单,但容易踩坑:如果你在函数内部触发,光标可能落在缩进错误的位置;建议只在模块顶层使用。另外,python.json 必须存在且路径正确——VSCode 默认把它放在用户配置目录下,不是项目根目录;工作区级片段要放 .vscode/snippets/python.json 才生效。
全局片段和语言片段的区别在哪?
全局片段(比如新建 global.code-snippets)适用于所有语言,适合通用结构如日志、注释头、TODO;语言片段(如 javascript.json)只在对应语言文件中激活,更安全也更精准。混用时要注意优先级:语言片段 > 全局片段;同名 prefix 在不同文件里不会冲突,但 VSCode 只加载第一个匹配的。
真正容易被忽略的是:片段文件保存后**不需要重启 VSCode**,但修改后必须保存(Ctrl+S),否则新片段不会出现在补全列表里;而且如果片段里有语法错误(比如 JSON 少了个逗号),整个文件都会失效,VSCode 不报错,只是不加载——建议用 VSCode 自带的 JSON 验证(保存时提示)或粘贴到 JSONLint 检查。











