cancel
Showing results for 
Search instead for 
Did you mean: 

Ability to freeze VS Code extension version

hermit
Associate

Hello,

Today I opened VS Code to work on my project and noticed the update was available. That's awesome, but typically we're forced to freeze our toolchain once we release the code to product, to avoid the risk that updates have unwanted side effects. Right now I've been evaluating whether we can use VS Code, or if we better stay with tried and true CubeIDE.

It's fine for hobbyists to always update to the bleeding edge, but what about anyone using STM32 micro for application in automotive, medical, and defense application? It's a requirement to know that every possible change is tested before releasing code to the product, including toolchain and IDE updates. We can't know if there's a bug on day 0 of the release, of course!

Can we understand if the ability to freeze version is on the development roadmap of the VS code plugin? If not ever, any safety critical application should probably avoid it, don't you think?

Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
vincent_grenet
ST Employee

@hermit 

Thank you for your question. We take care to address your concerns. We aim to serve all users, not only hobbyists.

The STM32CubeIDE for Visual Studio Code solution consists of three main components:

  1. VS Code itself: Updates are controllable thanks to proper settings.
    vincent_grenet_2-1765821514244.png
  2. VS Code extensions: It is important to understand what Visual Studio Code is. The platform is effective, as the end user has full control. However, STM32Cube cannot influence this aspect. The update model is fully customizable within Visual Studio Code. You can prevent automatic updates or manage updates for each extension individually, thanks to proper settings.
    vincent_grenet_1-1765821487054.png
  3. STM32Cube bundles: These bundles include all collateral, such as the toolchain, programming, and debugging facilities. You can lock these bundles per project using the bundles manager.
    vincent_grenet_3-1765821643952.png

You should be able to maintain full control.

At a high level, we recommend keeping VS Code extensions and bundles up to date.
That said, despite taking great care, not updating extensions can be risky because some depend on each other. VS Code itself improves over time.
Locking bundles is fairly safe and more meaningful to us, which is why we provide this bundle locking capability. The rationale is that bundles support core processing; we are fully aware that toolchain updates may impact end-user applications.
VS Code extensions mainly support the GUI, which may not impact results but affect the user experience.


The solution is new, so we welcome any feedback and will do our best to improve based on your input.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

4 REPLIES 4
hermit
Associate

I should have elaborated that I could not debug my micro from VS code without updating first. So the update basically disabled my IDE.

vincent_grenet
ST Employee

@hermit 

Thank you for your question. We take care to address your concerns. We aim to serve all users, not only hobbyists.

The STM32CubeIDE for Visual Studio Code solution consists of three main components:

  1. VS Code itself: Updates are controllable thanks to proper settings.
    vincent_grenet_2-1765821514244.png
  2. VS Code extensions: It is important to understand what Visual Studio Code is. The platform is effective, as the end user has full control. However, STM32Cube cannot influence this aspect. The update model is fully customizable within Visual Studio Code. You can prevent automatic updates or manage updates for each extension individually, thanks to proper settings.
    vincent_grenet_1-1765821487054.png
  3. STM32Cube bundles: These bundles include all collateral, such as the toolchain, programming, and debugging facilities. You can lock these bundles per project using the bundles manager.
    vincent_grenet_3-1765821643952.png

You should be able to maintain full control.

At a high level, we recommend keeping VS Code extensions and bundles up to date.
That said, despite taking great care, not updating extensions can be risky because some depend on each other. VS Code itself improves over time.
Locking bundles is fairly safe and more meaningful to us, which is why we provide this bundle locking capability. The rationale is that bundles support core processing; we are fully aware that toolchain updates may impact end-user applications.
VS Code extensions mainly support the GUI, which may not impact results but affect the user experience.


The solution is new, so we welcome any feedback and will do our best to improve based on your input.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Thanks Vincent

I will freeze version and see how it works.
Connectivity issues of stm32cubeIDE for Vscode - STMicroelectronics Community
Based on previous issues, it looks like the problem is that if my version is outdated, I won't be able to connect to server, so plugin won't work.

Is there a development timeline for implementation of offline mode + version freeze?

@hermit

You have expressed agreement with my point. Freezing an environment is possible; however, it has drawbacks related to maintaining the capabilities and limitations of the frozen state.

We are working to improve the environment, so each update is expected to be better than the previous one. This approach is not unique to STM32Cube but is a common practice and a general rule.

Because we understand your requirement for reproducibility in non-hobbyist contexts, please share which assets you consider most sensitive to freeze. For example, is it only the toolchain, or does it also include the debug chain and other components?

Note: You can freeze and stay online. The proper settings shared above are capable of this.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.