首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSCode不承认Dart (运行在WSL上)

VSCode不承认Dart (运行在WSL上)
EN

Stack Overflow用户
提问于 2021-11-08 23:08:41
回答 1查看 360关注 0票数 0

我在我的Windows 10机器上的C/User/OEM/Documents/ flutter上安装了flutter的Windows版本,但是使用ohmyzsh作为shell和VS代码作为IDE,通过WSL1进行所有的开发。我解决了通过zsh运行颤振命令的错误,这是由于windows样式的语法导致的:

/mnt/c/Users/OEM/Documents/flutter/bin/flutter:(例如,

第5行:$'\r':命令未找到)

通过在我的主目录中创建一个shell脚本' flutter‘,该脚本将强制flutter命令在windows中运行:

代码语言:javascript
复制
    #!/bin/bash
cmd.exe /c flutter.bat $@

下面是我的输出,来自颤振医生-v的zsh:

✓Flutter (海峡稳定版,2.5.3,MicrosoftWindowsVersion10.0.19042.1288,locale en-US)·颤振版本2.5.3 at C:\Users\OEM\Documents\flutter·Upstream存储库https://github.com/flutter/flutter.git·Framework修订版18116933e7 (3周前),2021-10-15 10:46:35 -0700·Engine修订版d3ea636dc5·Dart版本2.14.4

Android工具链-为Android设备开发(Android版本31.0.0)·Android在C:\✓\OEM\AppData\Local\ SDK·Platform android-31,build-tools 31.0.0·Java二进制文件: C:\Program \ Android \jre\bin\ Java·Java版本✓运行时环境(Build11.0.10+0-B96-7249189)·所有✓许可被接受。

在C:\ Files\Google\Chrome\Application\chrome.exe上为✓·Chrome开发✓浏览器

Android (2020.3版)·Android在C:\Program \Android·Flutter插件可以从:https://plugins.jetbrains.com/plugin/9212-flutter·Dart插件可以安装在:https://plugins.jetbrains.com/plugin/6351-dart·(Build11.0.10+0-B96-7249189)

在C:\✓\OEM\AppData\✓\✓对代码(版本1.62.0)·VS代码可以从:✓安装

✓连接设备(2个可用)·Chrome (web)·chrome·web-javascript·Google 95.0.4638.69·Edge (web)·edge·web-javascript·Microsoft 95.0.1020.30

一切都很好。但是,VS代码在打开项目时无法初始化颤振,因为它找不到Dart SDK。以下是错误日志的相关部分:

11:55:40 AM信息: 11:55:40 AM Info /home/jack 11:55:40 AM Info

/mnt/c/Users/OEM/Documents/flutter/bin 11:55:40 AM Info候选路径后过滤: 11:55:40 AM Info

/home 11:55:40上午信息

/mnt/c/User/OEM/Documents/颤振11:55:40 AM Info

返回未定义为dart 11:55:40 AM信息颤振的SDK路径未初始化,运行“颤振医生”强制.上午11:55:42 Info进程日志数据.11:55:43 AM /mnt/c/Users/OEM/Documents/flutter/bin/flutter:第5行:$'\r':命令未找到/mnt/c/Users/OEM/Documents/flutter/bin/flutter:第13行:$'\r':命令未找到/mnt/c/Users/OEM/Documents/flutter/bin/flutter:第14行: set::无效选项集:使用: set -abefhkmnptuvxBCHP -/mnt/c/Users/OEM/Documents//mnt/c/Users/OEM/Documents/flutter/bin/flutter:/bin/颤振:第15行:$'\r':命令未找到/mnt/c/Users/OEM/Documents/flutter/bin/flutter:第17行: unset:` `CDPATH ':不是有效的identi…11:55:43 AM Info退出(2,null)

我对发展非常陌生,所以如果我的方法离这里很远,请原谅我。有没有办法让VS代码在这个设置中识别我的Dart SDK?还是我最好还是直接使用powershell,让WSL完全消失?谢谢您抽时间见我。

EN

回答 1

Stack Overflow用户

发布于 2021-11-13 15:45:26

虽然我不确定这不能工作,但这肯定不是我( Dart扩展的作者)所期望的使用方式。在WSL中运行时,Dart扩展在Linux-land中运行,并假设颤振进程可能不成立(例如,它可能捕获PID并期望能够向它们发送信号)。

如果您想在WSL中运行,我建议在WSL中设置一个颤振SDK (它将下载Dart SDK的Linux构建)。但是,您可能会发现,有些功能不会以这种方式工作(例如,WSL实例可能看不到在Windows中连接的设备)。

如果您没有真正的需要使用WSL,我建议跳过它-这只是额外的复杂性,您可能不需要。如果您确实需要它,我会对用例感兴趣(了解扩展的用户正在做什么以避免像这样的混乱)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69890965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档