有手就行 | Flutter在VSCode(Visual Studio Code)中的安装与配置

article/2025/8/6 5:23:17

目录

  • 一、前言
  • 二、资料参考
  • 三、版本参考
  • 四、Flutter在Visual Studio Code中的安装与配置
    • (一)下载Flutter插件及SDK
    • (二)检查开发配置及问题解决
      • (1)通过代理解决
      • (2)通过镜像网站解决
  • 五、小结与后续

一、前言

  安装配置Flutter的办法挺多的。可以在官网上下载,再在IDE中配置;也可以直接使用IDE下载并配置。之前的文章中已经讲到作者打算使用VSC(Visual Studio Code)进行开发。众所周知VSC是一个很方便的轻量级IDE,作者呢图方便就不在官网上下,直接使用VSC配置了。
  所以在安装Flutter之前呢,需要先装VSC,如果还没安装VSCode或不知道怎么安装配置,可以参考这个专栏的一篇文章:有手就行 | Visual Studio Code的安装及语言(简体中文)配置(Windows);同时我们也会用到Git,可以参考这个专栏的另一篇文章:有手就行 | Git的下载安装及其环境变量配置(Windows)。
  这篇文章记录了在Windows系统中使用VSCode安装并配置Flutter框架,以及通过代理或镜像网站对相关配置问题的解决。按步骤来,有手就行。觉得有用的 | 点赞 | 收藏 | 关注 | 支持下~

二、资料参考

  记录几个可参考的网站:
  Flutter的官方中文文档:在中国网络环境下使用 Flutter
  VSCode安装与配置:有手就行 | Visual Studio Code的安装及语言(简体中文)配置(Windows)
  Git的安装与配置:有手就行 | Git的下载安装及其环境变量配置(Windows)
  其它可参考网站:
  Flutter 官方(英文)文档
  Flutter 官网
  Flutter 中文开发者网站
  Flutter 中文网

三、版本参考

  操作系统:Windows 11
  软件工具:Visual Studio Code x64 1.99.3
       Git 2.49.0
       Flutter 3.29.3
       Dart 3.7.2
       DevTools 2.42.3
  *注:主要参考VSCode、Git、Flutter就行了,其它的作者顺便记录下。

四、Flutter在Visual Studio Code中的安装与配置

(一)下载Flutter插件及SDK

  在扩展仓库中直接搜索“flutter”,选择并点击“安装”。

  点击“信赖发布者和安装”。

  点击上方搜索栏。

  直接点击“显示并运行命令”或者使用快捷键“Ctrl + Shift + P”。

  输入“flutter”并选择“flutter: New Poject”。

  由于此时Flutter的SDK还没下载,所以我们选择“Download SDK”。

  然后VSC会让你选一个下目录。在D盘创建一个文件夹,重命名为“Flutter”并选择,点击“Clone Flutter”。

  然后就开始下载了,浅等一会儿。

  耐心等待,它可能会弹出一些错误,但是没有影响。直到右下角弹出这样的弹窗。没看到的朋友点击右下角的“铃铛”图标,看看里面有没有。我们点击“Add SDK to PATH”。

  成功后会显示“The Flutter SDK was added to your PATH”。

(二)检查开发配置及问题解决

  重启VSCode,新建一个终端。

  输入flutter doctor并运行。如果是这样的(图源官方手册),它说! Doctor found issues in 2 categories.,那说明大佬您成功了:

  但如果是这样的,它说! Doctor found issues in 4 categories.,别担心,这是正常情况。

  这是因为Maven库我们国内是连不上的。两个解决方案:一个是通过代理解决,一个是通过阿里云的镜像Maven网站解决。
  建议还是通过代理解决,因为有些新的包镜像网站里没有,Flutter还是比较依赖Maven库的;另一个原因就是镜像网站治标不治本,使用代理是解决根本的网络问题,会影响到同样使用环境变量读取代理设置的程序,如命令行工具curl、git、pip等。

(1)通过代理解决

  打开CMD命令窗口,输入以下命令查看是不是已经配置了代理端口。

echo %HTTP_PROXY%
echo %HTTPS_PROXY%

  有的话,可以使用以下命令清理。

setx HTTP_PROXY ""
setx HTTPS_PROXY ""

  然后使用一下命令重新配置代理端口,一般端口为7890,最好查看下自己的端口号是多少。

setx HTTP_PROXY http://127.0.0.1:7890
setx HTTPS_PROXY http://127.0.0.1:7890
setx NO_PROXY "localhost,127.0.0.1,::1"

  然后重新启动CMD窗口,重新使用以下命令验证是否配置成功。

