Extending the Arduino IDE: is there a plugin mechanism available?

82 views
Skip to first unread message

Cristian Spiescu

unread,
Nov 5, 2015, 9:03:17 AM11/5/15
to Developers
Hello,

I would like to build an integration between the Arduino IDE and Flowerino (which generates Arduino code from diagrams).
Is there a way to build a plugin, that would be loaded by the IDE? This plugin would a) contribute with menu entries that open new screens and b) do some basic communication with the IDE (get the path of the current project, reload files, etc.).

If not, my idea would be create a new project (that would have one or more jars). And then to have a new start script, that a) uses the original classpath of the IDE; b) adds the new jars to the classpath and c) starts a new main(), that delegates to the original main(), and then navigates the objects in order to enrich the menu, etc.

Do you have any ideas?

Thank you in advance.
Best regards,
Cristian.

Ivan Grokhotkov

unread,
Nov 6, 2015, 2:00:10 AM11/6/15
to Developers
Hi Cristian,
There is a plugin mechanism inherited from Processing.
For example, here is a plugin written to simplify file uploads to the embedded file system in ESP8266 core: https://github.com/igrr/Arduino-legacy/tree/esp8266/build/shared/tools/ESP8266FS/src
For each plugin IDE will add an entry to Arduino Tools menu. I don't know if it is possible to add multiple entries from a single plugin.
You can also communicate with IDE classes, take a look at the source code linked above for an example.

These plugins have to be installed into Documents/Arduino/tools directory. Unfortunately it's not possible to distribute them using boards manager (but that would be an improvement).

Regards,
Ivan

Cristian Spiescu

unread,
Nov 17, 2015, 4:30:52 AM11/17/15
to devel...@arduino.cc
Thank you Ivan.

I have tried it and it works great. In the .init() method, I grab the Editor object, and I populate its menu bar with a top level menu entry (i.e. I achieve what I was looking for).

Regards,
Cristian.
--
You received this message because you are subscribed to the Google Groups "Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to developers+...@arduino.cc.

Reply all
Reply to author
Forward
0 new messages