sublime text 不能运行 flutter 应用或启动 dart vm,仅作为依赖本地 dart/flutter 命令的编辑器;配置失败主因是 path 未生效或 sdk 路径错误,应优先在 settings–user 中配置 "path" 并重启,再禁用 legacy 分析服务器、改用 lsp-dart 实现跳转与补全。

Sublime Text 不能运行 Flutter 应用,也启动不了 Dart VM;它只是个编辑器,所有跳转、补全、格式化都依赖你本地装好的 dart 和 flutter 命令是否能被它正确调用。配不起来,90% 是因为 PATH 没生效,或插件连错了 SDK 路径。
Sublime 启动时找不到 dart 命令?优先改 Settings – User 的 path
macOS/Linux GUI 启动的 Sublime 不读 ~/.zshrc,Windows 图形界面启动也不继承系统环境变量——所以终端能跑 dart --version,Sublime 却报 Unable to locate SDK。别在插件里硬填路径,先走系统级 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:/Users/xxx/flutter/bin/cache/dart-sdk/bin"
(把你的实际 bin 路径填进去,多个用英文冒号分隔) - 必须重启 Sublime(不是重载设置),否则
path不加载 - 重启后按
Ctrl+Shift+P输入Dart: Restart Analysis Server,看控制台(Ctrl+`)有没有Analysis server ready
装 Dart 插件但 Ctrl+Click 跳不到定义?关 legacy 分析服务器
旧版分析服务器(use_legacy_analysis_server)对 Flutter 项目支持极差,尤其解析 package:flutter/material.dart 这类导入时容易崩溃或返回空结果,表现就是 F12 跳到空白文件、Text. 不弹补全、右键 Go to Definition 报错。
- 打开 Preferences → Package Settings → Dart → Settings – User
- 确保包含:
"use_legacy_analysis_server": false
- 删掉
"dart_sdk_path"这一行(留空或写错都会导致Failed to start the Dart analysis server) - 保存后再次执行
Ctrl+Shift+P → Dart: Restart Analysis Server
补全不弹、Hover 提示没反应?换 LSP-dart 而非原生 Dart 插件
原生 Dart 插件默认用的是已弃用的分析服务,对 null safety 后语法(required、??=、泛型推导)支持弱,补全延迟高甚至不触发。LSP-dart 才是当前稳定方案:
- 用 Package Control 安装
LSP和LSP-dart两个插件 - 确认终端能跑
dart --version,否则LSP-dart启动失败,日志里会报Cannot find 'dart' - 打开一个
.dart文件,状态栏右下角应显示LSP-dart;若没有,检查LSP.sublime-settings中"dart"的"command"是否指向正确的dart可执行文件(比如/Users/xxx/flutter/bin/cache/dart-sdk/bin/dart) - 补全不会实时弹出,需手动触发:
Ctrl+Shift+P → LSP: Auto Complete,或敲完单词后按Ctrl+Space
想按 Ctrl+B 直接 flutter run?自己写构建系统,别信“一键运行”
Sublime 没内置 Flutter 构建能力,所谓“运行”只是调外部命令。要真能 flutter run,得手动配置构建系统,且只适用于已初始化好的项目目录(不是单个 .dart 文件):
- 菜单栏 → Tools → Build System → New Build System…
- 填入(macOS/Linux 示例):
{ "cmd": ["flutter", "run"], "working_dir": "${project_path:${folder}}", "selector": "source.dart", "variants": [ { "name": "Flutter Run (Release)", "cmd": ["flutter", "run", "--release"] } ] } - 保存为
Flutter.sublime-build,然后菜单选 Tools → Build System → Flutter - 注意:
working_dir必须设为项目根目录(含pubspec.yaml),否则flutter run会报错找不到lib/main.dart
最容易被忽略的点:Sublime 不管理设备连接、不处理热重载响应、不解析 pubspec.yaml 依赖。哪怕所有插件都配对了,flutter run 启动后还得切到终端按 r 手动触发热重载——它只负责发命令,不负责收结果。











