1) IDE is initiating the auto-reset of the Leonardo (using the serial port selected in the Tools > Serial Port menu). It does it by opening the virtual com port at 1200 baud and then closing it. This is a signal for firmware to reset the processor of Leonardo, and the virtual (CDC) serial/ COM port disappears from the list. 2) the Arduino software waits for a new virtual (CDC) serial / COM port to appear - one that it assumes represents the Leonardo bootloader. It then performs the upload on this newly-appeared port.

I can guess the port should change for the serial monitor too, but I don't know how the official one works if I don't see any difference in these routines and I don't know how to replicate the Leonardo behavior with another board to test, so for the moment I can't do anything to fix this.

Some people asked for a Boards editor. I was working on the parser and it is working perfectly, but now I am thinking on the UI. Of course I want to add some automated stuff (the image below only show simple text entries):

But before I start to enhance this part (will like to get comments about this):

1) I think it is enough having Save as... and delete, the last item will be not deletable.

2) Application will require admin privileges on launch (due the location of boards.txt)

3) Instead of doing a custom UI, I can use http://www.devcomponents.com/dotnetbar/img/PropertyGrid2.png typical propertygrids (requires work too, create a special class with properties)

4) Maybe it will be nice if the app can "disable/enable" boards? much like the library editor?

BTW: I don't trust Microchip, they can skin their chipkit with a friendly arduino face but they are evil inside (my first experience with microcontrollers was in the time where picbasic was the king, everything was closed and microchip controlled our lifes now I am sure they try to do the same if they get more market one day)

5, with Teensyduino - which will modify a stock 1.0.1 or 1.0.2 Arduino installation to add Teensy support, but won't modify an Arduino ERW 1.0.2 (I tried). Which means I get to use ERW when programming Arduino boards, but can't use it when programming Teensy boards - and I miss the enhancements.

Well, 6 with the Teensy 3.0 environment which is separate again. But these are all forks or modifiers to the Arduino IDE.

5 IDE's heheh... my original idea fixing the things (years ago) was to get something fixed someday in the official ide. Since that will never happen, I decided to build this mod mainly just for windows+arduino users (specially for me).

I don't know if everyone noticed but the crusade seems to be pretty effective. Almost no one is now posting or discussing the same drivers/sloweness/installation issues in the forum (I was pretty tired seeing the same issues again and again, even in some 'arduino workshops' a big part of the time is used just to teach how to get the IDE running)

I don't have any other board rather than a couple of arduinos, I have received some requests from people because they experience a lot of the same issues in derivated IDE's but besides providing feedback and hints, doing something it is just too much work.

So, in conclusion, this mod is just a temporal solution, I may eventually update the ide to 1.5 but Josh solution is a much better approach and I will love to see any alternative IDE replacing the Arduino IDE in the future, but our work is not very shareable.

How difficult would it be to put an option under "preferences" to bypass the automatic generation of protypes by the IDE preprocessor? Just leave the .pde/.ino file untouched as a C++ file prior to "merging" with the library source to produce the .cpp file for actual compilation by gcc. That would be a nice addition to the the "external editor" option, if feasible. Eliminate (well, bypass) a whole class of long-standing bugs in the IDE.

How difficult would it be to put an option under "preferences" to bypass the automatic generation of protypes by the IDE preprocessor? Just leave the .pde/.ino file untouched as a C++ file prior to "merging" with the library source to produce the .cpp file for actual compilation by gcc. That would be a nice addition to the the "external editor" option, if feasible. Eliminate (well, bypass) a whole class of long-standing bugs in the IDE.

Hi, what kind of bugs? can you elaborate a Little more about the benefits of this feature?

How difficult would it be to put an option under "preferences" to bypass the automatic generation of protypes by the IDE preprocessor? Just leave the .pde/.ino file untouched as a C++ file prior to "merging" with the library source to produce the .cpp file for actual compilation by gcc. That would be a nice addition to the the "external editor" option, if feasible. Eliminate (well, bypass) a whole class of long-standing bugs in the IDE.

Hi, what kind of bugs? can you elaborate a Little more about the benefits of this feature?

There are also numerous threads in these forums discussing these bugs.

The depressing "official" response to these long standing issues is that it's "tricky" to fix the IDE automatic prototype generation so that it doesn't randomly produce illegal code from valid source files, and that people should simply work around the issues by various tricks (like putting the source code into a .h include file so the IDE preprocessor doesn't touch it.) I don't believe anyone actually understands what the mess of regex code really does anymore, if they ever did. Realistically, the whole mess should be tossed out and redone properly, using proper parsing techniques, but there is no "official" will to do that, and judging by the history, I don't believe these bugs will ever be addressed.

I wasted enough time chasing down issues with this "random code generator" that I eventually moved away from using the IDE completely, using Martin Oldfield's makefiles instead. The only difference is that I have to write my own prototypes now, but that is infinitely preferable to a buggy IDE that attempts to do this automatically. If the IDE had the ability to turn off or bypass its buggy automatic prototype generation, I'd give the IDE further consideration, particularly with the use of the "external editor" option and many of your enhancements.

So the ability to bypass the automatic prototype generation code would be a considerable enhancement to the stability of the IDE. It really attempts to do something that is of dubious or marginal benefit at most to the user anyway. Writing a prototype is no harder than writing the function declaration, and is good practice for a beginning programmer to get into in any case. And as one of the bug reporters commented, "pity the poor noob" who gets bitten by these bugs...

Interesting... have you checked if the 1.5 solves anything? I believe they rebuilded most part of the code for that version?

I can think on even rebuilding the pre-parser, I love regular expressions/challenges and I noticed how buggy was when I touched something in the header and screwed everything (weeks ago, the comments problem)