Sublime Text仅支持语法高亮、基础跳转和手动格式化,无法运行Flutter应用、热重载或调试;必须安装nickaivazis或旧版mrjones的Dart插件,正确设置dart_sdk_path指向flutter/bin/cache/dart-sdk并重启分析服务器,补全依赖LSP-dart,运行需通过终端完成。

Sublime Text 不能运行 Flutter 应用,也不支持热重载或调试——它只是个编辑器。配 Dart 插件的目标很实际:让 .dart 文件有语法高亮、能 Ctrl+Click 跳转到 MaterialApp 或 Text 定义、保存时自动格式化、偶尔弹点补全。这些能做到,它就是个靠谱的轻量备选。
装哪个 Dart 插件才不标红、不跳空
只装 Dart(作者是 nickaivazis 或旧版 mrjones),不是 Dartlang、SublimeDart,更别搜“Flutter”插件。后三者已停更,required、??=、泛型推导全会标红,Ctrl+Click 直接跳到空白文件。
- 按
Ctrl+Shift+P(macOS 是Cmd+Shift+P)→ 输入Package Control: Install Package - 搜索
Dart,严格核对作者字段,安装后必须重启Sublime Text - 重启后打开任意
.dart文件,右下角应显示Dart;若没反应,右键 →Open all with current extension as→Dart
为什么 Ctrl+Click 跳不到定义
不是插件问题,是分析服务器根本没起来。常见原因就三个:
-
dart_sdk_path填错了:必须指向flutter/bin/cache/dart-sdk(例如/Users/xxx/flutter/bin/cache/dart-sdk),不是 Flutter 根目录,也不是dart-sdk/bin - Sublime 启动时没加载 shell 的
PATH:GUI 启动的 Sublime 不读~/.zshrc,终端里which dart有输出 ≠ Sublime 能调用 - 没手动重启分析服务器:改完设置后,必须按
Ctrl+Shift+P→ 输入Dart: Restart Analysis Server,等状态栏出现Analysis server ready
打开控制台(Ctrl+`),看到 Failed to start the Dart analysis server 或 Unable to locate SDK,基本就是上面某一条没到位。
补全不弹、Widget 识别弱,怎么救
原生 Dart 插件的补全在 Dart 2.12+ 后已失效,LSP 是唯一可行路径,但它对 Flutter 特有类支持有限。
- 用
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 的固有限制,不是你配错了。
怎么让 Ctrl+B 运行纯 Dart 脚本(非 Flutter 项目)
仅适用于没有 pubspec.yaml 的独立 .dart 文件,比如小实验脚本。它不能跑 flutter run,也不能触发热重载。
- 先确认
Preferences → Settings – User中已配置正确"path",例如:"path": "/opt/homebrew/bin:/Users/xxx/flutter/bin:/Users/xxx/flutter/bin/cache/dart-sdk/bin" - 重启 Sublime(不是重载设置),否则
path不生效 - 菜单 →
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,打开 .dart 文件后确保右下角显示 Dart,再按 Ctrl+B。
常见失败:command not found: dart → 不是插件问题,是 path 没生效;报错位置解析不准?检查 file_regex 是否匹配你本地 dart run 输出格式(Dart 3.4+ 默认带文件名前缀,正则需保留 ^(*?))。


















