根本原因是flutter命令未正确配置到系统path,导致vscode无法识别sdk;需将flutter/bin加入系统级环境变量并重启vscode,macos用code --new-window启动以加载shell配置,windows须配置系统变量而非用户变量。

VSCode 里装了 Dart 和 Flutter 插件却跑不起来项目,根本不是插件没装对,而是 flutter 命令压根没进系统 PATH,或者插件压根没读到它——所有后续问题,包括“no Flutter SDK configured”、“debug adapter not found”、“断点不命中”,都卡在这一步。
flutter 命令必须在终端和 VSCode 里都能直接运行
VSCode 的 Dart/Flutter 插件不会自己去扫描硬盘找 flutter,它只认你 shell 环境里能敲出 flutter --version 的那个命令。哪怕你解压好了 SDK、插件也装了,PATH 没生效就等于没装。
- Windows:把
flutter\bin加进「系统变量」的Path(不是用户变量),然后彻底退出 VS Code 再重开,别只关窗口 - macOS/Linux:在
~/.zshrc(或~/.bash_profile)末尾加export PATH="$PATH:/path/to/flutter/bin",再执行source ~/.zshrc - 验证方式:新开一个终端(不是 VS Code 内置终端),运行
flutter --version和flutter doctor -v;如果报command not found,VS Code 重启也没用 - 别用
brew install flutter—— 它装的常是旧版,且flutter doctor可能识别不到 Dart SDK 路径
只装 Dart(Dart Code)和 Flutter(Flutter Team)两个插件
VS Code 扩展市场里名字带 “Flutter” 的插件有十几个,但只有这两个是官方维护、相互依赖的核心组件。装错或装多反而会干扰语言服务。
- Dart 插件发布者必须是
Dart Code,不是 “Dart Support” 或其他仿名插件 - Flutter 插件发布者必须是
Flutter Team,它会自动启用 Dart 插件 - 装完必须重启 VS Code —— 不重启,右下角状态栏不会显示
Dart SDK 3.x.x,设备选择器也不会出现 - 如果插件装了但没反应,先别调设置,直接在终端跑
flutter --version;失败了,说明问题不在插件,在 PATH
模拟器启动后仍提示 “No connected devices”
VS Code 的 Flutter 插件不会主动拉起模拟器,它只识别当前已运行且 ADB 可见的设备。卡在 “Waiting for another flutter command to release the startup lock” 或直接报无设备,基本就是模拟器没连上 ADB。
- 先用命令行确认:运行
emulator -list-avds查看设备名,再执行emulator -avd Pixel_4_API_33 -no-window -no-audio启动(加-no-window可后台运行) - 新开终端运行
adb devices,应看到类似emulator-5554 device的输出;若为offline,重插 USB 或重启 adb:adb kill-server && adb start-server - 别依赖 Android Studio 的 AVD Manager 启动后再切回 VS Code —— 它们用的不是同一套 ADB 实例
- 模拟器启动慢?关掉 Hyper-V(Win)或开启 Apple Virtualization Framework(Mac),否则
flutter run会卡 2 分钟以上
调试时断点不触发,控制台只输出 “Launching lib/main.dart on Chrome”
这不是插件坏了,是 VS Code 默认用了热重载模式而非完整调试会话,尤其在 Web 或桌面目标上,main() 里的断点根本不会停。
- 检查
.vscode/launch.json:request字段必须是"launch",不能是"attach";type必须是"dart",不是"chrome"或"pwa-chrome" - 确保你在
lib/main.dart的void main()第一行设了断点,然后按F5启动(不是Ctrl+F5) - 如果刚新建项目,先在终端手动运行
flutter pub get,等右下角出现Analysis server ready再调试;GUI 上那个“获取包”按钮常静默失败 - Flutter 3.16+ + VS Code 1.84+ 默认开启
dart.previewLsp,某些旧项目可能因 LSP 缓存错乱导致断点失效,可临时在设置中关闭
最常被忽略的一点:VS Code 从 Dock 或开始菜单启动时,往往不加载你的 shell 配置(比如 ~/.zshrc),所以即使终端里 flutter --version 成功,VS Code 里还是找不到。macOS 用户建议用 code --new-window 启动,Windows 用户务必把 PATH 加进系统变量而非用户变量——路径配置这事,差一点,整个链路就断了。











