I like the progress and the Ui for adding options seems is now quite reasonable.
There are a few minor things that could be improved:
- Move the Table of Contents button to the top as proposed by Peter
- Enable copy & paste in the text fields
- Enable ESC to close the “New option” popup to close
- Somehow make the New Option stand out more. It still looks more like a text field that could be fill in and not like the UI element to will modify the structure. Think about removing the label and moving it to the left border; or add more vertical space above it…
It’s now time to address the two other main topics:
- Managing configurations inheriting from other configurations
- Assistance when filling in options
To test it, I tried to add a second board to an existing platformio.ini file and move the common settings to a global configuration. It was quite frustrating:
- I initially picked the wrong configuration type because the three options didn’t make sense to me.
- There was no support in entering the board ID. The help icon directed me to the documentation and from there to the Board Explorer. So I looked the board up in the browser even though there is a board explorer in PIO Home.
- I couldn’t paste the board ID into the field as Paste didn’t work.
- Very surprisingly, to delete a configuration you have to close the tab. It’s surprising because closing an editor tab is a non-destructive operation in any IDE.
- There is no visualization whatsoever that certain values are inherited from other configurations or override them and how these configurations interact.
- There is no complete view of a configuration including the options inherited from the global configuration. I kept switching between tabs but and then went back to the text file…
- When adding the PlatformIO Core configuration, big letters said: No Options defined!. This is like shouting at the user and saying you made a mistake…
Regarding the + Configuration drop down, I propose the following names and order of options:
- Configuration
- Common Configuration
- PlatformIO Settings