STM32CubeIDE for Visual Studio Code Documentation

Table Of Contents

- STM32CubeIDE for Visual Studio Code
- Introduction
  - Overview
  - System requirements
  - Release note
- Basic Concepts
  - User interface
  - Command-line tools
  - Visual Studio Code extension packs
  - Bundles
  - CMake
  - Toolchains
  - STMicroelectronics Arm Clang Toolchain for STM32
- Getting Started
  - Installation
  - First project creation
- Workspace and extension workflow
  - Workspace overview
  - Extension commands
  - Project files
  - Multi-project workspaces
- Tutorials
  - Migrating from STM32CubeIDE for Visual Studio Code extension 2.x to 3.x
  - Dual-core STM32 projects
  - Power management
  - RTOS-based STM32 projects
  - Firmware security and integrity
- Development
  - Projects
  - Editing
  - Build
  - Debug
  - API manual
  - Integration with external tools
  - Testing and validation
- Troubleshooting
  - Frequently asked questions
  - Known issues
  - Support

### On this page

- Missing Windows ST-Link driver for STM32CubeIDE for Visual Studio Code
- Complex project creation
- Cube command not available on Windows with Git Bash
- STLINK V3 not working with macOS M architecture
- libncurses5 dependency on Linux
- Clangd indexing dependency on zstd library on macOS
- CMake error with Visual Studio Code installed via the Snap Store on Ubuntu
- Using J-Link to debug on macOS
- Creating an empty project while offline
- Integrating STM32CubeIDE for Visual Studio Code into dev container

# Known issues

## Missing Windows ST-Link driver for STM32CubeIDE for Visual Studio Code

Issue: On a new Windows 11 PC, users who install Visual Studio Code and the STM32CubeIDE extension may experience issues detecting STM32 boards with ST-LINK V2 or V2.1.

Symptoms:

- No device appears in the STM32Cube Devices and Boards webview.

- No device is detected with ST-LINKUPGRADE.EXE.

## Complex project creation

Issue: Complex projects created using the empty project feature are incorrectly set up as non-complex.

Example: H7 dual-core projects are created as single-core.

## Cube command not available on Windows with Git Bash

Issue: The cube command is not available when using Git Bash on Windows.

Workaround: Windows users must configure their environment manually, for example, by editing .bashrc or Visual Studio Code settings.

## STLINK V3 not working with macOS M architecture

Issue: STLINK V3 devices do not function properly on macOS with M architecture.

Workaround: Use a USB hub instead of a Type-C to Type-C cable.

## libncurses5 dependency on Linux

Issue: Debug sessions may fail due to a missing libncurses5 dependency.

Note: Fixed. Dedicated STM32Cube bundles provide GNU Tools for STM32 assets. Update if possible.

Workarounds:

- Ubuntu 22.04: Install with:

      sudo apt-get install libncurses5

- Ubuntu 24.04: - Use the following commands to install the library manually:

      wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.4-2_amd64.deb && sudo dpkg -i libtinfo5_6.4-2_amd64.deb && rm -f libtinfo5_6.4-2_amd64.deb
      wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncurses5_6.4-2_amd64.deb && sudo dpkg -i libncurses5_6.4-2_amd64.deb && rm -f libncurses5_6.4-2_amd64.deb

- Fedora 43: Install the required libraries with:

      sudo dnf install ncurses-compat-libs

## Clangd indexing dependency on zstd library on macOS

Issue: Clangd indexing does not work on macOS due to a missing zstd library.

Workaround: Install Homebrew and then run:

>     brew install zstd

## CMake error with Visual Studio Code installed via the Snap Store on Ubuntu

Issue: CMake fails to discover projects when Microsoft Visual Studio Code is installed via the Snap Store.

Workaround: Install Visual Studio Code using another method, for example, download the .deb package directly from the official website or use an alternative package manager such as apt or flatpak .

## Using J-Link to debug on macOS

Issue: Attempting to debug causes the error “JLinkConfig” is damaged and can’t be opened. You should move it to the Bin.”

Workaround: Go to the Privacy & Security setting and click Open Anyway for the JLinkConfig.app application.

## Creating an empty project while offline

Issue: When creating an empty project while offline, a faulty project is generated.

Workaround: Go online when creating the project. It is then safe to return to offline mode.

## Integrating STM32CubeIDE for Visual Studio Code into dev container

Issue: When integrating STM32CubeIDE for Visual Studio Code into a dev container, the extension does not function correctly because Visual Studio Code displays a dependency issue message.

Workaround: Refer to the community article How to integrate the STM32CubeIDE for Visual Studio Code extension to Dev Container.