Develop, build, flash, monitor, debug and more with Espressif chips using Espressif IoT Development Framework (ESP-IDF).
Visual Studio Code Mac Install
Quick links
Prerequisites
Install Visual Studio Code on macOS. Install the C extension for VS Code. You can install the C/C extension by searching for 'c' in the Extensions view (Ctrl+Shift+X). Ensure Clang is installed #. Jul 30, 2020 For running Visual Studio Code from the terminal, you need to do a few extra steps as from Running Visual Studio Code on macOS: Get Visual Studio Code up and running on Mac (macOS): Launching from the Command Line. You can also run VS Code from the terminal by typing ‘code’ after adding it to the path: Launch VS Code.
There are few dependencies required in your system and available in environment variable PATH before installing this extension:
Linux | MacOS | Windows |
---|---|---|
Python 3.5+ | Python 3.5+ | Python 3.5+ |
Git | Git | Git |
CMake | CMake | |
Ninja-build | Ninja-build |
All the other dependencies like ESP-IDF and ESP-IDF Tools can be installed using the ESP-IDF: Configure ESP-IDF extension setup wizard or following the steps in the setup documentation.
Please note that this extension only supports the release versions of ESP-IDF, you can still use the extension on master
branch or some other branch, but certain feature might not properly work.
Install this extension in your Visual Studio Code.
Msdn subscription site. Then
- Either open Visual Studio Code and create a workspace folder.
- Run
code ${YOUR_PROJECT_DIR}
from the command line.
Check you have installed the Prerequisites
Press F1 and type ESP-IDF: Configure ESP-IDF extension to open the extension configuration wizard. This will install ESP-IDF and tools and configure the extension.
Please take a look at SETUP for details about extension configuration.
Press F1 and type ESP-IDF: Create ESP-IDF project to generate a template ESP-IDF project.
Configure the
.vscode/c_cpp_properties.json
as explained in C/C++ Configuration.Note: If you want to get code navigation and ESP-IDF function references, the Microsoft C/C++ Extension can be used to resolve header/source links. By default, projects created with ESP-IDF: Create ESP-IDF project tries to resolve headers by manually recursing ESP-IDF directory sources with the Tag Parser engine. This can be optimized by building the project first and configure your project to use
build/compile_commands.json
as explained in C/C++ Configuration.Php localhost for mac. Do some coding!
Check you set the correct port of your device by pressing F1, typing ESP-IDF: Select port to use: and choosing the serial port your device is connected.
When you are ready, build your project. Then flash to your device by pressing F1 and typing ESP-IDF: Flash your device then selecting Flash allows you to flash the device.
You can later start a monitor by pressing F1 and typing ESP-IDF: Monitor your device which will log the activity in a Visual Studio Code terminal.
Laptop covers for mac. If you want to start a debug session, just press F5 (make sure you had at least build and flash once before so the debugger works correctly). To make sure you can debug your device, set the proper
idf.openOcdConfigs
settings in your settings.json or by pressing F1 and typing ESP-IDF: Device configuration.
Click F1 to show Visual studio code actions, then type ESP-IDF to see possible actions.
Command Description | Keyboard Shortcuts (Mac) | Keyboard Shortcuts (Windows/ Linux) |
---|---|---|
Add Arduino ESP32 as ESP-IDF Component | ||
Add Editor coverage | ||
Add vscode configuration folder | ||
Build, Flash and start a monitor on your device | ⌘ E D | Ctrl E D |
Build your project | ⌘ E B | Ctrl E B |
Configure ESP-IDF extension | ||
Configure Paths | ||
Create project from extension template | ⌘ E C | Ctrl E C |
Create new ESP-IDF Component | ||
Device configuration | ||
Dispose current SDK Configuration editor server process | ||
Doctor command | ||
Flash your project | ⌘ E F | Ctrl E F |
Full clean project | ⌘ E X | Ctrl E X |
Get HTML Coverage Report for project | ||
Install ESP-ADF | ||
Install ESP-IDF Python Packages | ||
Install ESP-MDF | ||
Monitor your device | ⌘ E M | Ctrl E M |
New Project | ⌘ E N | Ctrl E N |
Open ESP-IDF Terminal | ⌘ E T | Ctrl E T |
Open NVS Partition Editor | ||
Pick a workspace folder | ||
SDK Configuration editor | ⌘ E G | Ctrl E G |
Search in documentation.. | ⌘ E Q | Ctrl E Q |
Select port to use | ⌘ E P | Ctrl E P |
Select OpenOCD Board Configuration | ||
Set default sdkconfig file in project | ||
Set Espressif device target | ||
Show Examples Projects | ||
Show ninja build summary | ||
Size analysis of the binaries | ⌘ E S | Ctrl E S |
Remove Editor coverage |
The Add Arduino-ESP32 as ESP-IDF Component command will add Arduino-ESP32 as a ESP-IDF component in your current directory (${CURRENT_DIRECTORY}/components/arduino
). You can also use the Create ESP-IDF project command with arduino-as-component
template to create a new project directory that includes Arduino-esp32 as an ESP-IDF component.
NOTE Not all versions of ESP-IDF are supported. Make sure to check Arduino-ESP32 to see if your ESP-IDF version is compatible.
The Install ESP-ADF will clone ESP-ADF to a selected directory and set idf.espAdfPath
(idf.espAdfPathWin
in Windows) configuration setting.
Cached
The Install ESP-MDF will clone ESP-MDF to a selected directory and set idf.espMdfPath
(idf.espMdfPathWin
in Windows) configuration setting.
The Show Examples Projects command allows you create a new project using one of the examples in ESP-IDF, ESP-ADF or ESP-MDF directory if related configuration settings are set.
Commands for tasks.json and launch.json
We have implemented some utilities commands that can be used in tasks.json and launch.json like
as shown in the debugging documentation.
espIdf.getExtensionPath
: Get the installed location absolute path.espIdf.getOpenOcdScriptValue
: Return the value of OPENOCD_SCRIPTS fromidf.customExtraVars
or from system OPENOCD_SCRIPTS environment variable.espIdf.getOpenOcdConfig
: Return the openOCD configuration files as string. Example'-f interface/ftdi/esp32_devkitj_v1.cfg' -f board/esp32-wrover.cfg
.espIdf.getProjectName
: Return the project name from current workspace folderbuild/project_description.json
.espIdf.getXtensaGcc
: Return the absolute path of the xtensa toolchain gcc for the ESP-IDF target given byidf.adapterTargetName
configuration setting andidf.customExtraPaths
.espIdf.getXtensaGdb
: Return the absolute path of the xtensa toolchain gdb for the ESP-IDF target given byidf.adapterTargetName
configuration setting andidf.customExtraPaths
.
Available Tasks in tasks.json
There is also some tasks defined in Tasks.json, which can be executed by running F1 and writing Tasks: Run task
and selecting one ofthe following:
Build
- Build ProjectSet Target to esp32
Set Target to esp32s2
Clean
- Clean the projectFlash
- Flash the deviceMonitor
- Start a monitor terminalOpenOCD
- Start the openOCD serverBuildFlash
- Execute a build followed by a flash command.
Note that for OpenOCD tasks you need to define OPENOCD_SCRIPTS in your system environment variables with openocd scripts folder path.
Code of Conduct
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to vscode@espressif.com.
License
How To Run Visual Studio Code In Mac
This extension is licensed under the Apache License 2.0. Please see the LICENSE file for additional copyright notices and terms.