Visual Studio Code:找不到dart

6

我刚开始使用Flutter,在Android Studio中可以运行我的Flutter应用程序。我想尝试使用Visual Studio Code,但是当我点击运行按钮时,输出窗口中出现以下内容:

[Running] dart 
"c:\MyStuff\Source\Flutter\hello_world\test\widget_test.dart"
'dart' is not recognized as an internal or external command,
operable program or batch file.

[Done] exited with code=1 in 0.199 seconds

我的第一个想法是我的Path环境变量,我已经因为尝试让它工作而搞砸了它。 它看起来像这样:

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps; c:\Flutter\bin; 
c:\temp\flutter; c:\windows\system32; 
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\; 
C:\temp\Flutter\bin\cache\dart-sdk.old1\bin

我的 c:\temp\Flutter 目录看起来像这样:

https://istack.dev59.com/584fj.webp

我包含这个信息是因为我有点迷失,希望有人能发现我做错了什么。
有人有任何想法我做错了什么吗?这似乎应该只是基本设置,但我显然搞砸了。 :(
编辑:
谢谢回复!我实际上是第一时间这样做的。Flutter doctor 给我的输出是这样的:
[flutter] flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, v0.5.1, on Microsoft Windows [Version 
10.0.16299.547], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK 
28.0.2)
    ! Some Android licenses not accepted.  To resolve this, run: flutter 
doctor --android-licenses
[√] Android Studio (version 3.1)
[!] VS Code, 64-bit edition (version 1.25.1)
[√] Connected devices (1 available)
! Doctor found issues in 2 categories.
exit code 0

我不知道如何在VSCode的命令面板中使用参数(-v)运行Flutter doctor。也许那样可以给我更多的信息。它似乎只允许我在那里运行“预设”命令。你知道我怎么能用-v参数运行Flutter doctor吗?

6个回答

7
首先,将sdk放在易于访问的位置。我将其放在压缩的下载文件夹中,这样对我来说效果最好。解压后,按照您的屏幕截图查找flutter_console.bat文件。运行该文件。 然后进入用户变量中的环境变量修改路径,删除其他的flutter目录和您放置的dart目录。将整个flutter目录的路径放置其中,例如我的是C: Users/UserName/Downloads/Compressed/flutter_windows_v0.5.1-beta/flutter/bin。 重启计算机以更新路径。

重启后,进入User Settings中的vs code设置,添加以下代码:

"dart.flutterSdkPath": "C:\\Users\\UserName\\Downloads\\Compressed\\flutter_windows_v0.5.1-beta\\flutter\\bin",

注意上面的反斜杠 这指向编辑器的Sdk位置。同时去扩展程序搜索或市场安装dart和flutter插件。


1
谢谢你,我甚至不知道如何进入用户设置。我已经按照你说的做了...这是我的用户设置:{ "workbench.colorTheme": "Visual Studio Light", "workbench.iconTheme": "material-icon-theme", "dart.flutterSdkPath": "C:\\temp\\Flutter\\bin" }我的路径现在看起来像这样:%USERPROFILE%\AppData\Local\Microsoft\WindowsApps; c:\temp\flutter; c:\windows\system32;但我仍然得到相同的错误... "'dart' 不是内部或外部命令" - John
一个更正--我在Path环境变量中发现了一个错误... 我把c:\temp\flutter改成了c:\temp\flutter\bin它似乎仍然不知道dart存储在哪里。 - John
1
我在家有一台第二台电脑,我在上面编程... 我打算回家,把所有东西都清除,然后按照你的指示一字不差地尝试。谢谢,Kevin。我感激你试图帮助我。 - John
好的,我已经做到了。删除VSCode比卸载它要麻烦一些!但现在我有一个新问题...当我悬停在导入包上时,我会收到以下消息:**[dart]目标URI不存在:'package:flutter/material.dart'**对于上面询问地址栏路径的人...是的,该文件夹存在并弹出。 - John
此外,Flutter doctor 运行正常,但根本不显示 Visual Studio Code。直接跳过了应该显示的位置。它显示“Android Studio(版本3.1)”,但没有 VSCode。然后在结尾处说“未发现问题!” - John
显示剩余13条评论

3
将您的Dart SDK路径添加到用户/系统环境变量中。 假设我的Flutter SDK路径为:E:\ Android \ flutter \ bin 现在我的Dart路径位于:E:\ Android \ flutter \ bin \ cache \ dart-sdk \ bin 因此,编辑PATH变量,在分号后面添加以下值: E:\ Android \ flutter \ bin \ cache \ dart-sdk \ bin; 然后重新启动系统,并从Windows打开cmd,只需简单地运行dart。
重新启动后,在VS Code中转到New Terminal,将终端设置为Powershell并运行dart命令。

3

您只需要在VS Code设置中添加路径。

settings.json文件中进行如下设置:

"dart.flutterSdkPath": "/home/jspw/Android/Sdk/flutter/bin/cache/dart-sdk/bin/"

/home/jspw/Android/Sdk/flutter/bin/cache/dart-sdk/bin/ 是我的dart-sdk路径!

你需要重新启动VS Code,然后就大功告成了!


0

当我在VSCode之外运行Flutter doctor时,它会显示“未安装Flutter扩展”。我不理解这一点,因为我实际上已经安装了该扩展。(我尝试附加屏幕截图,但显然我不能在评论中这样做。) - John

0

0

我在使用import 'dart:html';时遇到了类似的问题。

显然,正如this answer所解释的那样,dart:html只随常规Dart SDK一起提供,而不随Flutter附带的Dart SDK一起提供。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接