VSCode 配置 ESP-IDF 开发环境

前言

本文将详细介绍如何在 VSCode 中配置 ESP-IDF 开发环境,适用于 ESP32 系列芯片的开发者。通过本教程,您将学会如何安装必要工具、获取 ESP-IDF、配置环境变量以及设置 VSCode 开发环境。


环境准备

安装必要工具

首先,安装 CMake、Ninja 编译工具以及 Python:

1
brew install cmake ninja dfu-util python3

为了加速编译,建议安装 ccache

1
brew install ccache

获取 ESP-IDF

在开始开发之前,需要获取乐鑫提供的 ESP-IDF 软件库。

  1. 打开终端,切换到您希望保存 ESP-IDF 的工作目录:
1
2
mkdir -p ~/esp
cd ~/esp
  1. 克隆 ESP-IDF 仓库:
1
git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git
  1. 如果下载中断,可以使用以下命令继续下载:
1
git submodule update --init --recursive

安装工具链

ESP-IDF 需要一系列工具支持开发。以下是安装步骤:

  1. 切换到 ESP-IDF 目录:
1
cd ~/esp/esp-idf
  1. 设置 GitHub 资源镜像地址(可选):
1
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
  1. 安装工具链:
1
./install.sh esp32,esp32s3

配置环境变量

为了方便使用 ESP-IDF,需要配置环境变量。

  1. 在 shell 配置文件(如 .profile.bashrc.zprofile)中添加以下命令:
1
alias get_idf='. $HOME/esp/esp-idf/export.sh'
  1. 刷新配置文件:
1
source ~/.bashrc  # 根据实际文件路径替换
  1. 使用 get_idf 命令快速激活 ESP-IDF 环境:
1
get_idf

注意:不建议直接将 export.sh 添加到 shell 配置文件中,以免影响其他终端会话。


配置 VSCode 开发 ESP32

安装 Clangd 插件

在 VSCode 中安装 clangd 插件以支持代码补全和语法检查。

安装 ESP 专用 Clangd

  1. 使用以下命令安装 ESP 专用的 clangd
1
idf_tools.py install esp-clang
  1. 查找 clangd 的完整路径:
1
tree ~/.espressif -f | grep 'clangd'
  1. 将路径添加到项目的 .vscode/settings.json 文件中:
1
2
3
4
5
6
7
8
9
10
11
{
"clangd.arguments": [
"--enable-config",
"-log=verbose",
"-pretty",
"--background-index",
"--compile-commands-dir=build",
"--query-driver=**"
],
"clangd.path": "/Users/bubao/.espressif/tools/esp-clang/16.0.1-fe4f10a809/esp-clang/bin/clangd"
}

配置 .clangd

在项目根目录下创建 .clangd 文件,添加以下内容:

1
2
3
4
5
6
7
8
CompileFlags:
Remove:
- -fno-tree-switch-conversion
- -fno-shrink-wrap
- -mtext-section-literals
- -mlongcalls
- -fstrict-volatile-bitfields
- -march=rv32imac_zicsr_zifencei

如果不想在项目中创建 .clangd 文件,可以在全局配置文件中添加上述内容:

  • macOS: ~/Library/Preferences/clangd/config.yaml
  • Windows: C:\Users\Bob\AppData\Local\clangd\config.yaml
  • Linux: $XDG_CONFIG_HOME/clangd/config.yaml~/.config/clangd/config.yaml

相关链接


VSCode 配置 ESP-IDF 开发环境
https://bubao.github.io/posts/8e2f2a51.html
作者
一念
发布于
2025年3月29日
许可协议