PlatformIO Community

PlatformIO IDE 2.0 for VSCode 🚀

We are happy to announce the major release of PlatformIO IDE 2.0 for the Microsoft Visual Studio Code (VSCode) that brings “Task Explorer”, “Project Environment Switcher”, and a new installer! Read more :point_right:


Was it a deliberate decision to move the common Build, Upload, Clean etc tasks from the PIO sidebar to the this smaller section in the file explorer?

The docs also still say that the tasks can be found in the old location


Where as in this new version it’s now the PIO Quick access bar


and the user has to re-find the old tasks menu in a small and by-default collapsed menu in the file explorer



which also takes away from the space available for the open files.

Can’t the PIO quick access sidebar also have the build tasks there?

Sorry, we forgot yo update the docs. We will do this ASAP.

“PLATFORMIO TASKS” is now a native VSCode’s view and you can move/drag it to any place where you want, even into the previous location under “PlatformIO” activity.

We can’t expand it by default :frowning: There is no API for this case.

Screen Shot 2020-09-10 at 22.03.11


That’s good for customization at least.

But when after 40 minutes of the release announcement there are already users (me and No Build / Upload button since update) who have to be looking for the good old build buttons it’s maybe confusing :sweat_smile:.

That’s really cool and I also just dragged my window there to have back the defaults. I personally think though that the PIO sidebar should look like that by default or just have the original list expanded with what’s in PlatformIO tasks.

1 Like

We discussed internally with our team and will back Project Tasks view to the PlatformIO activity. Also, we will provide info that developers can move this view to other locations.

2.0.1 will be released tomorrow.

Do you like to switch every time from Explorer view to PlatformIO to run a task? That was a goal to eliminate this switching. What is your workflow?

Actually yes. Usually I open the files I need to work on in the file explorer so that now I have them open as tabs. Then I edit the code there, Ctrl+PageDown/PageUp to navigate the files and press build in the sidebar etc. to test it. When I need a new file to be open, I go back to the explorer and open it there.

Maybe I’m the one who should get accustomed to new workflows after all, they make more sense and are more efficient… It’s just that when you get accustomed to that workflow, a change in that is at first hard to adapt to. But I just had that “huh?” moment because the well-established big thing (project tasks in the sidebar) wasn’t where I was expecting it but was instead in a tiny collapsed menu.

So maybe it’s the best to have both available and notify users of the new possibility.

Of course I’m not the only human using PIO and more opinions might be needed. Certainly don’t make a decision solely based on me :wink: There are also “user acceptence” tests for UI stuff like that in big corporations :smiley:


PlatformIO IDE for VSCode 2.0.1 is out! It looks like other people are also used to the previous location. Also, there are a lot of tutorials. We will provide information in docs that people can drag that view. So, everyone will decide personally how it is better for him.

Since I followed the beta builds, this wasn’t a surprise for me. I prefer the new customisation option, as I can leave a smaller panel open with PlatformIO showing like below, but also appreciate others are used to the old layout. So this is a nice compromise.


1 Like

Libraries can no longer be installed to global storage? When I try and install a new library, the only option seems to be ‘Add to project’… this is not good.

  • JMe

Could you explain why?

1 Like

@ivankravets Thanks for the new version and all the good work.

I very much support to change from Install… to Add to Project…. It’s the proper way to do software development as it gets rid of so many problems. I’ve advocated the use of lib_deps again and again. And I can now tick off one of wishes for Santa Clause.

The Add to Project… feature however highlights the weak Visual Studio Code integration of this part of PlatformIO. That’s next on the wish list…


I typically use a set of libraries for several projects. Let’s say I have none in global storage. When I add a new projects, I end up adding libraries one by one for each of them, in separate storage locations. I can see how this makes dependency management and project copying/moving easier, and if I want to make a change to a library for just one project, this is great. But otherwise it’s just a waste of space and effort. There should at least be a possibility to select if a library is added globally, or locally to a project (preferably with scoping, so that project’s local lib installation overrides the local one).

  • JMe

PlatformIO IDE 2.1.0 for VSCode is out!

  • Added a new setting platformio-ide.autoPreloadEnvTasks to enable automatic preloading of the project environment tasks (issue #2004)
  • Renamed “PIO Remote” group of tasks to “Remote Development”
  • Updated PlatformIO Core installer to v0.3.5

See PlatformIO IDE 2.1.0 for VSCode Release Notes for details.


Please navigate to “VSCode > View > Extensions” and click “Update”.

Your friends at PlatformIO

Has support for Global libraries been removed in the latest VS Code addon?

I can no longer install libraries to Global storage, and when I try to update a library thats in global storage (I have many), the update button is present, but greyed and I get the red unavailable symbol when I hover over the button.

This would be a major pain for me as I use global storage almost exclusively for projects at work, with only local libs used for projects that have extra dependencies above our baseline on all projects. I also use a local package if we need to modify any library code for whatever reason.

Nothing in the Release notes makes it clear this is gone:

Is there a way to bring it back?

Open a PIO terminal (or a shell if you have the PIO core installed globally) and excecute pio lib --global update. Does it throw an error?

If yes, is pio lib -g list able to enumerate all globally installed libraries correctly?

Updating in the terminal does work, but if the feature is still in platformio, it makes sense to keep it in the VS Code addon GUI I think.

Yeah Global list also still works, its just the UI elements that no longer work in the latest (since V2 ) VS Code Addon.

Hm. Same behavior for me. Installing an outdated library version with

$ pio lib -g install itead/Nextion@0.7.0
Library Storage: /home/max/.platformio/lib
Library Manager: Installing itead/Nextion @ 0.7.0
Library Manager: Nextion @ 0.7.0 has been installed!

(latest is 0.9.0), the update button is also greyed out and the cursor turns into a red “forbidden” sign when hovering over it.


Not sure what’s going as I don’t find any updated references in the migration guide or in the PIO Home docs.

Via terminal it still works too.

pio lib -g update
Library Storage: /home/max/.platformio/lib
Updating itead/Nextion                        0.7.0                              [Outdated 0.9.0]
Library Manager: Installing itead/Nextion @ 0.9.0
Downloading  [####################################]  100%          
Library Manager: Nextion @ 0.9.0 has been installed!
Library Manager: Removing Nextion @ 0.7.0
Library Manager: Nextion @ 0.7.0 has been removed!

@ivankravets anay idea why the PIO Home GUI forbids the update?


It seems like a bug, we will fix it ASAP. Thanks, @maxgerhardt :blush: