1-1 ESP32开发环境配置

前言:


基于Arduio配置ESP32开发环境...


目录

前言:

1.0 安装Python

2.0 安装VSCode

3.0 VSCode实用插件

4.0 替换VSCode配置(可选)

后记 


1.0 安装Python


 在windows操作系统的搜索框中搜索Microsoft Store

 点击获取

安装完成后安装按钮消失

WIN + R 打开命令行窗口输入CMD

命令框中输入python

注:出现版本信息表示安装成功


2.0 安装VSCode


安装参考:https://blog.csdn.net/msdcp/article/details/127033151


3.0 VSCode实用插件


第一次打开VSCode,有可能右下角会提示是否安装中文语言包,如果有提示,直接点击安装;如果没有提示点击左边Extension图标,搜索中文,安装简体中文插件


注:这是一个简单的中文插件,对国人来说非常友好,安装完成后,需要重启Vscode中文才会生效,右下角会有重启提示,如果不提示,自己重启VScode即可


按照同样的方法,搜索platformio插件,并安装,稍等几秒钟,即可安装成功

你会发现 VSCode自动开始下载platformio依赖的各种资源,观察右下角提示信息,当出现如下图所示的提示信息时,果断关闭Vscode程序

这里果断关闭VScode终止下载,是因为后续的下载速度很慢,并且就算这一步成功下载了,后续创建esp32的项目时,仍然需要下载更多资源,使用VSCode下载的资源时间比较长,大部分人接受不了,所以接下来我们采用离线安装的方式进行安装。以下是专属的资源包,用百度网盘的方式提供出来


链接: https://pan.baidu.com/s/1YOjoZaW0urQmff6-xWKgWg?pwd=v5th

提取码: v5th 


将下载下来的压缩包解压后,出现如下内容 

将以下内容进行复制

至此,再次打开VSCode,点击左边的蚂蚁头图标,左边操作选项很快就能加载出来,说明platformio需要的离线资源已经全部准备完毕。

Prettier - Code formatter插件安装

插件市场搜索Prettier - Code formatter,按照之前的方法安装,该插件能够快速将代码格式化,代码编写过程中,按下键盘ctrl+s即可自动格式化代码,保持整洁的代码格式。

安装Error Lens插件

 插件市场搜索Error Lens,按照之前的方法安装,该插件能够将错误信息报告得更详细,比如你在写代码时,将英文分号写成了中文分号,该插件会明确提示你。

安装Codesnap插件

插件市场搜索Codesnap,按照之前的方式安装,该插件可以很方便地把所选代码制作成优美图片,便于代码分享。


4.0 替换VSCode配置(可选)


{
    "files.autoSave": "afterDelay",
    "files.autoGuessEncoding": true,
    "workbench.list.smoothScrolling": true,
    "editor.cursorSmoothCaretAnimation": "on",
    "editor.smoothScrolling": true,
    "editor.cursorBlinking": "smooth",
    "editor.mouseWheelZoom": true,
    "editor.formatOnPaste": true,
    "editor.formatOnType": true,
    "editor.formatOnSave": true,
    "editor.wordWrap": "on",
    "editor.guides.bracketPairs": true,
    "editor.suggest.snippetsPreventQuickSuggestions": false,
    "editor.acceptSuggestionOnEnter": "smart",
    "editor.suggestSelection": "recentlyUsed",
    "window.dialogStyle": "custom",
    "debug.showBreakpointsInOverviewRuler": true,
    "workbench.startupEditor": "none",
    "editor.fontSize": 25,
    "editor.fontFamily": "Consolas, 'Courier New', monospace",
    "prettier.tabWidth": 4
  }

设置vscode快捷键(可选)

 快捷键能大幅提高工作效率,下面我个人用了很多年的快捷键设置,有需要的可以自取(Mac系统将下面的ctrl替换成cmd即可)

