vscode 不运行 dart 脚本,仅调用系统 dart 命令;若终端无法执行 dart --version,则 vscode 运行必失败;常见问题为 path 未继承或 dart 插件未全局启用,需从终端启动 vscode 或检查环境变量,并确保插件全局安装、状态栏显示 sdk 版本;单文件调试应使用 dart run main.dart,且需合法 pubspec.yaml 激活语言服务;launch.json 中 type 必须匹配项目类型(cli 用 "dart",flutter 用 "flutter"),且 flutter 开发应仅配置 dart.fluttersdkpath。

VSCode 本身不运行 Dart 脚本,它只调用你系统里装好的 dart 命令 —— 如果终端里都跑不了 dart --version,那在 VSCode 里点 F5 或右键“Run”一定失败。
终端能跑 dart,但 VSCode 按 F5 报 “No debug adapter found for dart”
这不是插件没装,是插件根本没启动语言服务。常见原因只有两个:
-
dart命令在 VSCode 内置终端里不可用:macOS/Linux 用户必须从终端启动 VSCode(比如执行code .),否则它继承不到 shell 的PATH;Windows 用户检查系统环境变量是否真生效(重启 VSCode 后在集成终端里敲dart --version) - Dart 插件没全局启用:打开命令面板(
Ctrl+Shift+P),搜Extensions: Show Installed Extensions,找到Dart(发布者Dart Code),右键选Install for all users(Windows)或Install globally(macOS/Linux)
重启 VSCode 后,打开任意 .dart 文件,右下角状态栏应显示类似 Dart SDK 3.4.3;不显示就说明插件仍处于“假死”状态。
想直接运行单个 main.dart,别依赖右键菜单
VSCode 的右键“Run Dart Program”只对有合法 pubspec.yaml 的项目根目录生效。如果你只是临时写个脚本测试语法,最稳的方式是:
- 确保当前工作目录就是该
.dart文件所在目录 - 在集成终端里手动执行:
dart run main.dart(不是dart main.dart—— 后者绕过 pub 环境,某些 import 会失败) - 如果报
Target of URI doesn't exist,先运行dart pub get,等右下角状态栏变成Dart: Ready再试
注意:纯脚本不需要 pubspec.yaml,但 VSCode 的语言服务需要它来激活上下文 —— 即使内容为空,也得是合法 YAML 格式(比如只写一行 name: test)。
launch.json 中 type 字段填 "dart" 还是 "flutter"
取决于你跑的是什么,填错会导致断点失效、热重载挂掉、甚至控制台只打印一句 Launching lib/main.dart on Chrome 就停住:
- 独立 CLI 脚本(如
bin/main.dart)→"type": "dart" - Flutter 项目入口(
lib/main.dart)→"type": "flutter",且"request": "launch"必须存在 - Web 项目调试卡在 “Launching…” → 检查是不是误设成了
"type": "chrome"或"pwa-chrome";Flutter Web 必须用"type": "flutter"
配置路径别用相对路径拼接,直接写绝对路径或用 ${workspaceFolder} 变量,例如:"program": "${workspaceFolder}/bin/main.dart"。
最容易被忽略的点:Dart 插件默认只认 dart.sdkPath 或 dart.flutterSdkPath 其中一个,同时设两个反而会让它优先用独立 Dart SDK 去解析 Flutter 项目,结果 package:flutter/material.dart 报红。开发 Flutter 时,删掉 dart.sdkPath,只配 dart.flutterSdkPath。











