vscode原生sort lines支持升序、降序、去重三种模式,按字符串字典序排序(非数值),需预处理如补零或提取数字列;去重要求整行完全一致,须先清理空格与空行;批量处理需结合搜索、多文件打开及外部脚本。

Sort Lines 功能在 VSCode 中默认就可用,无需安装插件
VSCode 自带的 Sort Lines 命令已集成在核心功能中,不是第三方扩展。它支持升序、降序、去重排序三种基础模式,触发方式统一但行为差异大,容易误用。
- 快捷键是
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Sort Lines后选择对应命令 - 若选中多行再执行,只对选中区域生效;未选中时作用于整个文件
-
Sort Lines Ascending和Sort Lines Descending按字符串字典序排序,不是数值大小(10会排在2前面) - 真正去重必须用
Sort Lines (Unique),仅排序不勾选“Unique”不会删重复行
想按数字大小排序?得先格式化再用正则预处理
VSCode 原生 Sort Lines 不解析数字,直接排序会导致 9 > 10 这类错序。实际项目中(如配置列表、日志行号、版本号)常需数值语义排序。
- 方法一:补零对齐 → 全选目标列 →
Ctrl+H打开替换 → 正则启用.*(\d+)→ 替换为$1提取纯数字 → 再用Sort Lines Ascending - 方法二:临时加前缀 → 用多光标选中每行开头 → 输入相同位数前缀(如
000)→ 排序后再批量删前缀 - 注意:如果行内有混合文本(如
item-42: value),建议先用列编辑(Alt+鼠标拖选)提取数字列单独排序,再粘回
去重排序后发现空行/空白符干扰?必须清理再操作
Sort Lines (Unique) 判重基于整行字符串完全一致,所以 abc 和 abc (末尾空格)会被视为两行,\n 和 \n 同理。真实代码或数据文件里这类“隐形差异”极常见。
- 执行前先运行
Trim Trailing Whitespace(快捷键Ctrl+K Ctrl+X)清空格 - 用
Ctrl+H→ 正则^\s*$→ 替换为空,删空行 - 如果要去重的是 JSON 数组元素或 import 行,建议先用
Format Document(Shift+Alt+F)标准化缩进和换行
批量处理多个文件?用多根目录 + 文件过滤 + Task 脚本组合实现
VSCode 单次 Sort Lines 只能操作一个打开的编辑器标签页。但工程中常需对 src/**/*.ts 下所有接口定义文件统一排序导出语句。
- 打开文件夹后,在搜索面板(
Ctrl+Shift+F)输入export.*from,勾选files to include填**/*.ts,点“在文件中查找” - 结果列表右键 → “在资源管理器中显示” → 多选目标文件 → 右键 → “在编辑器中打开” → 所有文件并排打开
- 此时无法一键全选排序,需配合
multi-command插件或写简单 shell 脚本调用sort -u处理磁盘文件(注意备份)
真正要稳住批量排序质量,关键不在快捷键多快,而在排序前的数据清洗是否彻底——空格、换行、编码、BOM 字节这些细节,比排序逻辑本身更容易导致结果错乱。











