Notepad++退出时备份文件扩展名固定为.bak,格式为原文件名_年月日_时分秒.bak,不可自定义;周期性备份和会话快照不生成.bak文件,而是存为XML和二进制快照。

Notepad++备份文件的扩展名是固定的,不能自定义
Notepad++ 的「退出时备份」功能生成的文件,扩展名永远是 .bak,格式为 原文件名_年月日_时分秒.bak(例如 config.conf_20261027_093522.bak)。这个命名规则写死在程序逻辑里,设置界面中没有开关或输入框允许修改扩展名。试图通过改配置文件或注册表绕过,会直接导致备份失败或被忽略。
如果你需要 .backup、.old 或其他后缀,Notepad++ 原生不支持——得靠外部脚本监听 backup 目录并重命名,或者换用 AutoSave 插件(它保存的是原文件本身,不产生新扩展名)。
- 「周期性备份」和「会话快照」不生成
.bak文件,而是写入二进制快照 +session.xml,路径在%APPDATA%\Notepad++\backup\ - 插件 Local History 生成的文件带
.history/路径,但扩展名仍是原后缀 + 时间戳,例如script.py_20261027_093522(无扩展名) - 所有备份机制对只读文件、路径不可写、磁盘满等情况均静默失败,不弹窗也不报错
文件关联设置分两层:编辑器内高亮 vs 系统级双击打开
很多人以为在 Notepad++ 的「设置 → 文件关联」里加了 .conf,双击就能启动它——其实这只是告诉 Notepad++:“下次打开这个后缀的文件时,用 ini 语法高亮”,和 Windows 是否调用它完全无关。
要让 .conf 双击就用 Notepad++ 打开,必须走系统路径:
- 右键任意一个
.conf文件 → 「属性」→ 「打开方式」旁点「更改」 - 若列表中没有 Notepad++,点「在这台电脑上查找其他应用」,定位到
C:\Program Files\Notepad++\notepad++.exe - 务必勾选「始终使用此应用打开 .conf 文件」
- 若该后缀已被其他工具(如 VS Code、Vivado)抢占,需先去「设置 → 应用 → 默认应用 → 按文件类型指定默认应用」中手动重置
注意:设置 → 文件关联 中添加后缀(如填 .conf)只影响高亮,且必须重启 Notepad++ 或按 Ctrl+R 重载当前文件才生效;lang 值要匹配内置语言名(.conf 对应 ini,不是 text)。
关联后中文乱码?关键在编码绑定,不是改“默认编码”
双击 .txt 或 .log 文件打开后中文变方块,不是因为没勾「UTF-8 默认编码」,而是 Notepad++ 没把该扩展名和 UTF-8 编码策略绑定起来。它读文件时优先看文件头(BOM),没 BOM 就按语言关联设定的默认编码解析。
正确做法是两步同步配:
- 进
设置 → 首选项 → 语言菜单/文档类型,找到Text file,双击 → 勾选Apply to all files with extension:,输入txt(不带点,小写)→ 下方Default encoding for this language设为UTF-8 - 同理,对
.log,找Text file或新建语言项,填log并设编码为UTF-8 - 已打开的旧标签页不会自动刷新编码策略,必须关闭再重新打开对应文件
如果文件本身是 ANSI 编码且含中文,强制设 UTF-8 会导致乱码;此时应先手动点击右下角编码栏 → Convert to UTF-8 → 再另存为覆盖原文件。
未命名文档(new 1)根本不会生成 .bak 文件
新建一个空白标签页,输入内容,不执行 Ctrl+S 或另存为,直接关掉 Notepad++ —— 你不会在 backup 目录里找到任何 .bak 文件。这不是 bug,是设计如此:「退出时备份」和「周期性备份」都只作用于**已有真实路径的文件**。
能保住未命名内容的唯一可靠机制是「会话快照」,但它只在正常退出时写入 session.xml,崩溃、断电、任务管理器强制结束都会丢失。
- 真要防丢,必须装
AutoSave插件,并在Options…中勾选Save Untitled Files To,指定一个本地可写路径(如D:\npp-untitled\) - AutoSave 对未命名文档的保存频率可设为「每 X 秒」或「切出窗口时」,但路径不存在或无写权限时会静默丢弃内容,不提示
- Linux 下通过 Wine 运行时,该路径不能是 NFS 或远程挂载点,否则保存失败
最常被忽略的一点:backup 目录的实际位置取决于启动方式——普通用户运行时落在 %APPDATA%\Notepad++\backup\,而以管理员身份运行时可能写到 C:\Program Files\Notepad++\backup\(通常不可写),导致备份无声失效。










