arduino / arduino-ide

Arduino IDE 2.x
https://www.arduino.cc/en/software
GNU Affero General Public License v3.0
2.29k stars 389 forks source link

Add a portable mode #122

Open ornea opened 4 years ago

ornea commented 4 years ago

Describe the request

Allow the Arduino IDE installation and dependencies (application, preferences, platforms, sketchbook) to be stored under a single folder.

πŸ™‚ The user can put a complete sketch development environment on a portable drive and use it on any available computer. πŸ™‚ The user can create a complete self-contained project environment with all project dependencies, including the IDE application itself.

Describe the current behavior

The IDE installation and dependencies are stored in multiple separate places on the user's computer:

It is not possible for the user to configure the location of the "configuration folder".

It is possible to configure the location of the "data folder" (via <configuration folder>/arduino-cli.yaml), but doing so is user friendly and the configuration file is under the non-configurable "configuration folder" anyway.

πŸ™ A complete sketch development environment can not be easily moved between computers. πŸ™ Complete self-contained project environments can't be created.

Arduino IDE version

58aac236bf51532313db1855298294348c0abeb0

Operating system

All

Operating system version

Any

Additional context

Arduino IDE 1.x has a portable installation capability, which is enabled by creating a folder named portable under the Arduino IDE installation folder. The configuration, boards platforms, and sketchbook are then stored under that folder:

https://docs.arduino.cc/software/ide-v1/tutorials/PortableIDE

Due to system security restrictions, it is not possible for users of the macOS or Microsoft Store packages of Arduino IDE 1.x to use that feature. These deficiencies in the previous system might be considered when designing an equivalent feature for Arduino IDE 2.x

Additional reports

Issue checklist

linxcow commented 4 years ago

+1 I use portable mode on a thumbdrive with different Ide versions easy to maintain and handy on multiple PC's

keesdekoning commented 4 years ago

Yes a portable mode and plz not use ApData and one drive. and store board managers

moelski commented 4 years ago

Any news on this topic? Portable mode is the first thing I enable after downloading any Arduino IDE ...

Tonymac32 commented 3 years ago

Was ready to test the Arduino IDE 2.0 Beta, will not until I can safeguard my other environments with this feature.

If I may suggest an improvement over the IDE 1.x behavior, make portable mode a checkbox in the preferences dialog.

ortegafernando commented 3 years ago

any news?

modtronix-com commented 3 years ago

Please add portable mode! We have many Arduino projects, and have a portable Arduino IDE for each project with all required boards and libraries installed. This will can always build old projects without worrying about board and library version my IDE currently has. Only useful to me if it has a portable mode.

tophe2019 commented 2 years ago

portable mode is essential to me.

I will not load 2.0 until that is available. as @modtronix-com says: "Only useful to me if it has a portable mode".

ubidefeo commented 2 years ago

@tophe2019 thank you for your feedback. We know that portable mode is very useful to some users, and it is in our backlog. We do not plan to give it higher priority for now as our first goal is to release a stable IDE and later focus on more niche uses.

