Sublime Text需通过HaoIDE插件实现Salesforce开发,但安装后不能直接使用,必须手动配置toolingapi.sublime-settings文件,正确填写password(密码+security token拼接)、login_url(匹配组织类型)、workspace(绝对路径)等字段,否则触发“Invalid session ID”等隐性错误。

Sublime Text 本身不支持 Apex/Visualforce 开发,必须通过第三方插件实现;目前主流可选方案只有 HaoIDE 和 MavensMate(已停止维护),但两者都严重依赖外部 CLI 或桌面应用,且 2026 年仍能稳定工作的实际路径只剩 HaoIDE + 手动配置 toolingapi.sublime-settings。
为什么不能直接用 Package Control 装完就用
HaoIDE 安装后不会自动识别 Salesforce 环境,toolingapi.sublime-settings 文件必须手动编辑并填入有效凭证和路径。常见错误是把 password 字段误填为明文密码(实际需填加密后的 security token 拼接值),或把 login_url 写成 https://login.salesforce.com 却没对应启用 sandbox 的 https://test.salesforce.com —— 这会导致“Invalid session ID”错误,且错误提示不明确。
- 必须先在 SF 组织中重置 security token(设置 → 我的个人信息 → 重置安全令牌)
-
password字段应为your_password_your_token拼接(中间无空格) -
workspace必须是绝对路径,Windows 用户注意用双反斜杠C:\sf-projects或正斜杠C:/sf-projects - 若组织启用了 My Domain,
login_url应设为https://yourdomain.my.salesforce.com,否则登录失败
subl 命令不可用时怎么快速打开项目
Mac/Linux 下若执行 subl 报 “command not found”,说明软链接未建好。不要反复运行 ln -s 命令覆盖,先检查 /usr/local/bin/subl 是否已存在:ls -l /usr/local/bin/subl。如果显示 “No such file”,再执行:
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
Windows 用户无需配置 subl,直接右键文件夹 → “Open with Sublime Text” 即可;但必须确保项目根目录下已有 .sublime-project 文件,否则 HaoIDE 不会加载项目上下文。
- 新建
.sublime-project文件内容只需包含:{"folders": [{"path": "."}]} - 该文件必须与
toolingapi.sublime-settings同级(即项目根目录),否则 HaoIDE 读不到 workspace 配置 - Sublime 启动后,按
Cmd+Shift+P(Mac)或Ctrl+Shift+P(Win)输入HaoIDE: Switch Project才能激活当前项目
保存代码到服务器失败的三个高频原因
右键 → HaoIDE → Save to Server 后无响应或报 “Unable to parse response”,大概率不是网络问题,而是元数据类型不匹配或缓存未刷新:
-
subscribed_metadata_objects中漏配了当前文件类型,例如新建.trigger文件但列表里没写ApexTrigger - 本地文件名含空格或特殊字符(如
My Class.cls),SFDC 只接受下划线和字母数字,应改为MyClass.cls - 上次 Retrieve 失败后缓存残留,需手动删掉项目下的
src目录再执行HaoIDE: Update Project
另外,HaoIDE 不支持 Lightning Web Components(LWC),任何 .html 或 .js 文件保存到 LWC 目录都会静默失败 —— 这点没有提示,容易误判为配置问题。
真正麻烦的不是配置步骤多,而是每个字段都依赖 SF 组织侧状态:security token 是否过期、My Domain 是否启用、profile 是否有 View Setup 权限……这些在 toolingapi.sublime-settings 里全无体现,只能靠日志和试错定位。

