// 将键绑定放在此文件中以覆盖默认值auto[]
[
  {
    "key": "ctrl+d",
    "command": "editor.action.deleteLines",
    "when": "textInputFocus && !editorReadonly"
  },
  {
    "key": "shift+ctrl+k",
    "command": "-editor.action.deleteLines",
    "when": "textInputFocus && !editorReadonly"
  },
  {
    "key": "alt+left",
    "command": "-cursorWordLeft",
    "when": "textInputFocus"
  },
  {
    "key": "alt+left",
    "command": "-breadcrumbs.focusPreviousWithPicker",
    "when": "breadcrumbsActive && breadcrumbsVisible && listFocus && !inputFocus"
  },
  {
    "key": "shift+ctrl+f",
    "command": "-workbench.view.search",
    "when": "workbench.view.search.active && neverMatch =~ /doesNotMatch/"
  },
  {
    "key": "shift+ctrl+f",
    "command": "-workbench.action.findInFiles"
  },
  {
    "key": "shift+ctrl+f",
    "command": "-workbench.action.terminal.searchWorkspace",
    "when": "terminalFocus && terminalProcessSupported && terminalTextSelected"
  },
  {
    "key": "shift+ctrl+f",
    "command": "-filesExplorer.findInFolder",
    "when": "explorerResourceIsFolder && filesExplorerFocus"
  },
  {
    "key": "shift+ctrl+f",
    "command": "editor.action.formatDocument",
    "when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
  },
  {
    "key": "alt+ctrl+l",
    "command": "-editor.action.formatDocument",
    "when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
  },
  {
    "key": "shift+alt+f",
    "command": "-editor.action.formatDocument",
    "when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
  },
  {
    "key": "alt+ctrl+l",
    "command": "-editor.action.formatDocument.none",
    "when": "editorTextFocus && !editorHasDocumentFormattingProvider && !editorReadonly"
  },
  {
    "key": "alt+right",
    "command": "workbench.action.navigateForward",
    "when": "canNavigateForward"
  },
  {
    "key": "alt+left",
    "command": "workbench.action.navigateBack",
    "when": "canNavigateBack"
  },
  {
    "key": "alt+ctrl+right",
    "command": "-workbench.action.navigateForward",
    "when": "canNavigateForward"
  },
  {
    "key": "ctrl+]",
    "command": "-workbench.action.navigateForward",
    "when": "canNavigateForward"
  },
  {
    "key": "ctrl+-",
    "command": "-workbench.action.navigateBack",
    "when": "canNavigateBack"
  },
  {
    "key": "ctrl+up",
    "command": "editor.action.copyLinesUpAction",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "shift+alt+up",
    "command": "-editor.action.copyLinesUpAction",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "ctrl+down",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus && !editorReadonly"
    },
    {
        "key": "shift+alt+down",
        "command": "-editor.action.copyLinesDownAction",
        "when": "editorTextFocus && !editorReadonly"
    },
    {
        "key": "ctrl+d",
        "command": "-editor.action.copyLinesDownAction",
        "when": "editorTextFocus && !editorHasSelection && !editorReadonly"
    },
    {
        "key": "shift+alt+up",
        "command": "-editor.action.moveLinesUpAction",
        "when": "editorTextFocus && !editorReadonly"
    },
    {
        "key": "shift+alt+down",
        "command": "-editor.action.moveLinesDownAction",
        "when": "editorTextFocus && !editorReadonly"
    },
    {
        "key": "alt+up",
        "command": "-editor.action.smartSelect.grow",
        "when": "editorTextFocus"
    },
    {
        "key": "alt+down",
        "command": "-notebook.cell.moveDown",
        "when": "notebookEditorFocused && !inputFocus"
    },
    {
        "key": "alt+down",
        "command": "-editor.action.smartSelect.shrink",
        "when": "editorTextFocus"
    },
    {
        "key": "alt+left",
        "command": "-cursorWordLeft",
        "when": "editorTextFocus && !config.intellij-idea-keybindings.useCamelHumpsWords"
    },
    {
        "key": "alt+left",
        "command": "-cursorWordPartStartLeft",
        "when": "config.intellij-idea-keybindings.useCamelHumpsWords && editorTextFocus"
    },
    {
        "key": "alt+right",
        "command": "-cursorWordPartRight",
        "when": "config.intellij-idea-keybindings.useCamelHumpsWords && editorTextFocus"
    },
    {
        "key": "alt+right",
        "command": "-cursorWordRight",
        "when": "editorTextFocus && !config.intellij-idea-keybindings.useCamelHumpsWords"
    },
    {
        "key": "alt+right",
        "command": "-breadcrumbs.focusNextWithPicker",
        "when": "breadcrumbsActive && breadcrumbsVisible && listFocus && !inputFocus"
    },
    {
        "key": "alt+right",
        "command": "-cursorWordEndRight",
        "when": "textInputFocus"
    },
    {
        "key": "alt+left",
        "command": "-breadcrumbs.focusPrevious",
        "when": "breadcrumbsActive && breadcrumbsVisible"
    },
    {
        "key": "alt+right",
        "command": "-breadcrumbs.focusNext",
        "when": "breadcrumbsActive && breadcrumbsVisible"
    }
]

将以上的内容复制到快捷键设置中

点击左下角设置按钮,打开键盘快捷方式,然后转换成json配置形式,全选替换成上述内容即可


快捷键用法

● 删除光标所在行,ctrl+d
● 将光标所在行上移一行,alt+↑
● 将光标所在行下移一行,alt+↓
● 向上复制光标所在行,ctrl+↑
● 向下复制光标所在行,ctrl+↓
● 光标所在位置后退,alt+←
● 光标坐在位置前进,alt+→

后记 

个人学习总结,仅供学习参考......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/932071.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【k8s 深入学习之 event 聚合】event count累记聚合(采用 Patch),Message 聚合形成聚合 event(采用Create)

参考 15.深入k8s:Event事件处理及其源码分析 - luozhiyun - 博客园event 模块总览 EventRecorder:是事件生成者,k8s组件通过调用它的方法来生成事件;EventBroadcaster:事件广播器,负责消费EventRecorder产生的事件,然后分发给broadcasterWatcher;broadcasterWatcher:用…

AURIX TC3xx学习笔记2 GTM模块

