Skip to main content
Technical Moderator
May 7, 2025
Question

New STM32Cube for Visual Studio Code extension released (3.4.11)

  • May 7, 2025
  • 12 replies
  • 6626 views

 

 stm32.pngvscode.jfif

We are pleased to announce the new  STM32Cube for Visual Studio Code Extension Pack

 

The st-cube-code-pack extension for Visual Studio Code is designed to enhance the development experience for STM32 microcontrollers by providing a comprehensive and updatable set of tools. The *extension pack* allow users to install one single pack bringing a full STM32 IDE experience into VS Code.

 

Breaking Changes

  • Complete architecture redesign: The tool architecture has been split into three major building blocks with the purpose of creating a flexible, maintainable and updatable platform consisting of the following blocks: GUI, CLI tools and STM32 device support.
  • GUI: The platform's single extension has been transformed into an extension pack, offering a more modular, maintainable and flexible setup.
  • CLI tools: A new bundle manager is enabling VS Code to download required CLI tools. This replaces the all-in-one STM32CubeCLT package. The bundle manager will provide developers flexibility, updatability and re-producibility in terms of CLI tooling.
  • STM32 device support: The STM32 device support is decoupled from VS Code and sourced via CMSIS-PACK DFPs. Developers can now start using a new MCU without having to install a new STM32CubeCLT package.
  • Enhanced Debugging: A new, rich debugging experience is now available, leveraging a brand new STMicroelectronics-owned DAP (Debug Adapter Protocol) implementation, supporting both ST-LINK and SEGGER J-Link debug probes.
  • Clangd Integration: The update now relies on `clangd` for managing C/C++ code indexing, enhancing code navigation and analysis capabilities.
  • Auto-Discovery of STM32Cube Projects: This feature automatically detects STM32Cube projects, streamlining the setup and configuration process.

 

Pre-release (New!)

This release represents a major advancement in delivering a comprehensive and efficient VS Code-based development environment for STM32 microcontroller projects. ST is offering this version as a pre-release to set appropriate expectations. It introduces a new platform architecture that will serve as the basis for the evolving STM32Cube for VS Code environment. As with any innovative tool, it will undergo a maturation process. 

 

 Features

  • Project Creation Modes: Two distinct modes for project creation are supported, offering flexibility in development workflows:
    • STM32CubeMX Projects: Supports project creation with integrated CMake, enabling streamlined configuration and management.
    • Empty Projects: Allows for the creation of bare projects with CMake, providing a clean slate for custom development.
  • Build Analysis Solution: A new build analysis solution has been integrated, offering insights into build performance and optimization opportunities.
  • Board manager: The board manager view allows developers to show the ST-LINK serial number and update the ST-LINK firmware.
  • Enhanced RTOS debug: The existing open-source debug views have been complemented with two additional tree views showing additional kernel objects as well as the full call stack for all RTOS threads. Supported RTOSes are FreeRTOS and ThreadX.
  • Bundle Manager View: A dedicated view for managing bundles has been introduced, simplifying the management of project tool dependencies.
  • Cube CLI Command: The `cube` CLI command is now available, providing efficient tool management through command-line operations.

 

Documentation

The STM32Cube for VS Code extension offers a wealth of resources directly accessible within your integrated development environment. By installing the extension pack, you gain access to the "STM32Cube Resources" section, which is a centralized hub for valuable information which includes:

- Manuals: Comprehensive documentation that covers various aspects of STM32 development. These manuals provide detailed insights into the functionalities and features of STM32 microcontrollers, helping you understand the hardware and software integration.

- Tutorials: Step-by-step guides designed to assist both beginners and experienced developers. These tutorials cover a wide range of topics, from basic setup and configuration to advanced programming techniques, ensuring you have the guidance needed to effectively utilize STM32Cube tools.

 

Feedback & Support

If you need assistance or have any questions regarding STM32 for VS Code, support is readily available. You can access a wide range of resources and get help from the STMicroelectronics support team. Additionally, your feedback is valuable to us and helps improve the STM32 for VS Code extension. If you have any suggestions, issues, or comments, we encourage you to share them with the community.

