Sublime Text多行编辑生成枚举类型需组合多光标、列选择与正则替换:先用Ctrl+Click(Win/Linux)或Cmd+Click(macOS)手动添加光标,再配合列选对齐和正则批量处理,确保字段对齐、不漏不错。

Sublime Text 多行编辑生成枚举类型的核心操作
能,但不是靠“自动代码生成”,而是靠多光标 + 列选择 + 正则替换组合完成,效率远高于手敲。关键在选中逻辑和换行对齐方式,否则容易错位或漏项。
用 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)手动加多光标
这是最可控的起步方式,适合字段数不多(
name age status created_at
逐个 Ctrl+Click 在每行开头(或末尾)放置光标,然后统一输入前缀 NAME = 或后缀 : str。注意:必须确保所有光标垂直对齐,否则批量输入会错行。
- 光标放在行首时,输入
NAME =→ 得到NAME = name - 若想补全大写下划线常量名,可先用
Ctrl+Shift+P调出命令面板,运行Selection: Upper Case(需提前选中变量名部分) - 避免在有缩进的代码块里直接
Ctrl+Click,缩进不一致会导致光标偏移
用 Ctrl+Shift+L 拆分当前选中行为多光标
当你已选中一列字段名(如上面的四行),按 Ctrl+Shift+L 会把每行单独变成一个光标位置——这是生成枚举体最快的方式。
例如选中:
name age status created_at
按 Ctrl+Shift+L 后,四行末尾同时出现光标,此时输入 : str,立刻得到:
name: str age: str status: str created_at: str
- 如果字段名含空格或特殊字符,先用正则替换清理:选中全部 →
Ctrl+H→ 查找\s+,替换为_,勾选Regex - 后续补大写常量名可用
Ctrl+Shift+U(Upper Case),但仅对当前光标所在词生效;多光标下需先用Ctrl+D逐个扩展选中变量名再统一转换 - 此法不适用于跨段落、非连续行;若中间夹杂空行,
Ctrl+Shift+L会在空行也建光标,需提前删掉
用正则替换 + Ctrl+Alt+Enter 批量插入序号或值
当需要生成带递增序号的枚举值(如 NAME = 0, AGE = 1),纯手动多光标不行,得靠正则配合列编辑。
步骤如下:
- 先把字段名整理成单列(无空行),例如:
nameagestatus- 全选 →
Ctrl+H→ 勾选Regex→ 查找^(\w+)$,替换为\U$1\E = $0(\U/\E表示转大写)→ 得到NAME = name等 - 再用列选择(
Shift+鼠标拖拽或Ctrl+Shift+↑/↓)框住等号右侧空白区域,按Ctrl+Alt+Enter插入数字序列,起始填0,步长填1
注意:Ctrl+Alt+Enter 的序号插入依赖光标列位置是否严格对齐,稍有偏差就会重复或跳号。
真正卡住多数人的不是操作本身,而是字段来源杂乱(带注释、缩进不一、混着空行)、或忘了切换大小写模式导致常量名不合规。建议先用 Ctrl+Shift+P → Sort Lines 和 Remove Empty Lines 预处理,再动手。

















