Sublime Text原生不支持COBOL,需手动安装havok2063/COBOL包、绑定.cbl等扩展名至COBOL语法、配置GnuCOBOL构建系统;高亮失效多因未保存或扩展名不符,编译失败常因语法错误被忽略。

Sublime Text 原生不支持 COBOL,连基础语法高亮都没有——这不是配置漏了,是压根没这个语言包。想写 cobc 编译的 COBOL 代码,必须手动补全三件事:装语法定义、绑文件扩展名、配构建系统。
安装 COBOL 语法包(source.cobol scope 才存在)
Package Control 安装 Cobol 插件(推荐 havok2063 版),它提供 ANSI-85 兼容的词法高亮规则,但注意:
• 不识别小写关键字(如 move)、嵌入 SQL(EXEC SQL)或 COBOL 2002+ 新特性
• 高亮基于正则,对固定格式(列 8–72)和自由格式(-free)都生效,但不会校验格式合规性
• 安装后需重启 Sublime 或用 Ctrl+Shift+P → Set Syntax: Cobol 手动触发一次,否则右下角仍显示 Plain Text
绑定 .cbl / .cob 扩展名到 COBOL 语法
装完插件不代表自动生效。常见现象:双击 hello.cbl 打开仍是白底黑字。
• 右下角点击当前语言名(如 Plain Text)→ 选 Cobol
• 然后立刻执行 View → Syntax → Open all with current extension as… → 再选 Cobol
• 此操作会写入 Packages/User/Cobol.sublime-settings,内容类似:
{"extensions": ["cbl", "cob", "cpy"]}
• 若已有同名文件且内容为空或含错误 JSON,高亮会静默失效
配置 cobc 构建系统(shell_cmd 和 file_regex 必须匹配)
COBOL 编译报错路径格式直接影响跳转是否可用,GnuCOBOL 默认输出形如:hello.cbl:12:7: error: syntax error, unexpected END PROGRAM
构建系统里这两项必须严格对应:
• "shell_cmd": "cobc -x -free \"${file}\"" —— -free 开关要和你的源码格式一致,固定格式项目得删掉
• "file_regex": "^([a-zA-Z0-9._/-]+):([0-9]+):([0-9]+):? (.*)$" —— 括号内正则必须捕获「文件名、行号、列号」三个组,少一个就无法 Ctrl+Click 跳转
• "working_dir": "${file_path}" 很关键:COBOL 的 COPY 语句依赖相对路径,不设会导致 copybook not found
• 构建后若看到 [Finished in Xs] 但无错误提示,先检查终端是否真调起了 cobc(可临时把 shell_cmd 改成 echo "test" 验证)
为什么 highlight_line 开了却看不到高亮?
COBOL 文件启用 "highlight_line": true 后仍无反应,大概率不是设置问题:
• COBOL 插件本身不提供 .sublime-color-scheme 适配,它复用当前主题的 lineHighlight 规则
• 多数深色主题(如 Monokai)根本没定义 lineHighlight,得手动编辑 color scheme 文件,在 "rules" 数组末尾加:
{"name": "Current Line", "scope": "region.line", "background": "hsla(200, 5%, 30%, 0.15)"}
• 如果用了 UI 主题(如 Adaptive),它的背景层可能盖住行高亮,此时只能换主题或禁用该 UI 主题











