The Board and Port menus are currently global settings. If you have multiple sketches open and change the board on one sketch's Tool menu, it changes for all of them.
It would be nice if you could have that be per window. Or better yet, store the board and port settings with the sketch somehow.
An example of how this would be useful... I have two different boards that I'm programming and they're different types. I have a sketch for each board. I find myself constantly having to flip the board menu back and forth. I also find it occasionally setting the board to some random board type on its own.
The port menu is another problem, at lest on Windows.
On one of the boards I use, it shows up as COM8, but only when I double-click a button on the board to switch it into the boot-loader. Once the sketch is uploaded, COM8 goes away and it becomes COM13. The IDE auto-selects COM13. But when I go to program it again, COM13 goes away and becomes COM8, but the IDE doesn't auto-select the port.
On one of the boards I use, this is a bigger problem because, once the bootloader is activated, you only have 10 seconds to upload the new sketch before it resets back to normal. So it requires careful timing to start the upload, wait just long enough before double-clicking the button on the board, selecting the right COM port and hope you get there just as the compile ends and you can get the sketch uploaded.
This would be easier if either of the following were true:
- It could auto-select the port
- Upload didn't have to recompile if there were no changes since the last recompile.
Some parts of that list have already been in place for some time now.
The CACHE compiled is ON by default and was an option in a few of the other releases.
However it will still need to recompile some parts on an UPLOAD.
The CREATE editor already has in place some of the other items.
And when you download a sketch from CREATE there is even a small file with the board settings included in it.
However I do not think there are any plans to bring that to the regular IDE.
There are also a few posts littered around that use other home brew solutions to the board, port linked idea.
I dare say the little magnifying glass in the upper right could find them for you.
Some of Arduinos boards do have TWO COM ports and the IDE (most varieties) already know how to deal with those boards. As you rightly say it is known as the BOOTLOADER.
You neglected to say what board or IDE version you have ?
You can open several ide, one for each board.
Each ide can have several sketches for one board.
I think this will be better if each ide opened can have a different color theme.
For example :
com1 = orginal theme,
com2 = blue theme,
com3 = magenta theme,
It is not a bad idea but Coding colours to COM ports would be a painful task and for some of us would be pointless in function.
It would not reference a particular board to a USB port.
I have some of the MKR and newer NANO boards that claim thier own COM port regardless of which USB port is used.
Eg. One Nano claims COM 36 regardless of where I connect it on the computer. Yes I have a LOT of LIVE Arduinos. There are not that many "primary" colours. so I would end up looking for various shades etc.
Those shades on most peoples computers can show up with slight or even pronounced differences between monitors / displays.
Most Arduino users do or should, check a COM port before usage so I think that it mainly an issue for newer users who often don't always check before trying to send up a sketch.
I think dwilliss is on the correct track but getting it from CREATE to the regular IDE is not an easy function to to.
The idea is that by encoding several arduino at the same time with an IDE for each, so a specific com port, it would be easier to have a different IDE color theme. If it's too difficult depending on the port, the launch of the program it would be easy to count the instances already open.
This IDE is already used with other colors for other microcontrollers, but I have not found their theme.
if you want something like that :
take a look at https://forum.arduino.cc/index.php?topic=480263.0