autosave插件是notepad++唯一支持秒级定时写回原文件的方案,需选periodically模式并填纯数字(单位秒),其他设置如“周期性备份”仅生成快照不修改原文件。

AutoSave 插件才是设置保存间隔的唯一可靠路径
Notepad++ 原生不支持定时写回原文件,所谓“自动保存间隔”在默认设置里根本不存在。你看到的「备份」选项卡里的“周期性备份”或“退出时备份”,全都不修改原始文件,只生成快照或 .bak 副本——它们没有 interval 参数,也不响应你改数字就变节奏。
真正能设秒级/分钟级自动写回原文件的,只有 AutoSave 插件。它提供两个触发模式:Focus Lost(切出窗口即存)和 Periodically(填具体秒数)。后者才是你要的“间隔时间”。
-
Auto Save When必须选Periodically,然后在输入框填纯数字(单位:秒),比如填300就是 5 分钟 -
Auto Save What强烈建议只勾Current File Only,否则未命名标签页(如new 1)会静默失败,甚至阻断整个保存流程 -
Save Untitled Files To如果勾了“保存无名文件”,必须指定一个**存在且可写的绝对路径**,例如C:\npp-untitled\;留空或路径无效时,插件不报错、不提示、直接跳过 - 最小合法值是
1(1 秒),但低于30容易引发 I/O 冲突,尤其打开多个大文件时界面可能卡顿
为什么在「首选项 → 备份」里调“周期性备份间隔”没用
那个滑块或输入框控制的是会话快照(session.xml 和 recovery_*.tmp)的写入频率,不是文件内容落盘。它只影响崩溃后能恢复到哪一版,完全不碰你正在编辑的 main.py 或 config.json。
常见误解是把这里设成 1 分钟,就以为编辑 60 秒后原文件已更新——其实只是内存快照多了一次,原文件仍是上次你按 Ctrl+S 时的样子。
- 该设置路径是:
设置 → 首选项 → 备份 → 启用会话快照和周期性备份 - 它生成的文件存在
%APPDATA%\Notepad++\backup\,和你的项目目录无关 - 如果
%APPDATA%被 OneDrive 或腾讯微云同步占用,写入会静默失败,且毫无提示
NppExec 脚本中设置运行前保存的间隔逻辑是伪命题
有人想通过 NppExec 实现“每 X 秒检查并保存”,这是徒劳的。NppExec 没有后台轮询能力,它的脚本只在手动触发(如按 F6)时执行一次。所谓“间隔”,只能靠 Windows 计划任务或 AHK 脚本外挂,Notepad++ 本身不参与调度。
如果你真需要运行代码前强制保存,正确做法是写一条线性脚本:
save python "$(FULL_CURRENT_PATH)"
注意:save 命令本身不接受时间参数,也不重试;失败时(如只读、未命名、路径非法)不会中断后续命令,除非你加 if $(EXITCODE) != 0 exit 手动拦截。
Linux 下 Wine 环境的间隔设置要绕过 NFS 权限陷阱
在 CentOS 或 Ubuntu 用 Wine 运行 Notepad++ 时,AutoSave 插件的 Periodically 模式可能因 NFS 挂载延迟或权限不足而静默失效——它不会弹窗,也不会写日志。
- 插件管理器首次启动报
Failed to load plugin list?手动下载PluginManager.dll放进plugins/目录再重启 - 保存目标路径别选
/mnt/nfs/project/这类远程挂载点,优先用/tmp/npp-auto/或$HOME/npp-backup/ - Wine 默认不继承 Linux 的 umask,若保存失败,检查目标目录是否对当前用户可写(
ls -ld /tmp/npp-auto)
真正关键的不是间隔数字填多少,而是每次保存动作是否真实落盘且可验证——打开文件所在目录,盯着时间戳变没变,比看插件设置界面靠谱得多。