文章目录 引言功能改进一些缩写 功能细节GTM Clock and Time Base Management (CTBM)Clock Management Unit (CMU)External Generation Unit (EGU)Configurable Clock Generation sub-unit (CFGU)Fixed Clock Generation (FXU) Time Base Unit (TBU) Cluster Configuration Mod…

在CentOS上无Parallel时并发上传.wav文件的Shell脚本解决方案

在CentOS上无Parallel时并发上传.wav文件的Shell脚本解决方案 背景概述解决方案脚本实现脚本说明使用指南注意事项在CentOS操作系统环境中,若需并发上传特定目录下的.wav文件至HTTP服务器,而系统未安装GNU parallel工具,我们可通过其他方法实现此需求。本文将介绍一种利用Sh…

QT通过在线安装器安装【详细】

在线安装器地址: 官方在线安装器:Index of /official_releases/online_installers (qt.io) 通过命令行启动安装页面 直接双击qt安装程序,在线安装会非常慢,甚至安装失败,所以通过命令行页面启动安装页面。点击wind…

保姆级教学 uniapp绘制二维码海报并保存至相册,真机正常展示图片二维码

一、获取二维码 uni.request({url: https://api.weixin.qq.com/wxa/getwxacode?access_token${getStorage("token")},responseType: "arraybuffer",method: "POST",data: {path: "/pages/index/index"},success(res) {// 转换为 Uint…

Unity类银河战士恶魔城学习总结(P166 Ailments FX 异常状态伤害粒子特效)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节创建了三种粒子特效,火焰,寒冰,雷电 主场景创建/特效/粒子 初始的例子特效 火焰 寒冰 雷电 En…

Java基于SpringBoot的网上订餐系统,附源码

博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…

[笔记] Windows 上 Git 安装详细教程:从零开始,附带每个选项解析

Git 是目前最流行的分布式版本控制系统之一,广泛应用于软件开发和项目管理中。对于 Windows 用户来说,正确安装和配置 Git 是开始使用 Git 的第一步。本文提供一份详细的指南,帮助你在 Windows 系统上顺利安装 Git,并解释每个安装…

JavaScript编写css自定义属性

一、自定义属性 是在 CSS 中定义的变量,以 --开头。它们可以存储颜色、尺寸、字体等任何 CSS 值,并且可以在整个文档中重复使用。 :root {--primary-color: #3498db;--font-size: 16px; }body {color: var(--primary-color);font-size: var(--font-siz…

项目开发之Jenkins

文章目录 思考基础概述JenkinsMavenGit集成开发部署GitLab服务安装 实战1 新建任务需要的配置pipeline最后 思考 jenkis怎么连接github仓库? jenkis的作用是什么?基础 概述 定义:Jenkins是一款开源的持续集成(Continuous Integration&…

core Webapi jwt 认证

core cookie 验证 Web API Jwt 》》》》用户信息 namespace WebAPI001.Coms {public class Account{public string UserName { get; set; }public string UserPassword { get; set; }public string UserRole { get; set; }} }》》》获取jwt类 using Microsoft.AspNetCore.Mvc…

TCP/IP协议详解(小白)

TCP/IP协议详解 TCP/IP协议包含了一系列的协议,也叫TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。TCP/IP协议族提供了点对点的连结机制,并且将传输数据帧的封装、寻址、传输、路由…

Java项目实战II基于微信小程序的旅游社交平台(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 随着移动互联网的迅猛发展,旅游已经成为人…

jmeter配置

单接口运行没问题,但是批量执行100个线程数发现总是提示请求不合法 最后发现 需要将配置改成 正好回归一下这个配置: Ramp-Up时间(秒)的定义: Ramp-Up时间是指在JMeter测试中,所有指定的线程&#xff08…

SpringBoot 项目如何集成 JWT

SpringBoot 项目如何集成 JWT JWT JSON Web Token (JWT) 是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。 在 Oauth2 中,其实就是返回访问令牌 (access_token&#…

【innodb阅读笔记】之 Innodb行记录格式 (Compact 行格式)

一、Innodb行记录格式 innodb 存储引擎同大多数数据库一样,记录是以行的形式存储的。这意味着页中保存的一行行的数据。在 mysql 5.7 版本中,默认格式为 Dynamic,可以通过命令查看当前表的行格式,其中 row_format 表示当前表行记录…

交易所 Level-2 历史行情数据自动化导入攻略

用户部署完 DolphinDB 后,需要将历史股票数据批量导入数据库,再进行数据查询、计算和分析等操作。DolphinDB 开发了 ExchData 模块,主要用于沪深交易所 Level-2 行情原始数据的自动化导入,目前已支持的数据源包括: 沪…

加载内核映像文件

将kernel转换成elf文件格式,不能直接从loader直接跳转到0x100000,需要解析,提取出代码和数据出来,放到0x10000(64kb)的位置,1M的位置只是存放elf文件的位置。 4.10加载内核映像文件2 common/el…

【数字电路与逻辑设计】实验一 序列检测器

文章总览:YuanDaiMa2048博客文章总览 【数字电路与逻辑设计】实验一 序列检测器 一、实验内容二、设计过程(一)作出状态图或状态表(二)状态化简(三)状态编码 三、源代码(一&#xff…