arduino / arduino-ide

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

Support sketch.yaml for IDE board configuration and Libraries #2573

Open bryceschober opened 1 day ago

bryceschober commented 1 day ago

Describe the request

Sharing Arduino IDE sketches between users is pretty handicapped right now, because the sketch.yaml project file isn't yet supported in the IDE, and there is no way to share the settings that are manually configured in the "Tools" menus. This is in spite of the fact that I've already configured the sketchbook location to the root of my GitHub repository's sandbox.

The first MVP behavior wouldn't even need to support multiple profiles or provide any additional user interface. It could be as simple as:

  1. If the sketch .ino has a sketch.yaml file next to it, and
  2. if the sketch.yaml explicitly defines a default profile, then
  3. load & save all platform properties to/from the default profile
  4. load & save all board properties to/from the default profile's FQBN
  5. load & save all library installations to/from the default profile

Describe the current behavior

The current behavior is that the user's configuration of the board and related properties that could be defined in the sketch.yaml project file are stored in some "black box" in the IDE's configuration that cannot be seen or shared.

Arduino IDE version

2.3.4-nightly-20241120

Operating system

Linux

Operating system version

Ubuntu 22.04

Additional context

No response

Issue checklist