批量生成特定测试账号数据必须用sublime的多光标+列编辑+正则替换组合,辅以sql或python逻辑,因插件无法精准控制字段规则、格式、起始值和批量规模。

直接说结论:批量生成特定测试账号数据,靠插件不行,得用 Sublime 自身的多光标 + 列编辑 + 正则替换三件套组合,再辅以少量 SQL 函数或 Python 逻辑——这是唯一能精准控制字段、格式、起始值和批量规模的方式。
为什么不能只靠 RandomString 或 DataGenerator 类插件
所谓“DataGenerator”插件在 Package Control 中基本搜不到可用版本;RandomString 只能插随机字符串或 UUID,无法生成 user_0001、test123@example.com 这类带规则的账号;Emmet 的 lorem 只输出拉丁文,不生成邮箱/用户名/密码结构。所有试图“一键生成账号”的教程,最后都退回到手动拼接+多光标操作。
- 插件生成的内容不可控:没法指定邮箱域名、用户名前缀、ID 起始值或步长
- FillerText 插入的是固定 Lorem 段落,不是结构化账号字段
- Insert Enumerated Lines 只能从 1 开始递增,且格式固定为
1.,无法满足1001、user_0042等需求
用 Column Selection + Increment Selection 生成自增 ID 和用户名
这是生成 user_0001~user_0100 最稳的路径。关键不是“选多行”,而是“列对齐”后手动输入起始值。
- 先竖向拉出一列空白(按住
Ctrl+Alt+ 鼠标拖拽,或用Ctrl+Alt+↑/↓),确保每行光标落在同一列位置 - 松开后直接输入
0001(不是1),再按Ctrl+Shift+P→ 输入Increment Selection→ 回车 - 若要步长为 2(如
0001、0003…),执行Increment Selection: Set Step后输入2 - 如果列里已有文字(如
username:),插件会把数字追加到后面;想覆盖就得提前删掉该列已有内容
用正则替换补上前缀、零填充和邮箱格式
Increment Selection 只管数字递增,前缀和格式得靠正则。比如把纯数字 0001 变成 user_0001@test.com,不能靠插件一步到位。
- 先确保列中只有纯数字(如全为
0001、0002…),打开替换面板Ctrl+H,勾选Regular Expression - 查找:
^(\d+)$,替换:user_$1@test.com—— 这样0001就变成user_0001@test.com - 若原始数字没补零(如
1、2),先统一替换成四位数:查找^(\d)$→ 替换000$1;再查^(\d\d)$→ 替换00$1;再查^(\d\d\d)$→ 替换0$1 - 注意:正则中的
$1必须对应()捕获组,写成user_$1而不是user_$0或user_$$1
拼完整 INSERT 语句时怎么避免字段错位
生成 100 条 INSERT INTO users (id, username, email) VALUES (...) 时,最容易出错的是括号不匹配、逗号漏写、引号嵌套混乱。
- 先用多光标在 N 行开头同时输入
INSERT INTO users (id, username, email) VALUES ( - 再用列编辑在每行末尾同步加
);,中间字段用三列并排方式填:第一列填 ID(用 Increment Selection),第二列填 username(同上),第三列填 email(正则替换生成) - 如果某字段含单引号(如
O'Connor),别手输,用 MySQL 函数CONCAT('user', id, '@test.com')更安全——Sublime 不校验 SQL 语法,但你得保证粘贴进数据库时不报错 - 生成超 500 行时 Sublime 渲染会卡顿,建议分批生成(如每次 200 行),或先在外部 Python 脚本生成再导入
真正麻烦的从来不是“怎么生成”,而是字段间格式联动:用户名变了,邮箱必须同步变;ID 是 0001,密码哈希盐就得跟着变。这些逻辑 Sublime 做不了,得靠你提前设计好规则再动手——否则改一行,就得手动修十行。











