Notepad++无一键闭合所有未闭合括号功能;括号补全需在“设置→首选项→自动插入”启用,标签闭合需语言设为HTML且勾选“HTML/XML标签自动关闭”,右下角语言标识准确是前提。

Notepad++ 里没有“一键闭合所有未闭合括号”的功能,括号补全和标签闭合是两套独立机制,各自依赖不同开关、不同语言模式,且都容易因状态错配而静默失效。
括号自动补全必须开「自动插入」,不是「自动完成」
输入 ( 后想自动出现 ),得去「设置 → 首选项 → 自动插入」勾选「启用自动插入」。这个开关控制 ()、[]、{}、""、''、`` 六组硬编码配对,与语言模式无关。
- 常见误操作:在「自动完成」页勾选「括号/引号自动完成」——这其实是代码提示开关,不影响补全
- 若仍不生效,检查是否处于 Normal text 模式(右下角显示「Text」),可临时切为 C++ 或 JavaScript 测试
- 它不分析上下文:写
func(再输(,结果是func((,不会补成func(())
HTML 标签按 > 补全,前提是语言设为 HTML 且开关打开
<div 后按 > 变成 <div></div>,需要同时满足两个条件:右下角状态栏显示 HTML,且「设置 → 首选项 → 自动完成」中勾选「HTML/XML 标签自动关闭」。
- 哪怕文件后缀是
.html,Notepad++ 也可能默认识别为 Normal text,此时所有标签功能都失效 - 快捷键
Ctrl+Enter可绕过语言模式限制,但只对标准标签名生效(<p行末按它会补,<mytag不会) - 自闭合标签如
<img按>会变成<img />,这是预期行为
Ctrl+B 和 Ctrl+Shift+P 不是补全,是跳转和选中
Ctrl+B 跳到匹配括号,Ctrl+Shift+P 选中括号内内容,二者都不补符号,且高度依赖前置状态:
- 必须先在「设置 → 首选项 → 性能」中勾选「括号匹配」,否则
Ctrl+B完全无反应 - 语言模式错误(如 JS 文件被识别为 Text)会导致
Ctrl+B和Ctrl+Shift+P失效 -
Ctrl+Shift+P默认不包含括号本身;若要连括号一起选,按完立刻加Shift+←或Shift+→ - 遇到未闭合括号(只有
{没有}),Ctrl+Shift+P会直接选到文件末尾
插件能扩展,但原生功能已覆盖大部分场景
XBrackets 插件支持自定义括号对(如添加 『』),Tagle 是个不存在的插件名,HTML 标签补全完全靠原生功能。
- 安装 XBrackets 后,
Ctrl+B才对新增括号对生效,快捷键不变 - 大文件或含模板字符串(如 JS 的
`a${b()}`)、嵌套注释时,Ctrl+Shift+P容易卡顿或选错,这时列编辑(Alt + 鼠标拖选)更稳 - 所有功能都对「已固定标签」无效——固定标签不会被
Ctrl+Alt+W关掉,也不会被语言切换影响高亮
最常被忽略的点是:右下角语言标识是否准确。同一段代码,在 HTML 模式下 Ctrl+Q 可能加 <!-- -->,切到 Python 就变成 #,切到 Text 又变回 //。别急着重装或搜插件,先看那个小状态栏。


















