只装dart插件(作者dart-lang或mrjones),禁用dartlang、sublimedart及带“flutter”字样的插件;配置dart_sdk_path指向flutter内置sdk的cache/dart-sdk路径,优先通过settings–user配置path并重启,再执行dart: restart analysis server启用分析服务。

装哪个Dart插件才不标红、不跳错
只装 Dart(作者是 dart-lang 或 mrjones),别碰 Dartlang、SublimeDart,更别装名字带 “Flutter” 的插件。后三者要么停更多年,要么压根不支持 null safety 后的语法——required、??=、泛型推导全会标红,Ctrl+Click 跳转直接失效。
操作路径:Ctrl+Shift+P → Package Control: Install Package → 搜索 Dart → 点击安装前,务必核对作者字段。装完必须重启 Sublime,否则右下角不会显示 Dart 语法标识。
如果重启后仍没反应:
- 右键任意
.dart文件 →Open all with current extension as→ 选Dart - 或点击编辑器右下角语法名 → 手动切换为
Dart
dart_sdk_path 填什么?填错等于白配
这个配置项不是必须填,但一旦填错,就会立刻触发 Failed to start the Dart analysis server 或 Unable to locate SDK。优先靠系统 PATH 自动发现,而不是硬写路径。
先在终端确认真实路径:
-
which dart(输出类似/opt/homebrew/Caskroom/flutter/3.19.5/flutter/bin/cache/dart-sdk/bin/dart) -
flutter doctor -v(找其中dart-sdk行,路径结尾是cache/dart-sdk,不是flutter根目录)
填路径时只取到 cache/dart-sdk 这一级,例如:
- macOS/Linux:
/opt/homebrew/Caskroom/flutter/3.19.5/flutter/bin/cache/dart-sdk - Windows:
C:\flutter\bin\cache\dart-sdk
填完必须执行 Ctrl+Shift+P → Dart: Restart Analysis Server,等状态栏出现 Analysis server ready 才算生效。
为什么 Ctrl+Click 跳不到定义,或跳到 .dart.js?
这不是插件问题,而是分析服务器根本没连上正确 SDK。常见原因就三个:
-
dart_sdk_path填成了 Flutter 根目录(如/path/to/flutter)或独立 Dart SDK,而不是cache/dart-sdk - Sublime 是 GUI 启动的,压根没继承 shell 的
PATH—— 即使终端里dart --version有输出,Sublime 也看不见 - 改完设置或装完插件后没手动重启分析服务器
打开控制台(Ctrl+`),看到 Failed to start the Dart analysis server 就基本锁定这三类问题之一。解决方法:删掉 dart_sdk_path 配置项,改在 Preferences → Settings – User 里加 "path": "/your/flutter/bin",再重启 Sublime。
LSP-dart 补全为啥不弹、Widget 识别弱
原生 Dart 插件的补全在 Dart 2.12+ 后已废,返回空列表或静默失败。想有点提示,只能走 LSP + LSP-dart。
必须装两个插件:LSP 和 LSP-dart(不是 LSP-flutter,那个已废弃)。关键配置在 LSP.sublime-settings 中:
-
"command"必须明确指向/path/to/flutter/bin/cache/dart-sdk/bin/dart,不能依赖PATH - 补全不会自动弹,要保存后等几秒再按
Ctrl+Space,或手动调用Ctrl+Shift+P→LSP: Auto Complete -
WidgetsBinding.instance、required参数、package:flutter里的 Widget 补全基本靠猜——这是LSP-dart的固有限制,不是你配错了
Flutter 项目结构识别也很关键:确保是用「右键 → Open Folder as Project」精准打开含 pubspec.yaml 和 lib/ 的那一层目录,而不是整个 Git 仓库根目录。











