Insert Random String插件是Sublime Text中生成随机字符串最稳定方案,支持字母、数字、UUID等模式,纯原生实现;默认快捷键ctrl+shift+r(Win/Linux)或cmd+shift+r(macOS),插入8位小写字母+数字组合,可通过配置文件自定义长度、字符集、前缀后缀;多光标下可批量生成;无插件时可用Python控制台临时生成。

用 Insert Random String 插件生成随机字符串
Sublime Text 本身不内置随机字符串生成功能,得靠插件。最稳定、更新及时的是 Insert Random String —— 它支持多种模式(字母、数字、UUID、时间戳等),且不依赖 Python 外部库,纯 Sublime 原生实现。
安装后,快捷键 ctrl+shift+r(Windows/Linux)或 cmd+shift+r(macOS)直接触发,默认插入 8 位小写字母 + 数字组合。想改默认长度或字符集?得手动调配置。
- 插件安装方式:通过 Package Control →
Install Package→ 搜索Insert Random String - 首次使用前建议重启 Sublime,避免命令未加载
- 如果快捷键无效,检查是否被其他插件(如 Emmet、SideBarEnhancements)劫持 —— 可在
Preferences → Key Bindings中搜索insert_random_string确认绑定是否存在
自定义随机字符串格式:改 RandomString.sublime-settings
插件默认行为不够灵活?比如你需要 12 位大写 HEX 字符串,或带下划线的 6 位单词。这时必须编辑它的用户配置文件。
路径是:Preferences → Package Settings → Insert Random String → Settings – User。填入 JSON 格式配置即可覆盖默认值。
{
"length": 12,
"charset": "0123456789ABCDEF",
"prefix": "",
"suffix": ""
}
-
length控制总长度,整数,不能为 0 -
charset是核心,可填任意字符组合,比如"abcdefghijklmnopqrstuvwxyz_"表示小写字母加下划线 -
prefix/suffix适合生成带固定前缀的测试 ID,如"user_"+ 随机串 - 改完保存,无需重启,下次触发即生效
批量生成多行随机字符串:用 Ctrl+Shift+P 调出命令面板
光标停在某一行按快捷键,只生成一个字符串;但测试场景常需 100 行假数据。这时候别手动按 100 次。
正确做法:先选中 N 行(比如按住 Ctrl + 鼠标左键竖向拖选),再按 Ctrl+Shift+P → 输入 Insert Random String → 回车。每行光标位置都会独立插入一个新随机串。
- 注意:必须是「多光标」状态(每行一个光标),不是单纯选中文字块
- 若用列选择(
Alt+鼠标拖拽)选中一列,也会在每列起始处插入,但容易错位 —— 更推荐用Ctrl+Shift+L把每行末尾转成多光标后再操作 - 该方式对性能无压力,生成上千行也几乎瞬时完成
不用插件的临时方案:用 Sublime 的 eval 片段 + Python 控制台
有些环境禁用第三方插件,或者只是偶尔用一次。可以绕过插件,用 Sublime 内置的 Python 控制台快速生成。
打开控制台:Ctrl+` → 输入以下代码(以生成 10 个 6 位随机小写字母为例):
import random; import string; [ ''.join(random.choices(string.ascii_lowercase, k=6)) for _ in range(10) ]
回车后会输出 Python 列表,复制结果、粘贴进编辑器,再用 Find → Replace 去掉 [、]、' 和逗号,换成换行即可。
- 这个方法不持久,但胜在零依赖、所有 Sublime 版本(3/4)都支持
-
random.choices()在 Python 3.6+ 才有,旧版 Sublime(如 ST3 默认 Python 3.3)需改用random.choice()循环拼接 - 别直接在控制台里 print 大量内容,可能卡死 UI;建议先控制数量,再复制
Insert Random String 插件覆盖了 95% 的测试数据需求。真正容易被忽略的是:它不支持「语义化随机词」(比如 faker 那种姓名/邮箱),也没法按正则生成。这类需求得切到终端跑 python -c "from faker import Faker; f=Faker(); print(f.email())",再粘回来。










