Sublime Text 本身不支持 Apex 开发,必须手动配置语法高亮与 HaoIDE 插件:安装 ApexSyntax 并绑定 .cls/.trigger 等扩展名,同时正确填写 toolingapi.sublime-settings 中的 login_url、password(密码+security token 拼接)、workspace(绝对路径)等字段,否则无法高亮、折叠或部署。

Sublime Text 本身不能直接用于 Apex 开发——它连语法高亮都不支持,更别说上传、调试或元数据管理。想靠它写完 .cls 文件就“部署上线”,只会卡在纯文本编辑阶段。
Apex 语法高亮不生效的真正原因不是插件没装对
常见现象:装了 ApexSyntax,打开 AccountService.cls 还是白底黑字,括号不匹配,public class 不折叠。
- 根本问题在于 Sublime 没把
.cls扩展名和 Apex 语法规则关联起来——插件只是提供了语法定义文件,不自动绑定后缀 - 右键底部状态栏的
Plain Text→Open all with current extension as→Apex是临时解法,每次新建文件都得手动点 - macOS/Linux 用户若插件路径含中文或空格(如
~/Library/Application Support/Sublime Text 3/Packages/User/我的插件),插件会静默加载失败 -
ForceCode已停更,在 Sublime Text v4.4+ 中会触发invalid syntax definition报错,必须换用ApexSyntax(GitHub 最新更新于 2025 年底)
让 .cls 和 .trigger 自动识别 Apex 语法的配置位置
这不是项目级设置,而是全局语法绑定规则,必须写进 Preferences → Settings – Syntax Specific 的 JSON 配置里:
{
"extensions": ["cls", "trigger", "page", "component", "resource"]
}
注意:
- 保存后,所有新创建或重命名的
MyTrigger.trigger文件会立刻应用 Apex 语法 - 如果
.page或.component高亮异常(比如<apex:page>标签无色),说明ApexSyntax未包含 Visualforce 支持——此时应禁用它,单独安装Visualforce专用语法包 - 若某项目中
.cls实际是 Shell 脚本(极少数混用场景),需对该文件右键 →Set Syntax单独覆盖
HaoIDE 插件无法登录或 Save to Server 失败的核心配置项
装完插件 ≠ 能用。90% 的失败源于 toolingapi.sublime-settings(菜单 Preferences → Package Settings → HaoIDE → Settings – User)填错字段:
-
login_url必须严格匹配组织类型:https://login.salesforce.com(生产)、https://test.salesforce.com(沙盒)、或https://yourdomain.my.salesforce.com(启用 My Domain)——多一个斜杠、少一个字母都会返回INVALID_LOGIN -
password字段不是明文密码,而是your_password+your_security_token拼接(中间**无空格**),token 需从 Setup → Personal Settings → Reset My Security Token 重新获取 -
workspace必须是**绝对路径**:Windows 写成C:/sf-projects或C:\sf-projects;macOS/Linux 用/Users/name/sf-projects;相对路径(如./projects)会静默失败 -
subscribed_metadata_objects至少保留"ApexClass"、"ApexTrigger"、"ApexPage"、"ApexComponent",否则右键HaoIDE → Retrieve拉不到代码
代码折叠和括号匹配失效不是插件缺陷
即使语法高亮正常,public class 块无法折叠、if 语句不收起、大括号不配对,大概率是 Sublime 默认折叠规则没适配 Apex 的类声明结构。
解决方法:在 Preferences → Settings – Syntax Specific 中添加折叠配置(注意这是语法级设置,不是用户全局设置):
{
"fold_by_level": true,
"fold_buttons": true,
"auto_fold_python": false,
"fold_on_indent": true,
"fold_expression": [
["^\s*(public|private|protected)\s+(class|interface|trigger)\s+.*\{", "^\s*\}"],
["^\s*(if|for|while|do|switch)\s*\(.*\)\s*\{", "^\s*\}"]
]
}
关键点:
- 这个配置只对当前语法(Apex)生效,不影响其他语言
- 正则中
\{和\}是转义写法,直接复制粘贴即可 - 若仍不折叠,检查是否误将该配置写进了
Settings – User(错误位置),必须确保是在Settings – Syntax Specific且右下角显示的是Apex
最常被忽略的一点:HaoIDE 的 Save to Server 功能依赖 Tooling API 会话,而会话有效性由 toolingapi.sublime-settings 中的凭证和 URL 共同决定——任何一个字段格式不对,都会导致操作无声失败,控制台(Ctrl + `)里也看不到明显报错。


















