Notepad++ 7.9+ 需手动安装 Snippet.dll 插件并放入 plugins 目录,重启后菜单出现 Plugins → Snippet 即成功;代码片段文件须放于 %APPDATA%\Notepad++\plugins\Config\Snippet\ 下,格式为含 <snippet><content><tabTrigger> 的 .xml 文件;触发失败主因是语言识别不匹配、scope 不符或路径/编码错误。

怎么装 Snippet 插件(不是所有版本都自带)
Notepad++ 7.9+ 默认不带 Snippet 插件,得手动装。老版本(如 7.5.x)可能带的是 TextFX 或没插件——别在“插件管理器”里瞎找“Snippet”,它根本不在默认列表里。
- 去官网插件仓库下载独立安装包:Snippet.dll(注意匹配 x86/x64 和 Notepad++ 版本)
- 放进 %PROGRAMFILES%\Notepad++\plugins\(或便携版的 plugins\ 目录)
- 重启 Notepad++,菜单栏出现 Plugins → Snippet 才算成功
- 如果没反应,检查 Windows 事件查看器里有没有 DLL 加载失败日志,常见原因是架构不匹配(64 位 Notepad++ 装了 32 位插件)
代码片段文件放哪、格式长什么样Snippet 不读 JSON 或 XML,只认纯文本 + 特定注释头,文件必须放在 %APPDATA%\Notepad++\plugins\Config\Snippet\ 下,后缀是 .xml 但内容其实是自定义格式。
- 每个片段以 <snippet> 开头,</snippet> 结尾
- 必须有 <content> 和 <tabTrigger>,比如:
<snippet> <content>console.log($1);</content> <tabTrigger>log</tabTrigger> <scope>source.js</scope> </snippet>-
$1 是光标停靠点,$0 是最终退出位置;<scope> 控制只在 JS 文件生效,写成 text.html 就只在 HTML 里触发
- 文件名随意,但不能重名,否则后加载的会覆盖前一个
为什么按 Tab 没反应?常见触发失败原因 不是所有语言模式都支持自动触发,也不是所有文件扩展名都被识别为对应语言。
- 先确认当前文档语言:右下角状态栏显示 JavaScript,不是 Normal text 或 Plain text
- 检查 <scope> 是否匹配:JS 片段写了 source.js,但 Notepad++ 实际识别为 js —— 这时要改成 js 或删掉 <scope>
- Tab 键被其他插件劫持(比如 AutoCompletion),可临时关掉试试
- 片段文件没放在正确路径,或者文件编码不是 UTF-8 无 BOM(用记事本另存为时选错会直接失效)
比原生 Snippet 更稳的替代方案:用宏 + 快捷键
如果插件总崩溃、或公司电脑禁止装第三方 DLL,就绕过插件,用 Notepad++ 自带的 Macro 功能模拟片段。
- 写好一段代码(比如 fetch('', {}).then()),全选 → Macro → Start Recording → Edit → Paste → Macro → Stop Recording
- 保存宏,绑定快捷键(如 Ctrl+Alt+F)
- 缺点:不能动态占位($1),但胜在 100% 兼容、不依赖插件路径和 DLL 架构
- 多个常用模板就建多个宏,名字标清楚(fetch-get、fetch-post),比折腾 XML 更省时间
插件路径、作用域匹配、语言识别这三处出问题的概率加起来超过八成,改完记得重启 Notepad++,不是重载配置。










