Windows/Linux/Mac Eclipse plugin to compile and upload arduino sketches

@gfvalvo
version control is the normal answer to your version control question.
The sloeber project includes e-git so there is no need to install extra plugins.
If you are serious in software development (and it looks like you are) you have to take a look at version control and if you do opensource github is a really good choice at the time of writing.
Note that a good version control allows you to have versions over time (commits) as over functionality (branches)
See this video on how to import a non Sloeber Arduino project in Sloeber. A Sloeber project is just lots easier todo using a non sloeber github project in Sloeber - YouTube

As to workspaces:
I use multiple workspaces and I do not swap but start multiple eclipses (I have more memory 16GB then cpu power 2-cores) :confused: .
It is not uncommon for me to have 3 eclipse instances running. FI one to develop sloeber, one for my arduino projects and one for debugging/testing github issues.
My advice is as follows: Start with one test and one production workspace. Only add a workspace if you have a need. Note that if you use version control you can have the same source code (in different versions) in all workspaces

I'm not sure what you mean with "concept of hierarchical organization"

best regards
Jantje