Arduino Extension for VSCode being deprecated!?

Nobody over here seems to be talking about this, so I thought I'd start a topic and hope there at least a few interested people, afterall, the extension has over 2.2M installs.

This is a nightmare! I've been using VSCode as my IDE since the beginning, and there are so many reasons why I want to continue using it.

Do we know why this is happening? Will it continue to work even though it's no longer being maintained? Are there other ways to continue using VSCode?

The extension might continue to work for some time, especially if there are no major breaking changes in VSCode or the APIs it relies on.

Who maintains that plugin? Maybe they just don't want to do all that work for free anymore and they know most people won't pay for it.

Maybe it's because more people use platformIO, in VSCode, and makes no sense to duplicate efforts, also with the Arduino IDE. Actually they recommend to use the Arduino IDE.

I use platformIO and I like it. You have all the advantages of the VSCode ecosystem and a more structured and decoupled project architecture.

Arduino IDE 2 is based on the same frameworks as VSCode. did you try it?

Yes of course. I still use the IDE for lots of things, so I'm keeping up with it. It is NOT AS GOOD as vscode. A huge bummer is I also can't use Github Copilot within the Arduino IDE, unless I'm mistaken.

Thank you for pointing me towards PIO, I will definitely check that out. From 4 minutes of internet research, it looks like it's everything I need, but time will tell.

To give a very general answer, Microsoft does:

Of course, when it comes to a massive corporation like Microsoft, each specific project is maintained by a team within the company. I'm sure that at least the high level management of the project is done by paid Microsoft employees, but it may be that the there is also volunteer maintenance work done on an open source, non-core project like this (and surely lots of code contributions from volunteers in the community).

The deprecation announcement is here (but unfortunately doesn't provide much information):

This is open source software, so if it is valuable enough to the community a fork will surely be created at some point in the future. For example, I see someone made an attempt at that prior to the deprecation:

It hasn't been maintained so it is currently not something anyone would use, but maybe there will be more interest in the initiative now and the owner will bring in some maintainers who will actually do what is needed to make it happen.

The Microsoft extension should continue to be quite functional for some time to come (other than the fact that they apparently have added a popup to annoy the users). It will only be after some months or years of abandonment that it will become significantly outdated or broken.

Totally agree.

I use all three options for different reasons and purposes: Arduino IDE, VSCode+Arduino extension, and PIO.

VSCode running the Arduino extension has a big plus: All sketches that run on the Arduino IDE will also run on the superior VSCode+Arduino extension without modification: library examples, sketches posted on the internet, etc.

PIO's advantages are well-documented, but you often have to restructure code originally written for the Arduino IDE, and that often means struggling with library issues that don't exist when running with the Arduino IDE or VSCode+Arduino extension.

VSCode has SO MANY coding advantages over the Arduino IDE. I have dozens of projects I cringe at having to convert to PIO just to keep using the tools of VSCode.

Sigh. It is what it is, but it makes me unhappy...

It appears that the VSCode extension never supported Arduino 2.x.
(although it does support Arduino-cli, which is the build engine behind Arduino 2.x. So I'm not sure what that means.)

"...the VSCode extension never supported Arduino 2.x" really has no meaning because the extension uses the Arduino CLI (or should be set up to do so if it doesn't). I've been using the Arduino extension with VSCode for years, I haven't touched the original Arduino IDE (1.x) for ages, and on occasion I'll use Arduino IDE 2.x when something quick and dirty is needed.

It's interesting to me that the most-cited reason for moving from the Arduino IDE to PlatformIO is the superiority of the VSCode IDE over the Arduino IDE, which I agree with. But the VSCode+Arduino extension offers those same coding advantages. I use PlatformIO as well, but it's nice to be able to get something up and running under VSCode without the occasional library struggles that PlatformIO introduces.

I use PlatformIO for arduino framework and I'll never go back to Arduino ide. You'll need a few days to get used to it but it's not hard at all. The only drawback is that ,there is still no support for ESP32 core 3.

Yeah, thats what's frustrating...PIO and Arduino IDE are not in sync. I have a lot of code that I've moved on to Core 3 already...works great in VSC + Arduino extension, but doesn't run in PlatformIO.

This is being discussed on extension git repo: VS Code Arduino Extension Deprecation · Issue #1757 · microsoft/vscode-arduino · GitHub

Things that I really miss in Arduino IDE is "Go to definition" and "Go to reference". The first one always points to the .h file instead of implementation. The second one simply does not exist.

Hi @vvb333007.

The Arduino developers are tracking this bug here:

The Arduino developers are tracking this deficiency here:

If you have a GitHub account, you can subscribe to those threads to get notifications of any new developments related to the subject:

screenshot of Subscribe button


:exclamation: Please only comment on the GitHub issue threads if you have new technical information that will assist with the resolution. General discussion and support requests are always welcome here on the Arduino Forum.

1 Like

After the 3rd time it came up, there's an option to block it

1 Like

I don't agree. Users of PIO is a separate group, and I don't think that this group is big.
Using the Platformio is not an option when you code not for you own, but for another Arduino project or write the code for somebody.
Platformio uses its own ecosystem to manage aт Arduino source files, which most arduino users are not familiar with.
Once you have debugged your project in PIO, you will need to convert it to a standard Arduino sketch. This is not a very difficult task, but it is extra work that does not bring any benefit.

I have used VSCode Arduino extension for several years and I intend to use it for as long as it continues to work.

3 Likes

I've done a little more reading on PIO, and yeah it seems like a different group than those would just like to use the Arduino Extension. I really hope some smart open source folks fork and manage the extension/integration!

I started a thread on Reddit a couple of weeks ago too. Someone pointed out a community maintained fork of the same extension. I just installed it and it’s working the same way as the official Microsoft version. Of course that’s no surprise. The codebases are probably identical at this point. Let’s hope it keeps active for the future.
I have used Platform IO a few times. It’s a fine platform. Works really well. My main issues are:

  1. somewhat different project structure. You need to make small changes to make the code build on Arduino IDE. Not a huge deal, but could be tedious if you have a big project
  2. It’s somewhat slow, even on my 2021 MacBook Pro. It’s written in python. I would never use python to write anything that is not a script.

Arduino IDE is basically a glorified notepad. They should abandon the whole project and devote the resources to the VS code extension, IMO. They are reinventing the wheel, a much inferior one at that.

When was the Arduino IDE first published ?

When was VS Code extension for the Arduino first published ?