Skip to content

Latest commit

 

History

History
80 lines (50 loc) · 7.21 KB

FEATURES.md

File metadata and controls

80 lines (50 loc) · 7.21 KB

ESP-IDF Extension features for Visual Studio Code

This extension provides many features to ease development of ESP-IDF Projects.

Build

ESP-IDF: Build your project is provided by this extension to build your project using CMake and Ninja-build as explained in ESP-IDF Build system using Cmake directly.

Debugging

Click F5 to start debugging. To configure the debug behaviour, please review DEBUGGING.

NOTE For correct debug experience, first build your project, choose the right serial port, flash your device and define the correct idf.customExtraPaths paths and idf.customExtraVars using SETUP.

CMake Editor

On CMakeLists.txt file right click this extension provides a custom CMake Editor to fill our ESP-IDF Project and Component registration as specified in ESP-IDF Project CMakeLists.txt and ESP-IDF Component CMakeLists.txt files. You need to choose which kind of CMakeLists.txt file (project or component) to edit. There is 2 types of input, one is a simple string and another is an array of strings, such as Component Sources (SRCS). All inputs are described in the CMakeLists.txt Schema (${this_repository}/src/cmake/cmakeListsSchema.json).

Flash

ESP-IDF: Flash your project is provided by this extension to flash your project using the ESP-IDF esptool.py as explained in ESP-IDF Build system Flash arguments. This command depends on the ${YOUR_PROJECT_DIR}/build/flasher_args.json file generated by build and the idf.flashBaudRate configuration setting.

Kconfig files editor

When you open a Kconfig, Kconfig.projbuild or Kconfig.in file we provide syntax highlighting. If idf.useIDFKconfigStyle is enabled, we also provide ESP-IDF Kconfig style syntax validation such as indent validation and not closing blocks found (Example: menu-endmenu). Please review Kconfig Formatting Rules and Kconfig Language for further details about the ESP-IDF Kconfig formatting rules and Kconfig language in general.

Log & Heap Tracing

We support log and heap tracing out of the box, which enables users to perform log/heap tracing with just few button clicks and present the results of tracing data with UI.

You can follow this quick step-by-step guide for heap tracing.

Monitor

ESP-IDF: Monitor your device is provided by this extension to start idf.py monitor terminal program in Visual Studio Code. Please take a look at the IDF Monitor documentation.

SDK Configuration editor

Prerequisites

  • ESP-IDF >=v4.x

This plugin includes a GUI menuconfig that reads your current project folder's sdkconfig file (if available, otherwise it would take default values) and start the ESP-IDF JSON configuration server process (confserver.py in ${ESP-IDF-DIRECTORYPATH}/tools) that enables the user to redefine ESP-IDF project and board configuration.

When the user modify a parameter value, the value is send to the confserver.py process, which return the new value and other values modified to GUI menuconfig and then update the values in the UI.

Values are not automatically saved to the sdkconfig file until you click save changes. You can cancel any changes and load the values from the sdkconfig file by clicking cancel changes. If you click set default the current sdkconfig file is replaced by a template sdkconfig file and then loaded into the GUI menuconfig rendered values.

The search functionality allows to find a parameter by description, i.e the name that appears in the sdkconfig file.

An IDF GUI Menuconfig log in Output (Menu View -> Output) is created to print all communications with ${idf.espIdfPath}\tools\confserver.py. It can be be used to track any errors.

Set Espressif device target

The ESP-IDF: Set Espressif device target allows the user to choose among Espressif different chips based on idf.py set-target.

System View Tracing Viewer

We have provide a system view tracing viewer inside the vscode extension which will enable you to view the traces along with other relevant details.