Apex语法高亮需手动绑定扩展名并配置折叠规则;仅装插件无效,必须在Syntax Specific中添加extensions映射,并在ApexSyntax用户设置中启用fold_buttons及起止标记正则。

Apex 语法高亮在 Sublime Text 中不会自动生效,装完插件只是第一步;真正起作用的是文件扩展名绑定 + 折叠规则显式配置,缺一不可。
为什么装了 ApexSyntax 还是纯文本?
根本原因是 Sublime 没把 .cls、.trigger 这些后缀和 Apex 语法关联起来——它不猜,也不推断,只认你明确告诉它的映射关系。
- 右键编辑器右下角的
Plain Text→Set Syntax→Apex,这只是临时切换,关掉再开就失效 - 永久绑定必须走
Preferences → Settings – Syntax Specific,粘贴:{"extensions": ["cls","trigger","page","component","resource"]} - 如果菜单里压根没出现
Apex选项,说明插件没加载成功:打开控制台(Ctrl + `),看有没有 Python import 错误;macOS/Linux 用户还要检查插件路径是否含空格或中文 -
ForceCode已停止维护,在 Sublime Text v4.4+ 上会报错,建议直接卸载,改用ApexSyntax(GitHub 最新更新于 2025 年底)
括号不匹配、if 块无法折叠怎么办?
这不是插件坏了,而是 ApexSyntax 默认不启用折叠逻辑,Sublime 的折叠机制依赖正则标记,得手动填。
- 打开
Preferences → Package Settings → ApexSyntax → Settings – User - 填入以下内容(注意不能加注释,否则折叠失效):
{ "fold_buttons": true, "folding_start_marker": "(class|trigger|interface|enum|public|private|protected|global|testMethod|@isTest|{)", "folding_stop_marker": "}" } -
@isTest必须显式列出,否则测试类内部无法折叠;{单独列出来是为了支持匿名块、for 循环等非声明结构 - 改完不用重启,但已打开的
.cls文件需重新触发折叠(比如按Ctrl+Shift+[),或关闭再重开
和 HaoIDE 共存时高亮突然消失?
HaoIDE 自带极简语法定义,会静默覆盖 ApexSyntax 的设置,尤其在它新建的文件上。
- 新建文件后立刻右键 →
Set Syntax→Apex,别信默认值 - 禁用
HaoIDE内置语法:打开Preferences → Package Settings → HaoIDE → Settings – User,加入:{"use_builtin_syntax": false} - 若仍冲突,删掉
Packages/HaoIDE/syntax/Apex.tmLanguage(路径类似),避免它劫持.cls关联 - 共存时最稳的做法是:只用
ApexSyntax做语法,HaoIDE只做部署/调试,功能解耦
AccountService.cls 快速验证:关键字是否加粗、{ 是否变色、public class 区域能否一键折叠。


















