Main features
STM32CubelDE and STM32CubelDE for Visual Studio Code are part of the STM32Cube ecosystem. They provide robust functionalities to streamline development, such as cross - platform compatibility, version control, and many more.
- Editor
- Build system
- Debugging
Code editor
The editor offers automated code completion, syntax and active code highlighting, call hierarchy, function/hover preview, and code templates.
User-friendly build tools
Intuitive graphical interfaces that streamline the configuration and analysis of build settings and results.
A comprehensive toolbox
Serial wire viewer (SWV) trace capabilities, statistical profiling, real-time operating system awareness for FreeRTOS and AzureRTOS/ThreadX, special function register (SFR) views. Traditional debugging capabilities are also available, such as code and data breakpoints, stepping, and code disassembling.
- Editor
- Build system
- Debugging
A powerful code and IP editor
High-end editing features, such as syntax highlighting, smart completion and hovers, thanks to IntelliSense and clangd.
Flexible build tools
The build system relies on the C/C++ industry standard CMake and Ninja tools. Developers can move existing CMake-driven code bases into STM32Cube for Visual Studio Code with close to zero porting effort. Leveraging CMake enables ACI integration, compiler freedom, and simplifies the integration of third-party test tools.
A flexible debugger
STM32Cube for Visual Studio Code includes its own debugging extension to enable single-click debug launches for ST-LINK and SEGGER J-LINK probes. Debug configurations are highly customisable and the debugger offers basic and advanced features.
What is the difference between STM32CubeIDE and STM32CubelDE for Visual Studio Code?
| Features | | |
|---|---|---|
| STM32 device support | Full MCU and MPU portfolio | Full MCU portfolio |
| Target audience | Developers preferring an integrated GUI | Developers preferring modularity / flexibility |
| Development style | GUI-rich, all-in-one IDE | Lightweight, code-centric environment |
| Host OS support | Window® Linux®, macOS® | Window® Linux®, macOS® |
| Base framework | Eclipse®,CDT™ | Microsoft® Visual Studio Code® |
| Project creation | STM32CubeMX, Empty, CMake, Make | STM32CubeMX, Empty, CMake |
| Editor | EClipse/CDT | IntelliSense LSP-driven clangd |
| Build system | Integrated build system | CMake-based with Ninja support |
| Debugging | Advanced debugging with SWV, RTOS-aware | Basic debugging with RTOS-aware |
| Customization | Eclipse® add-ons | VS Code® marketplace |
Resources to start your project
Frequently asked questions
What is STM32CubeIDE?
STM32CubeIDE is available in two variants: one is based on Eclipse, and the other one uses Visual Studio Code.
STM32CubeIDE supports coding, compiling, and debugging, offering a complete workflow from project creation to device programming.
Why transition from the Eclipse-based STM32CubeIDE to STM32Cube for Visual Studio Code?
It provides a more flexible and customizable development environment compared to the traditional Eclipse-based STM32CubeIDE, aligning with current industry trends for embedded development.
What is the difference between STM32CubeIDE and STM32CubeMX?
STM32CubeMX is a graphical configuration tool that generates initialization C code for STM32 microcontrollers.
Is STM32CubeIDE free and open source?
While it is built on the open-source Eclipse and VS Code platforms and uses open-source toolchains, like GCC, the STM32CubeIDE application itself is a proprietary offering from ST.
How to generate and modify code using STM32CubeMX and STM32CubeIDE?
STM32CubeIDE safeguards these sections, preventing your changes from being overwritten during subsequent code generations.
Where can I find help to debug STM32 projects using STM32CubeIDE?
Watch our STM32CubeIDE debugging tutorials on YouTube, which provide step-by-step guidance and practical examples for debugging STM32 projects.
How to import an ST project into STM32CubeIDE for Visual Studio Code?
The STM32 Visual Studio Code Extension will recognize the project structure (from an .ioc file or an existing build system) and enable relevant functionalities and build/debug configurations.
How to use STM32CubeMX with STM32Cube for Visual Studio Code?
STM32CubeMX can reconfigure and regenerate code into your CMake project.
VS Code will automatically detect any updates from STM32CubeMX. All build-related settings are managed throught the CMake files inside VS Code.
What if my question is not listed here?
Visit our online documentation for direct access to additional guidelines, examples, and in-depth articles.