notepad++ 无法内置生成随机数,需借助 pythonscript 插件编写脚本(如用 random.randint)或配合 powershell/excel 等外部工具批量生成;textfx 等旧插件不支持真随机。

Notepad++ 本身不支持生成随机数,必须依赖插件或外部工具
Notepad++ 是纯文本编辑器,没有内置随机数生成函数(如 rand() 或 Math.random())。直接按 Ctrl+F9 或尝试写 JS/Python 脚本都不会生效——它不解析或执行代码逻辑,只做文本处理。想批量生成测试数据,唯一可行路径是引入支持脚本扩展的插件,或把 Notepad++ 当作“粘贴中转站”配合命令行工具。
推荐方案:安装 PythonScript 插件 + 自定义脚本生成随机数字
这是最灵活、可复用的方式,适合需要控制范围、位数、分隔符、格式(如带前导零)的场景。前提是已安装 PythonScript 插件(v1.0.8+,兼容 Python 3.6+)。
操作步骤:
- 菜单栏 → Plugins → Python Script → New script,保存为
gen_random_int.py - 在脚本中写入(示例:生成 100 行 1~999 的随机整数):
import random editor.rereplace(r'^', lambda m: str(random.randint(1, 999)))
- 选中目标行(或全选),运行该脚本(Plugins → Python Script → Scripts → gen_random_int.py)
- 注意:
editor.rereplace()对每行开头匹配一次,所以行数决定输出数量;若需替换整行内容,正则用r'^.*$'更稳妥
常见坑:random.randint(a, b) 是闭区间,random.randrange(a, b) 是左闭右开;若生成 001~999 的三位数,改用 f"{random.randint(1, 999):03d}"
轻量替代:用 Excel / PowerShell 生成后粘贴进 Notepad++
如果不想装插件,或者只需要一次性生成(比如 500 行测试 ID),走系统级工具更快:
- PowerShell(Win10+ 自带):
1..500 | ForEach-Object { Get-Random -Minimum 1000 -Maximum 9999 } | Set-Clipboard,然后在 Notepad++ 中 Ctrl+V - Excel 公式:
=RANDBETWEEN(100,999)拖满列 → 复制 → 在 Notepad++ 中选择性粘贴(右键 → Paste Special → Unformatted Text),避免表格格式残留 - 注意:PowerShell 默认生成换行符是
\r\n,和 Notepad++ 一致;但若用 WSL 的shuf或awk,可能输出\n,导致显示为单行——此时可在 Notepad++ 中用Search → Replace把\n替换为\r\n
插件边界:TextFX 和 Converter 插件无法生成真随机数
老教程常提 TextFX(已停止维护)或内置的 TextFX → Insert → Date & Time,但它只能插入固定时间戳或序列号(如 001, 002...),没有随机能力。Converter 插件里的 Insert GUID 虽然每次不同,但它是 UUID,不是可控范围的整数,也不适合模拟订单号、手机号等业务测试数据。
真正要生成「符合业务规则的随机测试数据」(比如:11 位手机号、18 位身份证号前 17 位+校验码、指定前缀的流水号),必须用 PythonScript 写逻辑,或导出到专用工具(如 Mockaroo)生成后再导入。
最容易被忽略的一点:所有基于脚本的生成方式,都依赖当前文档光标位置和选区范围——没选中任何内容时,editor.rereplace() 可能作用于全文;而误选了空行,就会多出一堆 0 或空值。动手前务必确认选区干净、目标行数准确。











