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.