echo %HTTP_PROXY%
echo %HTTPS_PROXY%

  如果有输出了你配置的端口,如http://127.0.0.1:7890,就是可以了。当然那你也可以直接查看系统的环境变量是不是多了下面这个东西(因为刚才这波操作的本质就是给你调整了几个环境变量。

  之后你也可以在VSCode中的终端(Powershell)中查看环境变量是否已经配置完成。只是需要注意二者的语法差异(作者就是因为这里的语法被卡了好久。。。)。CMD使用%变量名%(如%PATH%),而Powershell使用$env:变量名(如&env:Path)。命令就会变成如下形式:

echo $env:HTTP_PROXY
echo &env:%HTTPS_PROXY

  同样,如果输出了如http://127.0.0.1:7890,就是可以了。如果不行的话,就重启下VSCode,或者重启下电脑。
  最后在Powershell中再次输入flutter doctor,输出如图就是成功了。

(2)通过镜像网站解决

  再次提醒:此方法固然方便,但治标不治本,兼容性差、维护困难,建议还是第一种办法。
  我们要修改Flutter SDK中的http_host_validator.dart,文件路径如下:

..\packages\flutter_tools\lib\src\http_host_validator.dart

  用记事本打开后,找到如下代码。

  把其中的const String kMaven = 'https://maven.google.com/';注释掉,替换为const String kMaven = ‘https://maven.aliyun.com/repository/google/’;,如下:

//const String kMaven = 'https://maven.google.com/';
const String kMaven = ‘https://maven.aliyun.com/repository/google/';

  找到目录..\flutter\bin中的cache文件,删除。

  回到VSCode中的Powershell,再次使用命令flutter doctor,输出如图就是成功了。

五、小结与后续

  这次配置的话作者自己也卡了几个地方,,主要还是搞代理那里,被语法卡了,,最后还是问了DeepSeek解决的下次注意。。。
  按照官方的文档看,这样就算已经在VSCode中配置好了。虽然还存在三个感叹号,但暂时也能用了。有空再出一期补充,对三个感叹号的问题的解决再详细说明。
  接下来应该正式开始进入到Flutter框架的学习了。应该先从Dart语言开始。另外作者还会出一期有关Cursor的配置,毕竟这个现在写代码实在太香太快了。


http://www.hkcw.cn/article/eoIQMtbYMP.shtml

相关文章

任务21:天气信息大屏说明及流程

任务描述 1. 大屏制作流程 1)创建DJango项目 2)读取MySQL数据,并参照ECharts图形的数据格式进行处理 3)参照对照模板、ECharts官网配置项手册及示例,将相应的ECharts图形绘制到大屏对应的容器中。 2. 大屏制作说明…

精英-探索双群协同优化(Elite-Exploration Dual Swarm Cooperative Optimization, EEDSCO)