@modtronix-com being able to reproduce a build will be implemented in a more efficient way once the Reproducible Build RFC goals are reached (https://github.com/arduino/tooling-rfcs/blob/main/RFCs/0003-build-profiles.md) This will allow anyone to simply get a Sketch and make sure that everything they need to build it successfully is available to the CLI and IDE 2.0

Meins321 commented 2 years ago

".....later focus on more niche uses."

With all the feedback it doesn't look like niche usecase, more like a hidden gem feature to make arduino sketches future proof by going offline with tools and librarys needed by bigger projects

witnessmenow commented 2 years ago

I can't really add to much to this other than to say portable mode is essential to my work flow too. When I'm making libraries I want to make sure that it works with different versions of board definitions and portable mode was an easy way for me to achieve this.

It was a workaround though as I do think the best solution would be a per project board and library config, but that would be a fundamental change I suppose

Lou-Menz commented 2 years ago

Any estimate as to when portable 2.0 will be available?

JoeLoginIsAlreadyTaken commented 2 years ago

The portable mode is also very important to me. It's not just for having the IDE on a stick or move it around between multiple computers. It is also the easiest way to make snapshots of whole dev environment.

In the past it happened to me that i wanted to do a very small change to the code of one of my older projects - just 2 or 3 lines had to be changed. But the project was not used over years and multiple libraries had been updated since then. So my project was not compiling anymore. So i would had to migrate to the new libs - which would have been much more than 2-3 lines. Happily i had a old, not updated installation on my old laptop, which i could use to compile my project. Since this time i always use the Arduino IDE in portable mode and create snapshots now and then. Not the fanciest solution, but it works. It's a bit like "venv" for python.

So please, please, please bring back this portable mode.

simondddd commented 2 years ago

Same here, I need different snapshots (done until now through different portable installations) for different projects being maintained each one in its own version of board and libraries. So I would need IDE 2.0 to use the portable folder if it exists (as IDE 1 does) for being able to jump to it

aidenfarley commented 2 years ago

+1

johntor commented 2 years ago

+1

seeers commented 2 years ago

+1

embsysblog commented 2 years ago

Portable mode is very important to me as well. I think I'll use the older 1.x version of the IDE until its portable mode is brought to the new 2.0 version

gpb01 commented 2 years ago

The same ... I am not moving from version 1.x until the ability to have "portable" is available in version 2.x

OpenSourceDevelop commented 2 years ago

Same here, the bells and whistles are not worth it without portable mode

PcSpecific commented 2 years ago

Me too. Until portable is available in version 2 I am not moving to the new version

nmaas87 commented 2 years ago

cannot move to 2.0 before portable mode is included

torntrousers commented 2 years ago

Just adding to the me too's. Without portable mode i can't be moving up to 2.0

Zedus112 commented 2 years ago

+1 Without portable mode i can't move to 2.0

raihei commented 2 years ago

same for me

ObviousInRetrospect commented 2 years ago

In addition to everything else that has been said,

portable would also be extremely useful in working around various new-in-2.0 bugs. For example, a portable mode would be a work-around for https://github.com/arduino/arduino-cli/issues/1880

JohnboyK commented 2 years ago

+1 Portable mode is prerequisite to switch to new main version.

per1234 commented 2 years ago

Hi all. Feedback about the community's need for this missing feature is valued, but "+1" comments can generate a lot of noise for the people who watch the repository to follow the development.

Comments that add new information to the discussion are always welcome, but if you only want to express support then I suggest the use of GitHub's "Reactions" feature.

torntrousers commented 2 years ago

being able to reproduce a build will be implemented in a more efficient way once the Reproducible Build RFC goals are reached (https://github.com/arduino/tooling-rfcs/blob/main/RFCs/0003-build-profiles.md) This will allow anyone to simply get a Sketch and make sure that everything they need to build it successfully is available to the CLI and IDE 2.0

I'm not sure that the 0003-build-profiles proposal is enough to replace portable mode, as its currently written. For example, one thing I use portable mode for is fiddling with the board support packages, like source files within portable\packages\esp32.

Kabron287 commented 2 years ago

Portable mandatory!

n0bel commented 2 years ago

Portable mode (where everything can be in one folder, like creating the portable folder within the installed (unzipped) ide folder as the 1.x does) is required for me to move to 2+. Moving my entire build platform (or a particular customized version of it) from one computer to another, or even running it from a thumb drive is a frequent event for me. Please please portable.

kittaakos commented 9 months ago

Copied from https://github.com/arduino/arduino-ide/issues/2321#issue-2060752424:

Since Theia has implemented portable mode, can it be ported to the Arduino IDE? References: eclipse-theia/theia#12690 eclipse-theia/theia-blueprint#276

I've seen #122, but I can't comment on that one, and thought that this information could be useful for devs.


Since Theia has implemented portable mode, can it be ported to the Arduino IDE?

No, it's currently not available from the Theia Blueprint app.