Sublime Text 默认不支持 COBOL 语法高亮,必须手动安装 havok2063/COBOL 包、绑定 .cbl/.cob 扩展名至 COBOL 语法、配置含正确 file_regex 的 cobc 构建系统;高亮失效多因未保存或扩展名不符,编译跳转失败常因 file_regex 不匹配 cobc 报错格式。

Sublime Text 默认不支持 COBOL,连 IDENTIFICATION DIVISION 都不会高亮——这不是你配错了,是压根没这个语言包。想写 COBOL,必须手动补三样东西:havok2063/COBOL 语法包、.cbl 扩展名绑定、能跳转错误的 cobc 构建系统。
怎么让 .cbl 文件显示 COBOL 高亮
Sublime 不会自动识别 .cbl、.cob 或 .cpy,右下角显示 “Plain Text” 是常态。
- 用 Package Control 安装
havok2063/COBOL包(别选冷门分支,它兼容 ANSI-85) - 文件必须先保存,且扩展名只能是
.cbl或.cob(.txt或无后缀无效) - 点击右下角语法标签 → 选
COBOL;再执行 View → Syntax → Open all with current extension as… → COBOL,才算永久绑定 - 未保存的临时缓冲区不触发语法匹配,所以高亮“突然消失”,八成是忘了
Ctrl+S
为什么 cobc 编译失败但错误不跳转
构建系统里 file_regex 没对上 cobc 实际报错格式,就只能看到红字,点不了错误行。
-
cobc报错固定形如:hello.cbl:12:7: error: syntax error, unexpected END OF LINE -
file_regex必须严格匹配:"^([a-zA-Z0-9._/-]+):([0-9]+):([0-9]+):? (.*)$"——少一个括号或顺序错,跳转就失效 - Windows 用户注意:
/在正则里仍有效,cobc输出统一用正斜杠,不用改成\ - 如果源码是固定格式(列 8 起),构建命令里的
-free必须删掉,否则编译器直接退出,根本不出错行
构建系统怎么写才真正可用
直接套 C++ 的 .sublime-build 会静默失败,因为 cobc 输出结构和 GCC 不同,且默认不生成可执行文件名。
-
"shell_cmd":"cobc -x -free \"${file}\"":加-free才支持自由格式;固定格式项目必须删掉 -
"selector":"source.cobol"是关键,它让Ctrl+B只在 COBOL 文件生效,避免误触其他语言构建 - 运行变体里用
cd "${file_path}" && "${file_base_name}",不能写成"${file_path}/${file_base_name}"——Windows 下反斜杠路径会导致执行失败 - 构建前务必终端运行
cobc --version确认已安装且在PATH中,否则 Sublime 里只显示[Finished in 0.1s with exit code 1]
最常被忽略的是 working_dir 和 COPY 语句的路径依赖——没设 "working_dir":"${file_path}",copybook not found 就会反复出现,而这个错误不会进 file_regex,也就无法跳转定位。


















