I have make a kind of working prototype as a (Arduino IDE Plugin/Extension/Tool) so it works on any OS.
It works like you want, by having certain preferences saved to current sketch folder
available at:
https://github.com/manicken/arduinoPrefsSaver
*How to Install
download this repository by either Code-Download Zip or
by git clone
https://github.com/manicken/arduinoPrefsSaver.git
then extract/open the repository
global (into sketchbook folder (defined in Arduino IDE - Preferenses):
make a new folder in the above defined sketchbook folder
called tools
then copy the manickenPrefSaver from the repository into this new "tools" folder.
new menu items:
here you can "activate/save current board settings" and deactivate the plugin functionality.
right now there is not any possibility to select what to save
but the items I have selected work for the moment.
right now it messes up the tools menu a little:
that is after I have used teensy 4.0
and opened a project that uses Arduino Uno
There is the possibility to change the setting without any mess,
because you can select boards the normal way without mess,
but I have not figured it out yet.
the following items are saved:
Code:
board=teensy40
custom_CrystalFreq=generic_40
custom_FlashFreq=generic_40
custom_FlashMode=generic_dout
custom_ResetMethod=generic_nodemcu
custom_baud=generic_115200
custom_bmcsketchconfig=teensy40_no
custom_cpu=nano_atmega328
custom_dbg=generic_Serial
custom_eesz=generic_16M15M
custom_exception=generic_legacy
custom_ip=generic_lm2f
custom_keys=teensy40_en-us
custom_led=generic_2
custom_lvl=generic_SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS
custom_opt=teensy40_o2std
custom_sdk=generic_nonosdk_190703
custom_speed=teensy40_600
custom_ssl=generic_all
custom_usb=teensy40_serialmidiaudio
custom_vt=generic_flash
custom_wipe=generic_none
custom_xtal=generic_160
serial.databits=8
serial.debug_rate=9600
serial.line_ending=1
serial.parity=N
serial.port=COM8
serial.port.file=COM8
serial.port.iserial=null
serial.port.label=COM8
serial.port.protocol=serial
serial.stopbits=1
target_package=teensy
target_platform=avr
i.e. all items beginning with:
serial.
custom_
and equals board
/Jannik