sublime text 默认不支持现代 delphi 语法高亮,需手动替换为 pascalimproved 并配置扩展名;右下角确认语法为 pascal、文件编码为 utf-8 with bom、禁用冲突插件可解决常见高亮失效问题。

Sublime Text 默认不支持 Pascal/Delphi 语法高亮
Sublime Text 原生只带 Pascal(老式标准,如 Turbo Pascal)支持,对现代 Delphi(含 begin..end 块、interface/implementation、property、strict private 等)识别极弱——比如 procedure 后面的参数列表常被当普通文本,unit 文件头部直接无高亮。
这不是插件没装对,是语法定义文件(.sublime-syntax)本身缺失 Delphi 特性。官方仓库里至今没有维护良好的 Delphi 语法包。
- 别指望
Package Control搜 “Delphi” 装一个就完事——搜到的多数是过时的tmLanguage(Sublime 2 遗留格式),在 Sublime 4 上会失效或崩溃 -
Pascal语法(自带)仅能粗略匹配program/begin/end,对type块里的类声明、constructor、inherited等完全无视 - 如果打开
.pas文件后右下角显示 “Pascal”,但关键字灰扑扑没颜色,基本就是掉进这个坑了
用 PascalImproved 替换默认 Pascal 语法
目前最稳定、适配 Sublime Text 4 的方案是社区维护的 PascalImproved:它基于 .sublime-syntax 重写,支持 Delphi 2009+ 大部分特性(Unicode 字符串、泛型、匿名方法等),且兼容 .dpr、.pas、.dfm(仅高亮文本块)。
安装方式不是通过 Package Control,而是手动替换:
- 关闭 Sublime Text
- 找到 Packages 目录:
Sublime Text/Packages/(macOS/Linux 在~/Library/Application Support/Sublime Text/Packages/;Windows 通常在%APPDATA%\Sublime Text\Packages\) - 删除原生
Pascal文件夹(路径:Pascal/) - 从 GitHub 下载最新
PascalImproved:访问https://github.com/braver/PascalImproved→ 点Code → Download ZIP→ 解压后把整个文件夹重命名为Pascal,放进 Packages 目录 - 重启 Sublime Text,打开任意
.pas文件,右键 →Set Syntax → Pascal
注意:不要保留原 Pascal 文件夹,否则 Sublime 会优先加载旧版,新语法不生效。
让 .dpr / .dpk 文件也自动匹配 Pascal 语法
默认情况下,Sublime 只对 .pas 关联 Pascal 语法,.dpr(Delphi 项目文件)和 .dpk(包文件)会被当成纯文本。需要手动注册扩展名:
- 菜单栏 →
Preferences → Settings – Syntax Specific - 在右侧配置中加入:
{ "extensions": ["pas", "dpr", "dpk", "inc"] } - 保存后,所有
.dpr文件打开即自动用 Pascal 语法高亮
如果已打开 .dpr 文件,可临时右键 → Set Syntax → Pascal,但下次打开仍需重复——必须改这个配置才永久生效。
调试高亮失效的三个检查点
即使装了 PascalImproved,仍可能遇到关键字不着色、注释错位、字符串截断等问题。先查这三处:
- 确认当前语法确实是
Pascal:右下角状态栏点击语法名,看是否选中的是Pascal(不是Pascal (Legacy)或空项) - 检查文件编码:Delphi 源码若含中文注释,务必保存为
UTF-8 with BOM,否则//注释后的中文会导致后续行高亮崩坏 - 禁用冲突插件:某些代码片段插件(如
Emmet)或老旧的AutoFileName会劫持.键行为,间接干扰语法解析器——可尝试在Safe Mode(启动时按住 Shift)下测试
Delphi 语法高亮本质是正则驱动的文本模式匹配,不是编译器级解析。所以嵌套泛型(TList<tdictionary integer>></tdictionary>)或超长行内注释仍可能出错——这不是配置问题,是 Sublime 语法引擎的固有限制。










