必须手动替换为PascalImproved语法包并配置扩展名与构建系统:原生Pascal仅支持Turbo Pascal,无法识别property、interface等Delphi 2009+特性;需删除原Pascal文件夹,下载PascalImproved重命名为Pascal放入Packages目录,再在Syntax Specific中添加["pas","dpr","dpk","inc"]扩展名绑定,并配置fpc绝对路径及-Fu单元搜索路径。

Sublime Text 默认不支持 VCL/Pascal 开发,不是编译器问题,而是语法高亮、文件识别、构建系统三者全没对上——property 灰着、.dpr 打开是纯文本、按 Ctrl+B 报错“command not found”,这三件事同时发生,基本可断定还在用原生 Pascal 包。
为什么 property 和 interface 仍是灰色?
原生 Pascal 语法包只认 Turbo Pascal 语法(program + begin/end),对 Delphi 2009+ 的 property、strict private、class helper、inherited 完全无解析规则。它甚至不把 .dpr 当作 Pascal 文件——右下角显示 “Pascal” 只是 Sublime 加载了错误的语法定义。
- 输入
property Foo: Integer read GetFoo;后未变蓝/紫,说明语法包未生效 - 右键 →
Set Syntax → Pascal后仍无代码折叠、无 scope 区分,确认是原生包在运行 - 别在 Package Control 搜 “Delphi”:排前几位的
.tmLanguage包是 ST2 遗留物,在 ST4 上静默失效或崩溃 - 必须手动替换为
PascalImproved:它是目前唯一稳定适配 ST4 的方案,用现代.sublime-syntax重写,支持 Unicode 字符串、泛型、匿名方法,并正确识别.pas、.dpr、.dpk、.inc
如何让 .dpr、.dpk、.inc 自动高亮?
PascalImproved 默认只绑定 .pas 和 .dpr,但 VCL 项目中 .dpk(包文件)和 .inc(包含文件)高频出现,它们仍被识别为 Plain Text,需显式注册扩展名。
- 菜单栏 →
Preferences → Settings – Syntax Specific - 在右侧用户配置中加入:
{ "extensions": ["pas","dpr","dpk","inc"] } - 保存后,所有
.dpr文件打开即自动匹配 Pascal 语法;.dpk中的requires、contains关键字也会着色 - 注意:该配置必须放在
Settings – Syntax Specific中(即当前语法专用设置),不能写进全局Preferences.sublime-settings
Ctrl+B 编译失败:找不到 fpc 或报错“unit not found”
构建系统未指向正确的编译器路径,或未指定单元搜索路径。VCL 项目依赖大量 RTL/VCL 单元,fpc 默认不自动识别 $(FPCDIR)/units 下的 x86_64-win64 或 i386-win32 目录。
- 确保已安装 Free Pascal Compiler(FPC),并添加
fpc.exe所在目录到系统PATH;若未加,构建配置中必须用绝对路径,例如:"cmd": ["C:/fpc/3.2.2/bin/x86_64-win64/fpc.exe", "${file}"] - 构建配置中必须添加
-Fu参数指定单元路径,例如:"cmd": ["fpc", "-FuC:/fpc/3.2.2/units/x86_64-win64/rtl", "-FuC:/fpc/3.2.2/units/x86_64-win64/vcl", "${file}"] - 若项目含自定义单元,需在
-Fu后追加对应路径,多个路径用分号(Windows)或冒号(macOS/Linux)分隔 - 避免使用
shell: true+cmd /c组合执行运行变体:窗口闪退时,改用"cmd": ["cmd", "/c", "${file_path}/${file_base_name}.exe & pause"]更可控
替换语法包时最易忽略的细节
操作看似简单,但三个硬性条件缺一不可:完全退出 Sublime Text、删对文件夹、重命名准确。任何一步出错都会导致新包不加载。
- 必须完全退出 Sublime Text(包括托盘进程),否则 Packages 目录被占用,新语法包无法生效
- 删除的是
Packages/Pascal/文件夹(不是Pascal.sublime-package),路径必须精确 - 下载的
PascalImprovedZIP 解压后,整个文件夹必须**重命名为Pascal**,再拖入Packages目录;大小写敏感,不能叫pascal或PascalImproved - Windows 用户注意
%APPDATA%\Sublime Text\Packages\是隐藏路径,需在资源管理器地址栏直接粘贴访问

















