sublime text无法配置smalltalk运行环境,仅支持语法高亮与外部pharo命令调用;需手动绑定.st后缀至smalltalk语法,并通过show scope name验证scope是否为keyword.control.smalltalk等,再配置pharo.sublime-build调用本地pharo.image执行脚本。

Sublime Text 不能配置 Smalltalk 运行环境,只支持语法高亮 + 外部脚本调用 —— 因为它没有嵌入 Pharo VM、不加载镜像、也不维护活对象图。你真正要做的只有两件事:让 .st 文件正确高亮,以及让 Ctrl+B 能把当前文件交给系统已安装的 pharo 命令执行。
如何确认 Smalltalk 语法高亮已生效?
高亮不是“有颜色就行”,而是要能区分语言结构。有效状态下:
-
Object subclass: #MyClass中的subclass:应属keyword.control.smalltalk -
[:x | x + 1]整体应是meta.block.smalltalk,其中:和|各有独立 scope -
#MyClass是constant.language.smalltalk,doSomething是entity.name.function.smalltalk - 若字符串、注释、数字全无色,大概率是插件没加载或 YAML 语法定义损坏
验证方法:打开 .st 文件,把光标停在 ifTrue: 或 [:x|] 上,按 Ctrl+Shift+P 输入 Show Scope Name。若显示 text.plain,说明语法未绑定成功。
为什么装了插件还是显示 Plain Text?
这不是插件失效,而是 Sublime 没把 .st 后缀和语法包关联上。常见原因:
- 插件安装后没手动触发一次“默认绑定”:打开任意
.st文件 → 点右下角Plain Text→ 选Smalltalk→ 再点右下角 →Open all with current extension as…→ 选Smalltalk - 插件目录名冲突:检查
Packages/下是否同时存在smalltalk和Smalltalk(大小写敏感),删掉多余的一个 - 其他插件覆盖了语法作用域:比如某些通用文本插件会强制将所有未知后缀设为
text.plain
如果仍无效,删除 Packages/Smalltalk/ 目录,重新通过 Package Control: Install Package 安装 Smalltalk(作者 guillermooo)。
Dingtalk CLI SKILL / 钉钉 dingding / dingtalk dws skill — 管理钉钉(DingTalk)产品(AI 表单、日历、联系人、机器人、待办事项、审批、考勤、报表等)
怎么配 Ctrl+B 执行 .st 脚本?
这只是 shell 调用,不是交互式开发。前提是你已在终端中验证过 pharo --version 可返回版本号(如 Pharo 11.0.0),且镜像路径正确。
- 按
Ctrl+Shift+P→ 输入Build With→New Build System… - 填入以下内容,注意替换
pharo.image为你的本地路径(例如/home/user/pharo/Pharo11.image或~/pharo/Pharo11.image):
{
"cmd": ["pharo", "pharo.image", "eval", "--save", "$file"],
"selector": "source.smalltalk",
"working_dir": "$file_path"
}
保存为 Pharo.sublime-build。关键点:
- 路径含空格或中文会导致构建失败,务必用英文路径
-
$file是完整路径,$file_path是目录;若镜像不在当前目录,必须写绝对路径 - 构建失败时看 Sublime 控制台(
View → Show Console),常见错误是No such file or directory,即镜像路径不对
容易被忽略的关键限制
Smalltalk 在 Sublime 中永远做不到这些事:
- 实时 inspect 一个对象(没有 Inspector 窗口)
- 修改方法后热重定义并立即生效(无活对象图)
- 查看对象引用链、调试器单步、断点停靠
- 执行带 UI 的代码(如
Browser open)——pharo eval是无头模式
如果你需要这些能力,必须用原生 Pharo IDE。Sublime 只适合写脚本、查文档、做轻量编辑 —— 把它当高级记事本用,别当开发环境。










