Basic suggestions for IDE usability improvements

  1. The IDE should have the ability to both remember and restore its previous window state (i.e. size, maximized, screen #, etc.) and terminal height on next start up.

  2. A "tabbed" IDE should allow the user to open an existing file in a new tab. Otherwise, you should have the ability to hide the tab. (What is the point of one tab?) Currently, "Close" (Ctrl+W) has the exact same functionality as "Quit" (Ctrl+Q). The proper functionality of close would be to close the current tab and leave the IDE open.

  3. More (most?) of the IDE preferences should be modifiable from within IDE. (worries about making things "too complicated" are easily solved with a simple check box that either enables or hides the advanced options) All options in the preferences file that aren't modifiable from within IDE should be thoroughly explained preferably both in the manual and via comments in the actual preferences file.

  4. IDE should have the option to auto save the current sketch upon successful compilation (verify).

And it would be nice to see two things without need to surf the menu:

  1. Active COM-port
  2. Active Board type.

Cheers,
Kari

I heartily second the "active serial port" and "active board type" notifiers.

There's lots of real estate in the ide -- That big blue bar on the bottom that houses the incredibly tiny line number, for instance (it's capable of being updated dynamically as the cursor moves around, stick "Serial: /dev/ttyACM0" on the right side of the bar. That'd be sweet when you've got two instances of the IDE open, and you're wondering... "Is board one on /dev/ttyUSB0 or /dev/ttyUSB1?"

I usually unplug a USB then do a quick "ls /dev/ttyU*" to see which one I unplugged...

The active port would be very handy, I have been developing a telemetry system with 2 arduinos plugged in to the one PC, and I keep ending up with 2 receivers or 2 transmitters when I forget to swap the port.

I like the autosave option feature.

Im using a lot autoit and I like help in scite... when cursor is on some command and i press F1 i get language reference for that command. In case of arduino I have to go to browser arduino.cc reference... language... find command... So some F1 functionality would be appreciated

I'd love to see the IDE conform with Linux standards wrt use of the middle mouse button (cut and paste). Drives me crazy.

Aubrey:
I'd love to see the IDE conform with Linux standards wrt use of the middle mouse button (cut and paste). Drives me crazy.

Count me out on that. I use a PC. I don't think Mac users would benefit from this either. Maybe an option but not enforced.

Don't want to complain since it's pretty usable as-is.

biggest improvement I can think of would be to fully integrate the IDE with Eclipse, or at least have better integration between the output window (for compiles) and the source viewer.

But what I really want (and hardly anyone supports it) is what MS calls "virtual space". If I go to the end of a long line and use cursor up/down I don't want my horizontal cursor going to the end of each line, bouncing around. I want it to stay in the SAME COLUMN regardless of how long the lines are. And I want all of the excess white space automatically trimmed on EVERY LINE OF CODE. The auto-indent often inserts a lot of excess white space. But I have utilities that can trim it already.

Also I would like to see the actual command lines being sent to avrdude so that I can troubleshoot problems more easily. Yeah, I can always do that with a shell script, but I don't want to have to go there.

And add upload without compiling to the list.

...see the actual command lines being sent to avrdude...

Press shift when hitting upload.

Jeroen

Aubrey:
I'd love to see the IDE conform with Linux standards wrt use of the middle mouse button (cut and paste). Drives me crazy.

I actually use both Linux and Windows on different computers and cannot stand the middle click paste.

smeezekitty:
And add upload without compiling to the list.

And the opposite, an icon to compile without upload.

Thats what the "Verify" button does.

A "upload without compile" button would solve a lot of issues regarding "out of sync"

My laptop doesn't have a middle button.
I just use CTRL-C & CTRL-V to copy & paste. Haven't gotten used to right-click this & right-click that.

Oh - and my calendar doesn't 7s, and my phone doesn't have a 5 ...
(Thanks Steven Wright!)

I'd like the "Done Uploading" notice to disappear once I start editing again because I often lose track of whether the code changes I've just made are uploaded or not.

Could we have an option (maybe a tick box on the tool bar) that would automatically open the Serial Monitor after an upload. Many projects deliver serial feedback so this would be a 'upload and get on with it option' rather than upload, wait, then open Serial Monitor.

When 'Auto Format' scrolls the current cursor position to the top of the screen I often lose my place. Could it stay still please?

I hope these are acceptable

Many thanks for all you've done, are doing and will do!

I'd like to see the Serial Monitor send "traffic" directly to a file on the host computer.

When you have large amounts of data coming from the Arduino, cut & paste can be a real PAIN when you're trying to find the one character clues in the datastream.

The option to "prefix" data going to the Arduino with, say, "<", and that coming from Arduino with, say, ">" would also be nice, but this is much less important than saving all the data to a file.

Another, separate comment on the IDE: Using it is certainly a "retro" experience. I've been using various debugging tools for well over 40 years, and this one is certainly a thowback to the capabilities we saw in the 1970s: wanna find out what's happening in your program? Just throw in a few more "printf()" calls (or whatever the syntax for the language you're using).

More modern IDEs include the capability to set breakpoints, run from start to the first breakpoint encountered, run from the current breakpoint to the next breakpoint, "single step" through a program (or, if you prefer, "sketch"), examine the contents of variables (and let the user specify variables to display at every breakpoint), and even modify those contents.

Although "debugging by printf()" is still a viable method in some instances, using breakpoints can be much quicker, and, in my not-so-humble opinion (based on more than 40 years of programming experience), it can be a good learning tool for the beginner to be able to "watch" his/her code execute.