一种多群体智能优化算法,其核心思想是通过两个分工明确的群体——精英群和探索群——协同工作,平衡算法的全局探索与局部开发能力,从而提高收敛精度并避免早熟收敛。 一 核心概念 在传统优化算法(如粒子群优化、遗传算法&#xf…

Go 即时通讯系统:客户端与服务端 WebSocket 通信交互

客户端和服务端的交互 客户端与服务端建立连接 客户端:客户端通过浏览器或者其他应用程序发起一个 HTTP 请求到服务端的 /socket.io 路径。在请求中会携带用户的 UUID 作为参数(通过 c.Query("user") 获取)。 // router/socket.…

Python 训练营打卡 Day 41

简单CNN 一、数据预处理 在图像数据预处理环节,为提升数据多样性,可采用数据增强(数据增广)策略。该策略通常不改变单次训练的样本总数,而是通过对现有图像进行多样化变换,使每次训练输入的样本呈现更丰富…

什么是模块化设计?模块和微服务是一样?

软件的模块化设计和微服务是两种不同层次的概念,它们有相似之处但并非等同。以下是详细解释: 一、软件的模块化设计(Modular Design) 定义 模块化设计是指将一个复杂的软件系统拆分为多个相对独立的模块(Module&…

基于千帆大模型的AI体检报告解读系统实战:使用OSS与PDFBox实现PDF内容识别

目录 说明 前言 需求 流程说明 表结构说明 整体流程 百度智能云 注册和实名认证 创建应用 费用说明 大模型API说明 集成大模型 设计Prompt 上传体检报告 读取PDF内容 功能实现 智能评测 抽取大模型工具 功能实现 总结 说明 AI体检报告解读、病例小结或者…

PySide6 GUI 学习笔记——常用类及控件使用方法(标签控件QLabel)

文章目录 标签控件QLabel及其应用举例标签控件QLabel的常用方法及信号应用举例Python 代码示例1Python 代码示例2 小结 标签控件QLabel及其应用举例 QLabel 是 PySide6.QtWidgets 模块中的一个控件,用于在界面上显示文本或图像。它常用于作为标签、提示信息或图片展…

TCP三次握手四次挥手

TCP基本认识 TCP的头格式 序列号:在建立连接时由计算机生成随机数作为初始值,通过SYN包传给接收端。每发送一次数据就累加一次该数据字节数的大小。用来解决网络号乱序。(乱序问题:未按发送顺序到达接收端称为乱序) 确认应答号:指下一次期望收到的数据的序列号&…

黑马Java面试笔记之MySQL篇(事务)

一. 事务的特性 事务的特性是什么?可以详细说一下吗? 事务是一组操作的集合,他是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失…

AI炼丹日志-27 - Anubis 通过 PoW工作量证明的反爬虫组件 上手指南 原理解析

点一下关注吧!!!非常感谢!!持续更新!!! Java篇: MyBatis 更新完毕目前开始更新 Spring,一起深入浅出! 大数据篇 300: Hadoop&…

WEBSTORM前端 —— 第3章:移动 Web —— 第4节:移动适配-VM

目录 一、适配方案 二、VM布局 ​编辑 三、vh布局 四、案例—酷我音乐 一、适配方案 二、VM布局 三、vh布局 四、案例—酷我音乐

AI:使用 Keras 实现线性回归模型

🌟从零开始:使用 Keras 实现线性回归模型(附完整代码 + 可视化教程)🔢📈 ✨线性回归是机器学习中的“Hello World”,适合新手入门。本文将通过一个完整的实战案例,带你使用 TensorFlow Keras 搭建一个线性回归模型,并对训练与预测结果进行可视化分析。 📎 本文亮…

TDengine 基于 TDgpt 的 AI 应用实战

基于 TDgpt 时序数据智能体的风力发电预测 作者: derekchen Demo 数据集准备 我们使用公开的UTSD数据集里面的某风场发电数据,作为预测算法的数据来源,基于历史数据预测未来一天内的每15分钟的发电量。原始数据集的采集频次为4秒&#xff…

模拟实现线程池(线程数目为定值)和定时器

前言 昨天学习关于定时器的相关知识。今天花时间去模拟实现了一个定时器,同时也去模拟实现了一个线程池(线程数目为定值)。我感觉我收获了很多,对于线程的理解加深了。跟大家分享一下~ 线程池和定时器(这个是主要)的实现 代码 线程池 import java.ut…

JMeter 性能测试

1.定时器 1.1 同步定时器 作用:阻塞线程使同时达到n个线程之后再发出请求,模拟高并发的场景。 路径:右键请求--添加--定时器--Synchronizing Timer 2.2 常数吞吐量定时器 作用:模拟服务器负载,即需要服务器以一个固定…

通俗易懂的 JS DOM 操作指南:从创建到挂载

目录 🧩 1. 创建元素:document.createElement / createElementNS 📝 2. 创建文本:document.createTextNode ✏️ 3. 修改文本:node.nodeValue 🗑️ 4. 移除元素:el.removeChild() &#x1…

串口通信技术及USART应用研究

串口通信技术及USART应用研究 # 串口通信技术及USART应用研究 摘要:本文深入探讨了串口通信技术的基本原理、硬件电路设计以及USART(通用同步/异步收发器)在STM32微控制器中的应用。首先对通信接口进行了概述,分析了不同通信协议…

OneRef论文精读(补充)

接上篇:OneRef论文精读 The five referring datasets 这些数据集应用于指代表达式理解(REC)、短语定位(PG)及指代表达式分割(RES)任务。表8列出了详细的统计数据。 RefCOCO/RefCOCO/RefCOCOg&…

vscode 代理模式(agent mode),简单尝试一下。

1. 起因, 目的: agent mode, 很流行,名气很大。简单试试效果,确实很强。agent mode, 取代人工,确实是前进了一大步。 2. 先看效果 效果对比,左边是 普通的AI 生成的, 右边是 代理…

Scratch节日 | 六一儿童节抓糖果

六一儿童节怎么能没有糖果?这款 六一儿童节抓糖果 小游戏,让你变身小猫,开启一场甜蜜大作战! 🎮 游戏玩法 帮助小猫收集所有丢失的糖果,收集越多分数越高! 小心虫子一样的“坏糖果”&#xff…