- Feedback: To give feedback and participate in discussions, visit the [STM32 VS Code Extension Forum.](https://community.st.com/t5/stm32-vscode-extension-mcus/bd-p/stm32-vscode-extension-mcus)

- Community and ST expert help: To get help through our community and our ST experts on our forum, visit the [STM32 VS Code Extension Forum.](https://community.st.com/t5/stm32-vscode-extension-mcus/bd-p/stm32-vscode-extension-mcus)

- ST Support Home: For more information about getting support, visit the [STMicroelectronics Support Home.](https://www.st.com/content/st_com/en/support/support-home.html)

 

Download

https://marketplace.visualstudio.com/items?itemName=stmicroelectronics.stm32-vscode-extension

 

    This topic has been closed for replies.

    12 replies

    Graduate
    May 14, 2025

    Hi ST-Team,

    STM32CubeMx is installed.
    NUCLEO-H743ZI2 Project is running with VisualStudio VisualGDB.
    => Packs and other stuff should be available on the local disk.

    I try to get running the new STM32 developing and debugging with VSCode.
    For that I uninstall all Extensions in VSCode.
    After that I installed the "STM32Cube for Visual Studio Code" pre-release v3.4.11 including restart of the Win11 PC.

    Following the documentation stmicroelectronics.stm32cube-ide-core-0.16.16/resources/userguide/en/docs/markup/development.html
    I try to setup an empty project.

    Unfotunately I get following Error:

    "Failed to create empty project with following error: Error: Installing [STMicroelectronics.stm32h7xx_dfp.1.0.0] into C:/Users/tengelmann/AppData/Local/stm32cube/packs Checking pidx https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx... (1/1) Failed to download with request to https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx failed, reason: self-signed certificate in certificate chain, retrying... Failed to download with request to https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx failed, reason: self-signed certificate in certificate chain, retrying... Failed to download with request to https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx failed, reason: self-signed certificate in certificate chain, retrying... Failed to download with request to https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx failed, reason: self-signed certificate in certificate chain, retryi..."

    Maybe it is a issue with proxy or such stuff. Is it possible to download the nedded files manualy?

    Best regards,
    Timo

    ST Employee
    May 15, 2025

    Hi @FluxPower42,

    It looks to be an SSL chain verification issue by contacting https://developer.st.com/***

    Are you behind a corporate proxy doing SSL inspection ? If not are you able to access https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx in your browser ?

    Graduate
    May 15, 2025

    @Julien D 

    It looks to be an SSL chain verification issue by contacting https://developer.st.com/***

    Yes, my company uses an external service to protect internet communication.
    Besides the issue with STM32CubeMx and now the new issue with STM32Cube Extension for VSCode, all other tools are working.

    Do you have any idea what I can do?

    Technical Moderator
    May 14, 2025

    Hi @FluxPower42 

    yes I confirm this a proxy issue, did you try to setup your proxy credentials in VSCode ?

    Please use this form to introduce your proxy settings: 

    http://user:pass@proxyAdress:port

    For Special carac if you have in your password use the hex code with %​ example “#” becomes “%23”

    Graduate
    May 15, 2025

    Hi @Nawres GHARBI and @Julien D,

    thanks for the very fast response! 

    I have tried some proxy settings from my company. But unfortunately without success.
    I can open the https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx in the Simple Browser of VScode:

    FluxPower42_3-1747299991114.png

    So now I'm not sure anymore if that is a proxy issue.

    I have tested with "Settings/Extensions/STM32Cube for Visual Studio Code Dore/Enable Offline Mode = true" too, but without success.

    Questions:

    • Use the STM32Cube Extension the same proxy settings as VSCode under "Settings/Application/Proxy"?
    • Is there a way to try it in a offline mode?

     

    STM32CubeMx - behavior
    I don't know if it is helpful for this topic:
    The SMT32CubeMx is installed at c:\ST\STM32CubeMX\.
    This path is also used in the VSCode STM32Cube Extension settings.
    When I try to download a new MCU package in STM32CubeMx (in this case STM32G4, as the H7 is still installed), I get the following error:

    FluxPower42_0-1747299206706.png

    But when I try a second time, the download goes one step further, but gets stuck here:

    FluxPower42_2-1747299839512.png

    and after a few seconds it fails again:

    FluxPower42_1-1747299527512.png

    It seems that the download is finished, but then something goes wrong. Maybe the unpacking process?
    This way it is not possible to install the latest G4 1.6.1 MCU package even if I try several times.
    But the G4 1.6.0 package can be installed.

    For STM32F4 MCU packages, it is possible to install 1.28.0 on the first attempt, 1.28.1 after the second attempt and v1.28.2 after several attempts.
    Ist there maybe a timeout value to short?
    I don't have configured additional proxy settings in SMT32CubeMx and if I test the different company settings the behavior is the same.

    The internet connection is stable and 700MBit/s should be not too slow.

    Yours sincerely, Timo

     

    Graduate
    May 20, 2025

    Hi @Nawres GHARBI and @Julien D,

    thanks for the hint regarding the certificates.
    After testing a bit by using the NODE_EXTRA_CA_CERTS environment variable along with the “Node Extra CA Certs VSCode” extension and other tipps from the internet, I found this post on stackoverflow.com: https://stackoverflow.com/a/62386079

    Quote:
    "First, make sure that the certificates are imported into your OS and trusted (I have them in the System category).
    Then, go into VScode settings, Application, Proxy, and UNCHECK the "System certificates" option. Restart vscode and RE-CHECK it. Restart again, and it works. That's it."

    It seems that this triggers the copy of the system certificates in VSCode again.
    For me, that was the solution.


    There is another post on the same page on stackoverflow:
    https://stackoverflow.com/a/78003445

     Quote:
    "Assuming your corporate self signed cert is trusted by your OS, you can now configure VS Code to use the OS cert. Launch VS Code, go to File > Preferences > Settings > Search for "certificates" and check the box for Http > Experimental: System Certificates V2 "x Controls whether experimental loading of CA certificates from the OS should be enabled."

    Maybe that helps, but after updating the certificates, I can't get the same error anymore.

    Thanks again! Great support!
    Best regards Timo
     

    Graduate
    May 20, 2025

    Just as an aside, maybe it will help another user.
    Regarding the simple browser:
    I thought that the simple browser was a good tool to check if the network access is working correctly. I no longer think so.
    Even after updating the certificates, some pages don't work in Simple Browser (https://www.st.com/) and others do (https://en.wikipedia.org/).
    It seems to be somehow related to the iframes.

    Visitor II
    June 4, 2025

    coud you provide launch.json temple?  it's the key to launch a project successfuly.  Automatically generated launch.json only has few or worng information.  You can not assume new user know every fields.

    Peter

    Graduate II
    June 4, 2025

    Sounds weird to me to ask for some launch.json template what promoted extension(s) has(ve) to generate ...
    I guess ST is not going to promote one to one launch.json ... up to them but ?

    Instead could you point what sounds "wrong information" according to you .... if bug then a chance to get something back.
    About "few" same please comment more ... "few" maybe sufficient in real : what do you think ?
    "You can not assume new user know every fields" ... VSCode way of working according to me ... any debugger comes with integration (dedicated extension) whatever it is (Python, C/C++, ... STLink stuff) and end user way to access is always the same : a launch.json promoting sane default to be fine tuned or not and having extra control you can get Thanks editor auto-completion ... What may be helpful as extra is either / or documentation / GUI on top launch.json : what do you think here too ?
    Any extra comment appreciated will help this community to progress (I'm part of :-))

    Graduate
    June 13, 2025

    Hollies_0-1749814423996.pngHollies_1-1749814445713.png

    The text is not aligned.

    ST Employee
    September 30, 2025

    @Hollies 
    Please be aware issue is fixed Thanks latest update.

    Visitor II
    June 15, 2025

    Please consider addressing https://github.com/clangd/vscode-clangd/issues/687 and https://github.com/clangd/clangd/issues/108 issues. It is preventing efficient refactoring on Windows platform.

    Custom "stm32cube-ide-clangd.arguments" value doesn't cover "arm-none-eabi-g++.exe", which used by CMake for "compile_commands.json" if I enable CXX support. "--query-driver" clangd option supports globs (https://github.com/llvm/llvm-project/issues/56623)

    Also, it would be great to have HAL/LL and other libraries be available and well-behaved for inclusion as https://cmake.org/cmake/help/latest/module/FetchContent.html and/or git submodules.

     

     

    Graduate
    June 29, 2025

    As described, the new extension "replaces the all-in-one STM32CubeCLT package".
    The CLT package allowed us to download an all-in-one solution for building in the cloud (a CI/CD environment). How will this flexibility be maintained here? Can we download the "cube" CLI without using VSCode?

    Visitor II
    September 4, 2025

    Dear ST Team,

    Is the STM32Cube for Visual Studio Code Extension solely intended for the VS Marketplace?
    Previous iterations relied on Microsoft tools such as CMake, which made them unsuitable for use with VS Codium.

    Is this still the case with the current version of the STM32Cube for VSCode Extension?
    Are there any plans to support VS Codium the future?

    I’d appreciate any insights you can share regarding your roadmap and future plans in this area.

    Kind regards