Using two instances of IDE 2.3.6 on Windows

Hi @gadile.

The Arduino IDE developers are tracking the request to add that capability here:

If you have a GitHub account, you can subscribe to that thread to get notifications of any new developments related to this subject:


:red_exclamation_mark: Please only comment on the GitHub issue thread if you have new technical information that will assist with the resolution. General discussion and support requests are always welcome here on the Arduino Forum.


The developers are tracking this request here:

If you don't mind working with a command line tool, the official Arduino CLI tool has the capability to manage dependencies on a per-sketch basis, as you are hoping to accomplish:

https://arduino.github.io/arduino-cli/latest/sketch-project-file/#build-profiles

Arduino CLI is used under the hood by Arduino IDE, providing much of the non-GUI functionality. So the support for Arduino sketches, libraries, and boards platforms, and the general sketch compilation system is identical between the two. That is not necessarily the case when using 3rd party alternatives such as PlatformIO. This means you can seamlessly switch back and forth between using Arduino CLI in cases where you need its advanced features, and Arduino IDE when you want the convenience of an integrated development environment.

1 Like

There is information about that here:

https://github.com/arduino/arduino-ide/issues/2731#:~:text=Allow%20the%20user%20to%20set%20the%20Arduino%20IDE%20configuration%20folder%20path

The hardcoded location for the Arduino CLI configuration file used by Arduino IDE is under the Arduino IDE configuration folder (i.e., $HOME/.arduinoIDE), so if the Arduino IDE configuration folder location was made configurable, this would also make the Arduino CLI configuration file location configurable.

The Eclipse Theia Platform IDE framework upon which Arduino IDE is built already has the capability for the user to set an arbitrary configuration folder location via the THEIA_CONFIG_DIR environment variable:

theia/packages/core/src/node/env-variables/env-variables-server.ts at v1.57.0 · eclipse-theia/theia · GitHub

    protected async createConfigDirUri(): Promise<string> {
        if (process.env.THEIA_CONFIG_DIR) {
            // this has been explicitly set by the user, so we do not override its value
            return FileUri.create(process.env.THEIA_CONFIG_DIR).toString();
        }

However, that system is overridden in the Arduino IDE codebase:

arduino-ide/arduino-ide-extension/src/node/theia/env-variables/env-variables-server.ts at 0f9f0d07b7d5ff0cdefda3e77eb6b5ce2854c4a8 · arduino/arduino-ide · GitHub

join(homedir(), BackendApplicationConfigProvider.get().configDirName)

I believe the reason for this override was that, at the time it was implemented, Theia hardcoded the default configuration folder path as $HOME/.theia and we wanted a folder name that matches the application. However, the ability for each application to configure a custom default configuration folder name has since been added to Theia:

Support customization of configuration area for customer application by rschnekenbu · Pull Request #14319 · eclipse-theia/theia · GitHub

So there is now no point in us maintaining the override code in this project.

1 Like

Thank you for the detailed reply, hope to see these features implemented!
I'll try the CLI in the meanwhile, thank you

1 Like