How to migrate a pluginf from IDE 1.8 to 2.0

Can you please provide some documetation about how create a plug-in for IDE 2.x?
I would like to use the esp32fs.jar with LittleFS, but this plug-in was not migrated from IED 1.8 to 2.0 and I would like to help on it, but I have no idea how to start.
Can you help me?

Hi @CamargoF. It is possible to add additional functionality to Arduino IDE 2.x with VS Code extensions.

Extensions

Because it is built on the Eclipse Theia IDE framework Arduino IDE 2.x always had general support for VS Code extensions (and in fact Arduino IDE makes extensive use of VS Code extensions to implement some of the built-in functionality).

Due to the incredible popularity of VS Code, there is a huge amount of information and resources available on the Internet about creating VS Code extensions. I think you'll find it is pretty easy to get started with them if you have some familiarity with the JavaScript or TypeScript programming languages these extensions are written in.

Application-Specific Data

Even though it has always been possible to use extensions in general (e.g., themes, language packs), previously extensions didn't have any way of getting Arduino-specific data (e.g., the currently selected board, the path to the sketch build folder) from Arduino IDE. That made it either difficult or impossible to create VS Code extensions that would be equivalent to the popular "Tools" (AKA "plugins") the community created for Arduino IDE 1.x.

The Arduino IDE developer has been working on making Arduino IDE provide that application-specific data for consumption by arbitrary VS Code extensions:

This pull request hasn't been merged yet, but it is finalized and I expect it to be merged later today.

Reference Extension

The capability added to Arduino IDE 2.x by feat: expose Arduino state to VS Code extensions by dankeboy36 Ā· Pull Request #2110 Ā· arduino/arduino-ide Ā· GitHub has already been leveraged to create a VS Code extension that is equivalent to the popular "ESP Exception Decoder" Tool for Arduino IDE 1.x.

You can see that extension here:

I think that if you first use the available resources to learn how to create VS Code extensions in general, you will then be able to understand how to use the application-specific data provided by Arduino IDE by studying the source code of that extension.

Installing Extensions

Since themes are just a specific type of VS Code extension, you can follow the instructions for installing 3rd party themes to install any type of VS Code extension in Arduino IDE 2.x:

https://github.com/arduino/arduino-ide/blob/main/docs/advanced-usage.md#3rd-party-themes

1 Like

Thank you for the quick answer.
I will try to work with VS Code (again). :wink:

You are welcome. I'm very interested in the subject of extensions that are created by the community specifically for use with Arduino IDE 2.x so if you make any progress on the project please do post an update here.

1 Like

Hello again @CamargoF. In case you didn't end up creating your own extension, you might be interested to know that one is now available: