PlatformIO Community

Ridiculous adventure to get PlatformIO with VS Code


#1

Hi,

I am using PIO with Atom on Ubuntu. Although, I think it is better than Arduino IDE, code completion and performance is not optimal. I have been hearing that VS Code is better supported by PIO. So, I decided to go for it. And here is my short adventure:

  1. VS Code seems to be open source but all the official links lead to non-open source Microsoft (MS) version with telemetry.
  2. As I don’t trust MS, I decided to go for VS Codium, which comes in binaries only.
  3. I don’t know, who made those, so I decided to build it from source. Well, even this leads to final packages… Which, I don’t trust. No official instructions to install from source, but…
  4. But, only the contributing page points to instructions to build it from source, which has a requirement: yarn. Not to be confused with another project… This yarn is a javascript package manager.
  5. yarn also comes with pre-compiled packages. sigh.
  6. Again, contributing page shows how to build it from source. Finally! But, wait, to build yarn from source, you need installed yarn. DARN!

At this point I gave up. All I wanted was a good open source development IDE for Arduino based projects with code completion. I wish, PIO would have more support for Atom.

Maybe, I am missing something here and there. Please feel free to correct me.


#2
  1. VSCode is open source, under the MIT license… but the binary distributions are under a non-open source license predominately because they include Microsoft branding and have telemetry.
  2. Comes in binaries only, because it does little more than grab the source code from the VSCode repo, and build it, minus telemetry, and ensuring any remaining traces are disabled where possible.
  3. If you don’t trust it, that’s ok… it’s pretty hard to trust anything, even linux, unless you know all the ins and outs of all the source code!
    4-6. So yarn… what’s the problem… it’s a package manager. Would it be a problem if it was apt or pacman… which are also package managers? Or is there something else going on here… is yarn downloading proprietary packages?

I sympathise with your views of Microsoft, but that isn’t going to stop me using a good product because in the grand scheme of things, they don’t care about you and I. And VSCodium will make the difference re: telemetry given time… just need enough people need to scrutinise (and contribute to!!) the code to see what stuff is left, and give more credibility the sans telemetry claims.


#3

The problem with yarn was that it is difficult to be built from source. Maybe, it is my lack of knowledge lf building from source. First, it is developed by Facebook (another company, which I don’t trust and don’t want to run any code on my devices, as history again and again thought me/us). That would have been fine, if I could simply get the source code and install it. Then at least, community would know… Like I realized with VSCode and the telemetry. It is simply unusual that you need to install binary to even build the source code. It is a vicious cycle.
At the end, I can’t get open source PlatformIO with full support, because I can’t get open source VSCode, because I can’t get open source yarn. That I find ridiculous, as every one of these applications here are advertised as open source. In reality, they are NOT. Well, they are but I can’t seem to get it in that way.


#4

Unfortunately ‘open source’ doesn’t mean ‘uses a fully open source and non-proprietary toolchain’… it just means that the code you’ve got is open source. And Yarn looks like it uses itself to build itself… so that’s a bit of a vicious cycle… although like with vscode, the source code for yarn is on github… so is open for review and critique.


#5

My problem with that is that I can’t know easily if the binaries I am getting are directly derived from the source code on GitHub or something else was added.


#6

IDEs are not a part of PlatformIO project. They wrap PlatformIO Core with nice UI. You can use PlatformIO Core with your trusted editor or even plain CLI.


#7

Good point, true. But I guess there is a good reason why PIO is advertised with VS Code and Atom. PlatformIO is great on its own! No question there. The reason, why I wrote this issue here, is that maybe there will be more support for Atom in the future or Eclipse instead of VS Code. Without a solid, good IDE, PIO will be less accessible for beginners.


#8

We work on the official PlatformIO IDE for Eclipse, see https://github.com/platformio/platformio-eclipse-ide