sublime text 需手动配置 apex 语法高亮与折叠:安装 apexsyntax 插件后,须绑定 .cls/.trigger 等扩展名,并设置语法特定规则以支持关键字识别、括号匹配和代码折叠。

Sublime Text 本身不支持 Apex 语言,必须手动配置语法高亮才能正确识别 trigger、class、testMethod 等关键字和 Salesforce 特有结构;否则所有 .cls、.trigger 文件都显示为纯文本,括号不匹配、注释无色、无法折叠代码块。
Apex 语法包安装失败或不生效
常见现象是安装完插件后,打开 AccountService.cls 仍无高亮,或仅部分关键字变色。根本原因是 Sublime 没把文件后缀和语法定义关联起来。
- 不要只装插件(如
ApexSyntax或ForceCode),必须手动设置语法:右键编辑器底部状态栏的“Plain Text” → “Open all with current extension as...” → “Apex” - 确认插件是否真正启用:菜单
Preferences → Package Settings中能看到ApexSyntax或ForceCode条目才算安装成功 - 如果用的是 macOS/Linux,插件路径含空格或中文会导致加载失败——重装插件前先清空
~/Library/Application Support/Sublime Text 3/Packages/User/下的残留配置 - ForceCode 插件已停止维护,其语法定义在较新 Sublime 版本(v4.4+)中会报错;推荐改用轻量级
ApexSyntax(GitHub 上最新更新于 2025 年底)
如何让 .cls 和 .trigger 文件自动应用 Apex 语法
每次手动选语法太慢,且容易漏掉新文件。得靠文件扩展名绑定规则,但 Sublime 默认不识别 .cls。
- 打开
Preferences → Settings – Syntax Specific,粘贴以下内容:
{
"extensions": ["cls", "trigger", "page", "component", "resource"]
}
- 保存后,新建或重命名任意
MyController.cls文件,Sublime 就会自动识别并应用 Apex 语法 - 注意:这个设置是全局生效的,不是项目级;若某项目需要混用其他语法(比如
.cls实际是 Shell 脚本),需单独在该文件右键 → “Set Syntax” 覆盖 - 如果
.page或.component高亮异常,说明插件未包含 Visualforce 支持——此时应禁用 ApexSyntax,改用Visualforce专用语法包(单独安装)
Apex 代码折叠和括号匹配失效
即使语法高亮正常,也常出现 { 不配对、if 块无法折叠、public class 区域不收起等问题。这不是插件缺陷,而是 Sublime 的折叠规则没适配 Apex 的类声明语法。
- 打开
Preferences → Settings – Syntax Specific,添加以下折叠配置:
{
"fold_buttons": true,
"enable_tab_scrolling": false,
"bracket_highlighter.ignore_brackets": ["{", "}"],
"fold_level_1": "^\s*(public|private|global|protected)\s+(class|interface|trigger)\s+.*$",
"fold_level_2": "^\s*(public|private|global|protected)\s+(static|final)?\s*(void|String|Integer|List|Map|Set|Boolean|Object|Id|SObject).*\s+.*\{$"
}
- 上述正则会把
public class AccountHelper {和public static List<account> getAccounts() {</account>识别为可折叠层级 - 别直接复制网上的旧版折叠规则——Apex 57.0+ 引入了
record关键字,旧正则会误判为 class 导致折叠错乱 - 折叠仍不工作?检查是否启用了
auto_indent:关闭它(设为false)有时反而能修复括号解析异常
Apex 不是标准语言,它的语法边界模糊(比如 SOQL 查询嵌在字符串里、@AuraEnabled 注解位置自由),任何语法包都只能做近似识别。真正写逻辑时,别依赖高亮判断语法对错,sf deploy 或 sfdx force:apex:execute 才是唯一权威校验方式。











