Notepad++本身无文件锁定功能,所谓“锁定”需依赖Windows文件属性+NTFS权限+Local History等插件协同实现;它仅在打开时读取一次只读标志,不监听后续变化,故修改属性后须重开文件才刷新状态,且“另存为”始终可用。

Notepad++ 本身没有文件锁定功能,所谓“锁定”必须靠 Windows 文件属性 + NTFS 权限 + 插件辅助三者配合,单靠界面勾选或插件开关都不可靠。
为什么 Notepad++ 不显示 [READ ONLY] 或仍允许保存
Notepad++ 只在打开文件时读取一次 FILE_ATTRIBUTE_READONLY,之后完全不监听变化。常见现象包括:
- 改了文件属性但标题栏没变 → 必须关闭再重新打开该文件,状态才刷新
- 点了「保存」还能成功 → 实际上文件根本没设只读(
attrib +R "file.conf"没执行,或只对文件夹勾了只读,不递归生效) - 「另存为」能绕过只读限制 → 这是设计行为,不是 bug;
Save被禁用,但Save As始终可用 - 以管理员身份运行 Notepad++ 也无法提升对普通文件的写权限 → UAC 不会自动赋予目标文件修改权
真正起效的只读设置方式(Windows 层面)
Notepad++ 的只读响应完全依赖操作系统返回的属性,设置必须落在文件本体上:
- 命令行快速操作:
attrib +R "C:path oile.conf"(加只读),或attrib -R "file.conf"(清除) -
.gitattributes或chmod不影响 Windows 只读位,别混淆 - 若文件在网络路径(如
\servershare),部分 SMB 版本下只读标志可能被忽略,建议本地编辑
防误改比“只读”更关键:NTFS 权限 + 备份 + Local History
单靠只读属性防不住手抖取消勾选,也拦不住复制粘贴覆盖。真正保护配置文件(如 notepad++.xml、userDefineLang.xml)得靠三层:
- NTFS 权限限制:右键文件 → 「属性」→ 「安全」→ 编辑 → 移除「Users」组的「写入」权限(需管理员身份)
- 周期性备份 + 会话快照:设置 → 首选项 → 备份 → 勾选「启用会话快照和周期性备份」,间隔设为 3–5 分钟;它会保存 XML 快照,崩溃后可恢复未保存内容
-
Local History 插件:通过 Plugin Admin 安装,会在每个文件同目录生成
.history/,按分钟记录变更,右键即可比对或还原
最容易被忽略的一点:所有防护都建立在 Notepad++ 正常运行前提下;如果进程被强制结束(如任务管理器杀掉),Local History 和恢复栈都会清空,备份快照也可能来不及写入磁盘。


















