Thanks for letting us know, Arek. I’m looking forward to trying it out.
PS: I should mention that I am a relative novice, and I appreciate that you are trying to target experts and professionals first, which is the right thing.
As a novice I will obviously struggle more, but I’ll continue to give feedback so you are getting feedback from the full spectrum of users. I hope one day it will be easy and intuitive to use.
My issue with the source tree bloat is it has every possible board and variation.
What I would like to see is an install tool where I specify the board(s) and anything else needed, and only get what I want.
My current company has a shared driver that gets backed up every night. The shared drive is big. However, the backup is small enough that the IT guy pointed out my single source tree was a large part of my share of the backup. And I had several copies of that tree because I had several projects. I ended up just deleting all of them.
What I would like:
as mentioned, specify just the parts I need.
the ability to have separate projects, each in their own directory, that references the source tree. Fine if that project directory has only the needed object files, and copies of any source files I need to modify. (Yes, there is a method for doing it, but it is braindamaged and arcane.)
A simple search (grep) in an IDE that lets me find what I need. I prefer a CLI/shell, and I write little script files to do the grep. But if I’m stuck with an IDE, then give me a good search method.
I’ve been in the field for 45 years. I don’t want to have to learn the arcane lore of Yet Another Tool ™ to get started - I want an Arduino IDE (or better yet, where I just type “make”) to start with. If I need something more, then I will learn it. I have beat my head against more tools that you, me, and N others have fingers and toes.
One last rant: I want examples that work. I have been trying to get a serial driver over USB and using GPIO pins for weeks - and all of the examples are broken. Some seem to be broken because they were written for an obsolete rev of the source tree - they don’t compile. Others are broken because they compile/link, but do nothing when executed. I have written over 100 device drivers, but I don’t want to re-invent the wheel. Again - the Arduino model.
I consider myself to be a geek, and I do not like using clunky UIs. I will avoid applications and/or development tools that have bad UIs or do not work in other ways. A UI should help do a task, not hinder our ability to do it or make us frustrated. I do not care for any Eclipse-based IDEs. If companies who make development tools want t help us, they should try integrating their stuff into VSCode or something else that actually works.
No problem, Mbed has a CLI, and you can call compilation from a task. Or use the new cmake based mbed-tools that work also with the cmake extension.
The decision for Theia as base was also explained by @arekzaluski and is reasonable.
Unfortunately I dislike browser-based anythings. It’s a simple, but poor, way of achieving cross-platform operation. Poor because of the limitations imposed on the UI and other functionality by a web-based approach.
Personally I much prefer a UI that’s native to the platform I’m using, a bit like the RemObjects approach whereby the bulk of your code is platform-independent, and just the UI is specific to the target platform. More work than just targeting a web browser, but definitely worth it, IMHO.
Anyway, it doesn’t matter - ARM aren’t going to change this now.
fwiw, we have Mbed CE now (shameless plug), which lets you use VS Code or CLion to develop Mbed. The storage space problem hasn’t gone away, but you can at least develop however many applications you want in a single project, which will clone and build Mbed once.