You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Notepad++在保存文件时自动更新DateTime字段并递增Change数值

如何让Notepad++在保存文件时自动更新DateTime字段并递增Change数值

我帮你梳理一下亲测可行的实现步骤,核心是用Notepad++的PythonScript插件来完成——因为原生宏没法绑定到「保存前」的触发事件,而PythonScript能轻松实现这种自动操作:

第一步:安装PythonScript插件

  1. 打开Notepad++,点击顶部菜单栏的「Plugins」→「Plugins Admin」
  2. 在弹出的窗口搜索「PythonScript」,找到后勾选它,点击「Install」
  3. 等待安装完成后重启Notepad++

第二步:编写自动更新的Python脚本

  1. 重启后,点击「Plugins」→「PythonScript」→「New Script」
  2. 给脚本起个好记的名字,比如AutoUpdateHeader.py,点击「Save」
  3. 把下面的代码粘贴到脚本编辑器里,然后保存:
import re
from datetime import datetime
import notepad

def update_header_before_save(args):
    # 开始编辑操作,确保可以撤销
    editor.beginUndoAction()
    # 获取当前文档的全部内容
    content = editor.getText()
    
    # 1. 更新DateTime字段:替换$...$为当前短格式时间
    # 生成和Ctrl+Shift+F4一致的时间格式
    now = datetime.now().strftime("%l:%M %p %m/%d/%Y").strip()
    # 处理空的DateTime行($$)
    content = re.sub(r'(DateTime:\s+\$)\$', r'\1{}$'.format(now), content)
    # 处理已有内容的DateTime行,避免重复替换出错
    content = re.sub(r'(DateTime:\s+\$).+?(\$)', r'\1{}\2'.format(now), content)
    
    # 2. 递增Change字段的数值
    def increment_num(match):
        current_num = int(match.group(1))
        return f'Change:     ${current_num + 1}$'
    content = re.sub(r'Change:\s+\$(\d+)\$', increment_num, content)
    
    # 将修改后的内容写回文档
    editor.setText(content)
    editor.endUndoAction()

# 绑定「保存前」的触发事件
notepad.clearCallbacks([notepad.CALLBACK.BEFORE_SAVE])
notepad.callback(update_header_before_save, [notepad.CALLBACK.BEFORE_SAVE])

第三步:设置脚本随Notepad++启动自动加载

  1. 点击「Plugins」→「PythonScript」→「Configuration」
  2. 在「Initialization」选项里选择「At startup」
  3. 在左侧「Scripts」列表找到你创建的AutoUpdateHeader.py,点击「Add」移到右侧「Loaded Scripts」
  4. 点击「OK」,重启Notepad++生效

测试效果

现在打开你的测试文件(比如带注释头的SQL文件),按Ctrl+S保存:

  • 原来的DateTime: $$会自动替换成当前短格式时间,比如DateTime: $2:42 PM 7/26/2024$
  • 原来的Change: $1$会自动递增成Change: $2$
  • 之后每次保存都会自动更新这两个字段,完全符合你的需求

小提示

如果你的注释行缩进、空格数和示例不一样,可以微调脚本里正则表达式的\s+(匹配任意空白字符)部分,确保能精准匹配到目标行;时间格式也可以修改strftime里的参数,比如想要24小时制可以改成"%H:%M %m/%d/%Y"。

备注:内容来源于stack exchange,提问作者mnemotronic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:58:01