PlatformIO Community

PlatformIO IDE 2.0 Preview


#1

Dear PlatformIO Developers,

:christmas_tree: New Year :christmas_tree: has been started and big updates are coming to PlatformIO IDE. If you don’t know, the PlatformIO IDE was an experimental project for us that was started 1 year ago. However, we have not made any significant changes since March 2016 :pensive: because were focused on PlatformIO Core 3.0.

Today, we are proud of PlatformIO Core 3.0. All these efforts were not in vain. We didn’t have critical issues after first 3.0.0 release. That is a success of correct refactoring and new decentralized architecture with development platforms.

The current situation with PlatformIO IDE 1.0 is very bad. PlatformIO IDE 1.0 covers 20-25% of PIO Core 3.0 functionality. Also, it doesn’t support officially other themes (only Atom “One-Dark”`). If say about technical part of PlatformIO IDE, this is not more than a prototype. As result, the source code falls short Atom’s requirements, works slowly (in synchronous mode) and is difficult for support.

The PlatformIO Statistics 2016 showed us that developers prefer to use PlatformIO IDE instead of integration with other text editors or IDEs. What can we say here? Big :clap: THANK YOU :clap: to all our Users! You move us into the right direction! This year we want to dedicate PlatformIO IDE, make better integration of PIO Core and implemented new features.

We are sure that new PlatformIO IDE 2.0 will reveal all potential of PIO Core and will set a new trend of “IDE for IoT”.

Features

  • :ballot_box_with_check: PlatformIO Home
  • :ballot_box_with_check: Library Manager
  • :ballot_box_with_check: Board Explorer - explore supported embedded hardware
  • :ballot_box_with_check: Platform Manager - list installed development platforms and their packages, install new or check for updates
  • :alarm_clock: PIO Remote™ - GUI for PIO Remote™. Share your devices with colleagues across your organization, work with theirs. Work with local devices from Cloud IDEs or use for pairing programming
  • :alarm_clock: Playground - a sandbox to play with library examples and sketches without project creating. Learn PIO Core features in “1-click”
  • :alarm_clock: Project Wizard - advanced configuration for your project. Override default behaviour for built-in buttons Build, Upload, Clean (custom build environments, extra options for pio run command). Switch between local & remote programming. Work on host machine, upload/deploy to remote devices (350+ embedded boards, native programming for Raspberry Pi, BeagleBoard, Samsung Artik, etc.).
  • :alarm_clock: Settings - single center to manage PIO Core and PIO IDE settings
  • :alarm_clock: Debug - TBD.

:ballot_box_with_check: - implemented, :alarm_clock: - in progress

Try development version

PlatformIO IDE 2.0 has not been released yet. We will update this page when new feature is added. If you want to try the latest development version, please use this instruction:

  1. Install the latest version (>=1.12.2) of Atom Text editor from https://atom.io
  2. Open system terminal and run
apm install --production platformio/platformio-atom-ide

git command should be installed in your system.

:homes: PlatformIO IDE 2.0: Home

PlatformIO IDE Home is a central place (dashboard) where you will receive quick access to popular features/services. The start “Welcome” panel contains a list with quick links and access to the recent projects. You can manage recent projects (search, add, delete, etc.). Dark & Light below:


1. Library Manager

The first new feature of PlatformIO IDE 2.0 will be powerful Library Manager that is based on PIO Core Library Manager CLI. A current implementation allows searching in our biggest registry and manages installed libraries in the different projects. The screenshots bellow demonstrate current functionality.

Registry Statistics


Registry Search

Light theme

Install library to…

Library Information

Install specific version

Headers

Installed Libraries

Filter by library name

2. Embedded Board Explorer

Light theme

3. Development Platform Manager

Supported frameworks

Detailed information about installed packages and supported boards


We would be thankful for any feedback. Which features would you like to see in PlatformIO IDE 2.0?

Regards,
The PlatformIO Plus Team


PlatformIO Home 2.0
How to upload anything without making a new project?
#2

Hmmm…

I tried using the git method outlined above and the installation goes fine.
The platformio toolbar is also shown along with the menu options.

None of the options work.
Not one…

Tried the second method and got an error


#3

You forgot to install node’s dependencies. Please navigate to ~/.atom/packages/platformio-ide folder in terminal and run apm install . or npm install.


#4

Ran both commands.
Still no change. :frowning:
None of the options work.


#5

Do you see node_modules folder in PIO IDE package?


#6

Yes I do have the node_modules folder in the PIO IDE package and these are its contents.

atom-select-list
babel-eslint
command-join
dexie
esformatter
esformatter-jsx
eslint
eslint-plugin-jsx
etch
fs-extra
fuzzaldrin
ini
lockfile
promisify-node
relative-date
request
semver
tar
temp

#7

I removed atom and redownloaded and reinstalled platformio IDE from the website.
I get this error!!

I think this is also the reason why I am unable to use the IDE 2.0

Running pip install platformio gives me no error syaing that all the requirements are satisfied and when I restart the IDE the install runs again and yet fails stating that platformio command is not found.

I am not finding a “penv/bin” folder under platformio-ide in .atom/packages

EDIT: I was able to solve the penv/bin issues. I had anaconda installed on my system which wreaked havoc on platformio and atom.

I was able to get the platformio 2.0 alpha installed successfully by manually unzipping the source into .atom/packages/platformio-ide folder and then running apm install . I am able to manually run the commands from the terminal and create, build new projects (or existing projects) but I am unable to still use the platformio toolbar menu. I am able to click on the menu items with no response whatsoever.


#8

Hi!

This looks very great!
(the apm link . command did not work for me i had to clone it directly into ~/.atom/packages/platformio-ide)
After a short tryout everything seems to work (macOS 10.12.2).

It would be great:
1.) to add a button in the Library->Example section for a quick tryout of the library as you did it with “Project Examples” or as it works on Arduino IDE.

2.) Let the upload button (or a new button) do the action which is selected in the “Current Build Target” in the left bottom corner.

Robert

PS: one minor “issue”: you can install a library in a project and global at the same time.
don’t know if this could be confusing sometimes.


#9

I’ve just updated instruction above to avoid similar issues.

Do you mean that have problems with PIO IDE 2.0 and PIO Core 3.3 ?


#10

Yes, A roll back to the IDE 1.7 works just fine.

PIO IDE 2.0 and PIO Core.

I have just tried word to word as outlined above and still no success.

The installation and npm install . goes fine and its prints a tree structure of the installed dependancies.
However none of the PlatformIO menu items respond.
I am able to toggle a terminal but the commands pio and platformio are not found.

I still keep coming back to python and virtualenv. Maybe its an issue there…


#11

It looks that problem is linked with Anaconda installation. Try the next:

  1. Repeat steps above from main post to install PIO IDE 2.0
  2. If you hav problem with PIO Core (virtualenv), you can create it manually:
cd ~/.atom/packages/platformio-ide
virtualenv penv
source penv/bin/activate
(penv) pip install -U https://github.com/platformio/platformio-core/archive/develop.zip

Now, restart Atom.


#12

I assumed so… I removed anaconda and its symlinks before I tried installing platformio. Didn’t help.

I ll go back home and try the steps you have suggested above. Please give me sometime.


#13

It works! :slight_smile:
Atleast partially…

Well, the pio IDE and core are installed
The menu functions only for platformio still are not functional.
I can run from the command line and it works. Not from the toolbar though.

Anything else I can try Ivan??

Edit : Invoking any keybinding (defaults) associated with platformio seems to freeze the open windows.
The mouse moves, I cant access any menus. The cursor on screen is frozen and does not respond to any other clicks.
I had to manually force shutdown the editor to get it to respond again.


#14

I tried a “workaround” for this and created a “Project Example”, installed a Project Library and copied the example form the Library over the main example-file which worked so far.
Only removing the library with the ide causes an error (Cannot read property ‘0’).
uninstalling with cli works.

Robert


#15

Yes, yes, we will add it :slight_smile: We call this button as “Play”. It will follow to new section in PIO Home named “Playground”. “Playground” is a place where you can play with your sketches/drafts without creating a PIO Project. You will be able to select any board, framework, edit “platformio.ini” on-the-fly, select upload ports and etc. In other words, it will look as “Arduino IDE” in the “One Pane” :slight_smile:

You can do that with an extra build button :cloud_lightning:


#16

Perfect, thank you!

Robert

PS:
Please keep in mind that the issue in my previous post (Cannot read property ‘0’) is maybe a “real” bug anyway.


#17

Robert, thank you for a report! That is very important for us. I’ll fix it later and report here about new features.


#18

That is normal. For example, you can have 1 version of a library in Global Storage and another version in a project. In this case, a library in Project has higher priority.


#19

What is your Atom version? It looks that you have <1.12.4 version. I’ve just fixed it in this commit (removed activation hooks)


#20

Thank you, it works now!

Things you probably know:

  • “pio run -t clean” don’t work with the ide-button with example code (only command line).
  • in the ide: “PlatformIO->Library Manager” misses its target.

Robert