Sublime没有DataGenerator插件,真实可用的是Emmet(lorem缩写)和FillerText插件,或结合多光标与SQL函数生成结构化数据。

Sublime 本身没有内置的 DataGenerator 插件,也没有叫 DataGenerator 的官方或主流插件——这个名字大概率是混淆了在线工具(如 Mockaroo)或误记了插件名。 真正能落地、稳定生成随机测试数据的,只有两类:一是靠插件(Emmet 和 FillerText),二是靠 Sublime 自身能力(多光标 + MySQL 函数组合)。装错名字的插件,只会浪费时间还找不到命令。
为什么搜不到 DataGenerator 插件?
Package Control 中搜索 DataGenerator、RandomData 或 TestGenerator,基本返回空结果或已弃用/无人维护的项目。这不是你网络或配置问题,而是它根本不存在于主流生态。Mockaroo、JSON-Generator 是在线服务,不是 Sublime 插件;SQL-Data Generator 是独立桌面软件,也不集成进 Sublime。
- 真正可用的插件只有
Emmet(支持lorem缩写)和FillerText(纯文本占位) - 所有“Sublime DataGenerator 教程”类文章,实际操作部分最终都退回到
Emmet或手写 SQL + 多光标 - 如果你在某篇博客里看到“安装 DataGenerator 插件后按 Ctrl+Shift+D”,那大概率是作者自己改名的私有 snippet,不可复现
用 Emmet 快速插入随机拉丁文(HTML/前端场景)
这是最轻量、响应最快的方案,但只在语法模式识别为 HTML/CSS/JSX/Vue 等时生效。不是所有地方都能用 lorem。
- 确保右下角状态栏显示
HTML(不是Plain text),否则lorem按 Tab 没反应 - 输入
lorem10→ Tab → 插入 10 字拉丁文;p>lorem20→ Tab → 插入带<p></p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/ai/1787" title="WeShop唯象"><img src="https://img.php.cn/upload/ai_manual/000/969/633/68b6cd73b2fbe789.png" alt="WeShop唯象" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/ai/1787" title="WeShop唯象" class="overflowclass">WeShop唯象</a> <p class="overflowclass">一款面向电商商品视觉制作的AI商拍工具,帮助商家快速生成产品展示图片和不同营销场景下的商品视觉素材。</p> </div> <a rel="nofollow" href="/ai/1787" title="WeShop唯象" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>包裹的 20 字 - 避免
lorem3000这类超长参数,Sublime 渲染会卡顿,实测超过 500 字就明显延迟 - 不支持中文,也不支持自定义词库;若需中文占位,请换
ChineseLorem插件(需单独安装)
用 FillerText 插件填纯文本/JSON/配置项(无语法依赖)
当文件是 Plain text、Markdown 或 JSON 时,Emmet 失效,这时 FillerText 是唯一可靠选择。
- 安装后默认快捷键:
Ctrl+Alt+L(Windows/Linux)或Cmd+Alt+L(macOS) - 触发后弹出输入框,直接填数字(如
120),回车即插入对应长度的 Lorem ipsum - 它不解析上下文,不依赖缩写,适合填 config 文件、.env 示例值、日志模拟字段等
- 注意:生成内容固定为标准拉丁文段落,无法控制句子数、段落数或首字母大写等细节
手动拼 SQL 测试数据(MySQL/PostgreSQL 开发者刚需)
插件只能解决“文本占位”,真要造结构化测试数据(比如 100 条带 id、name、email、status 的用户记录),必须结合 Sublime 多光标 + MySQL 内置函数。
- 先写一行模板:
INSERT INTO users (name, email) VALUES ('用户1', 'user1@example.com'); - 复制 100 行 →
Ctrl+Shift+L(多光标)→ 选中所有1→ 输入1,再按Ctrl+Alt+↓跳到下一行输2… 更高效的是粘贴预生成的序号列(用 Python 或 Excel 生成 1~100 文本,再一键粘贴) - 更省事的做法:在 MySQL 客户端执行带变量的语句,例如:
SET @i := 0; INSERT INTO users (name, email) SELECT CONCAT('用户', @i := @i + 1), CONCAT('user', @i, '@example.com') FROM information_schema.columns LIMIT 100; - 注意:
information_schema.columns在某些云数据库(如阿里云 RDS)可能权限受限,此时需改用数字辅助表或客户端生成 CSV 再导入
最容易被忽略的一点:**同一份测试数据,在不同环节要用不同方式生成——前端 mock 接口用 Emmet 填响应体字段,后端单元测试用 Go 的 math/rand 生成输入,数据库验证用 MySQL 变量循环插入。混用一种方式硬扛所有场景,反而拖慢进度。**










