能,但只是调用外部dart命令而非内置运行;需手动配置Dart.sublime-build并确保PATH正确、Sublime重启后生效,否则报command not found。

Sublime 能不能一键运行 Dart 脚本?
能,但只是“调外部命令”,不是真运行。Ctrl+B 触发的是 dart run 或 dart 命令,Sublime 本身不带 Dart VM。失败时常见报错是 command not found: dart,根本原因几乎全是环境变量没对上——它不读你的 ~/.zshrc,也不继承终端 PATH。
怎么配 Dart.sublime-build 才能跑起来?
别用插件自动生成,手动建一个最稳。菜单 → Tools → Build System → New Build System,粘贴以下内容(注意路径和引号):
{
"shell_cmd": "dart run \"$file\"",
"file_regex": "^([^:]*):([0-9]+):([0-9]+):? ?(.*)$",
"selector": "source.dart",
"working_dir": "$file_path"
}
保存为 Dart.sublime-build(自动存到 Packages/User/)。关键点:
-
shell_cmd里用双引号包裹$file,避免路径含空格时报错 - 纯脚本(无
pubspec.yaml)可用"cmd": ["dart", "$file"],更轻量 -
working_dir必须设为$file_path,否则dart pub依赖解析会失败 - Windows 用户把
shell_cmd换成dart run "$file"(去掉反斜杠转义),或改用cmd字段 + 数组写法
为什么 Ctrl+B 还是报 dart 找不到?
因为 Sublime 启动时没加载 shell 的 PATH。解决顺序必须是:
- 先在终端执行
which dart,确认输出类似/opt/homebrew/bin/dart或/Users/xxx/flutter/bin/cache/dart-sdk/bin/dart - 打开 Sublime → Preferences → Settings – User,加一行:
"path": "/opt/homebrew/bin:/Users/xxx/flutter/bin/cache/dart-sdk/bin"(多个路径用英文冒号分隔) - 必须彻底退出并重启 Sublime,重载设置不管用
- 重启后按 Ctrl+Shift+P →
Dart: Restart Analysis Server,看状态栏是否出现Analysis server ready
如果仍失败,说明 dart 不在你填的路径里——别猜,重新 which dart,再核对。
Flutter 项目里想 flutter run 怎么办?
可以配 Flutter.sublime-build,但只适合启动模拟器前的快速验证,不支持热重载或设备选择:
{
"shell_cmd": "flutter run",
"selector": "source.dart",
"working_dir": "$project_path",
"file_regex": "lib/(.*?):([0-9]+):([0-9]+): (.*)"
}
注意:
- 必须以文件夹方式打开整个 Flutter 项目(File → Open Folder),否则
$project_path为空 -
flutter run是长时进程,Sublime 构建系统会卡住 UI,无法交互;真要调试,还是得切到终端 - 如果项目用了自定义构建配置(如
build.yaml),这个构建系统不会生效
真正麻烦的从来不是怎么写 JSON,而是 PATH 和重启——少一次重启,就多一次 Unable to locate SDK 报错。

















