ESP-IDF VS Code 插件的新增功能
乐鑫 ESP-IDF Visual Studio (VS) Code 插件旨在方便 ESP 用户基于 ESP-IDF 进行软件开发。我们持续为其增加新功能,不断提升用户的开发体验。
ESP-IDF Visual Studio (VS) Code 插件:https://marketplace.visualstudio.com/items?itemName=espressif.esp-idf-extension
新增功能如下:

增加对 QEMU 仿真器的支持
QEMU 是一个开源的机器仿真器,常用于模拟各类操作系统和硬件设备。乐鑫新建了一个支持 ESP32 的 QEMU 分支代码仓库,支持用户使用 QEMU 仿真器软件模拟真实的 ESP32 设备行为。
我们在与 ESP-IDF VScode 插件的项目模板 (.devcontainer 文件) 配套使用的 Dockerfile 中,添加了对 QEMU 的支持。点此(https://github.com/espressif/vscode-esp-idf-extension/blob/master/docs/QEMU.md)了解更多关于此功能的信息。

增加分区表编辑器
开发者可以查询已连接设备的分区表信息,并选择任意 .bin 文件烧录至指定分区。

支持导入现有 ESP-IDF 项目
我们新增了 Import ESP-IDF Project 命令,支持用户复制一个现有的 ESP-IDF 项目,将其 .vscode 配置文件和 .devcontaine 文件添加至新项目中,并保存在指定路径下。

集成了 ESP-IDF 组件注册器
我们还集成了 ESP-IDF 组件注册器 (IDF Component registry: https://components.espressif.com/),支持用户在项目中添加组件。用户运行 ESP-IDF: Show Component registry 命令即可打开组件页面。

升级了欢迎页面
我们对插件的欢迎页面也进行了升级,增加了相关文档链接及一些基本功能按钮。用户可通过运行 ESP-IDF: Welcome 命令打开欢迎页面。

其他主要改进和新增功能
支持使用 gdb 命令直接进行堆跟踪。现在,我们可以直接使用 gdb 命令替代之前的 openOCD TCL 命令,来启动和停止堆跟踪。更多有关堆跟踪的信息,请参考 ESP-IDF 编程指南 (https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-reference/system/heap_debug.html#heap-tracing) 和堆跟踪扩展教程 (https://github.com/espressif/vscode-esp-idf-extension/blob/master/docs/tutorial/heap_tracing.md)。
在 build task 后增加了 idf-size.py 输出功能。用户运行 ESP-IDF: Build your project 或 ESP-IDF: Build, flash and start a monitor 命令后,即可通过输出信息了解当前应用程序的内存情况,以优化二进制文件的大小。
在 Build, flash and monitor 命令中增加了 JTAG 烧录类型。相比于之前仅支持的 UART 烧录,现在用户可通过配置 idf.flashType,选择不同的烧录类型。
增加了 Configure project for coverage 命令,用于在项目的 sdkconfig 文件中设置相关值,从而使能项目的代码覆盖率功能。正如代码覆盖率教程 (https://github.com/espressif/vscode-esp-idf-extension/blob/master/docs/tutorial/code_coverage.md) 中的介绍,用户如需使用该扩展的代码覆盖率功能,则必须使用这一命令。
为 Windows 用户提供便捷版的 Git 和 Python 配置,使 Windows 用户在使用 ESP-IDF: Configure ESP-IDF extension 安装向导时,不再需要预先安装任何准备工具。
增加了 idf.enableUpdateSrcsToCMakeListsFile 命令,可以在创建或删除 .c 文件时,随时启用/禁用 CMakeLists.txt SRCS field 更新。
在安装向导中增加了乐鑫下载镜像选项,从而允许用户在运行 ESP-IDF: Configure ESP-IDF extension 时,选择速度更快的 GitHub 下载服务器(例如 Gitee)。
在 VSCode 状态栏中添加了串行端口和 IDF 编译目标,用户仅通过单击即可更改命令。
新增了构建前、构建后、烧录前、烧录后和自定义任务配置选项。用户可在构建项目前后,分别使用 idf.preBuildTask 和 idf.postBuildTask 命令添加额外任务;在烧录前后使用 idf.preFlashTask 和 idf.postFlashTask 命令添加额外任务。此外,用户还可配合 ESP-IDF: Execute custom task(可见状态栏图标)使用 idf.customTask 命令自定义任务。
增加了 idf.notificationSilentMode 命令,支持用户启用/禁用命令完成时的通知(在禁用通知时,只显示任务输出结果)。例如将 idf.notificationSilentMode 设置为"True",将会隐藏构建成功和烧录完成等通知,直接显示任务输出结果。
请持续关注我们的更多动态。

相关链接
提交功能需求或反馈 Bug:https://github.com/espressif/vscode-esp-idf-extension/issues/new/choose
ESP-IDF VS Code 插件教程:https://github.com/espressif/vscode-esp-idf-extension/blob/master/docs/tutorial/toc.md
ESP32 IDE 论坛:https://esp32.com/viewforum.php?f=40

