sublime text 无法配置出可用的 flutter 开发环境,仅支持语法高亮、基础跳转和手动格式化;必须安装 nickaivazis 的 dart 插件、复用 flutter 自带 dart sdk、启用 lsp-dart 补全,并在终端中启动 sublime 以继承 shell 环境。

Sublime Text 不能配置出可用的 Flutter 开发环境,它连不上 Dart 3.4+/Flutter 3.22+ 的语言服务器,也不支持热重载、调试或设备管理;你最多能配出语法高亮、基础跳转和手动格式化——前提是 PATH 正确、插件选对、分析服务器重启到位。
装哪个 Dart 插件才不踩坑
只装 Dart(作者是 nickaivazis 或旧版 mrjones),不是 Dartlang、SublimeDart,更不是任何带 “Flutter” 字样的插件。后三者要么已停更,要么不支持 null safety 后的语法:required、??=、泛型推导全报红,Ctrl+Click 跳转直接失效。
- 通过
Ctrl+Shift+P→Package Control: Install Package搜索Dart,严格核对作者字段 - 安装完必须重启 Sublime,否则右下角不会显示
Dart - 如果右下角没反应,右键文件 →
Open all with current extension as→Dart手动激活
dart_sdk_path 填错等于白配
这个配置项不是必须填,但一旦填错,会直接导致 Failed to start the Dart analysis server 或 Unable to locate SDK。优先走系统 PATH,而不是硬写路径。
- 终端先跑
which dart和flutter doctor -v,确认输出里有类似/opt/homebrew/Caskroom/flutter/3.19.5/flutter/bin/cache/dart-sdk的路径 - 别单独下载 Dart SDK —— 复用 Flutter 自带的,版本才匹配,
analysis_server.dart.snapshot才找得到 - 填路径时,必须指向
cache/dart-sdk目录,不是flutter根目录,也不是dart-sdk/bin - 填完后必须
Ctrl+Shift+P→Dart: Restart Analysis Server,等状态栏出现Analysis server ready
LSP-dart 是补全唯一可行路径,但别指望它多聪明
原生 Dart 插件的补全在 Dart 2.12+ 后就废了,返回空列表或静默失败。想有点提示,只能上 LSP + LSP-dart。
- 先通过 Package Control 安装
LSP和LSP-dart - 确保终端能跑
dart --version,否则LSP-dart启动失败,状态栏右下角不会显示LSP-dart - 打开
LSP.sublime-settings,把"command"明确设为/path/to/flutter/bin/cache/dart-sdk/bin/dart,不能依赖PATH - 补全不会自动弹,要手动触发:
Ctrl+Shift+P→LSP: Auto Complete,或保存后等几秒再按Ctrl+Space -
WidgetsBinding.instance、required参数、package:flutter里的Widget补全基本靠猜,LSP-dart对 Flutter 特有类支持很弱
Ctrl+B 运行 flutter run?别试了
Sublime 的构建系统不继承完整 shell 环境,缺失 FLUTTER_ROOT 和必要的 PATH,也不支持长时进程、TTY 交互和 daemon 管理。所谓“运行”只是调一次命令就结束,根本没法热重载。
-
flutter run在 Sublime 里大概率报No devices detected、Command "run" not found或直接挂起 - 所有构建、部署、热重载都必须回到终端执行:
flutter run启动后,按r手动触发热重载 - 如果坚持要在 Sublime 里触发,只能写自定义 Build System,但仅适用于单文件脚本,且无法监听输入或保持连接
最常被忽略的一点:GUI 启动的 Sublime(比如双击图标)默认不加载 ~/.zshrc 或 ~/.bash_profile,所以即使终端里 dart --version 正常,Sublime 也找不到命令——这不是插件问题,是环境隔离问题。解决它比填对 dart_sdk_path 更关键。











