Didn't read through all since im in a hurry, but something that i really think is lacking in the IDE is to save the project file separate from the source file(s). When im writing a big project with classes and stuff, i want to have the code neatly organized in different files which are all referenced when i load the project file. That way other stuff could be saved in the project file too, like the board version and compilation options, without affecting the source files.

I love that there are professional quality alternative IDEs but that is no reason to let the main Arduino developer tool atrophy. We are talking about the first thing that a new user experiences. It should be as good as possible.

I suggest a two phased approach. First, implement a bunch of small fixes and improvements that increase usability without fundamentally adding anything new. Things like:

* Smooth fonts * Resize fonts with a shortcut (cmd+ and cmd- usually)* Match native key bindings. Right now certain keybindings are available in native apps that aren't there in the IDE. Ctrl-A for start of line, for example. (on Mac)* Serial port names. When the IDE asks you for the serial port of your Arduino it gives you a list of names that contain no useful information. There must be some way to fix this. Perhaps if there is only one serial port attached we don't even ask you, just assume the default.* Add a "Window" menu showing the currently open windows* line numbers in the gutter* a selection of nice alternative color themes* make the toolbar look nicer (new colors? gradients?)* switch to nicer icons from the Noun project.* make the serial port dock-able with the main window* support fullscreen mode on OSes that support such a concept.

The second phase would tackle deeper issues

* syntax highlighting and code completion* a sidebar with inline help for the language reference* a sidebar with docs on each library you have imported into your project* a way to discover and add new libraries from within your IDE. Perhaps a repo of common arduino libs?

thoughts?

- Josh

Hey Josh,

I'm actually a UI designer who got into creative coding and inevitably into hardware stuff, so the IDE kind of drove me crazy after being used to a lot of designer designed UIs. I actually have dug around on the IDE files and managed to hack into a few things. I did a writeup today here: http://hellowoo.com/arduino/dark-ui-theme-syntax-highlighting/ since it was generating some interest and also have a thread going here: http://arduino.cc/forum/index.php/topic,120268.0.html feel free to add to it or poke the developers for some suggestions maybe they will implement some of the changes.

I have managed to do a few things like: smooth fonts, change UI colors and Icons, change the syntax highlighting. It would be nice to have a tool writing in something like processing that would allow to write to the file I edited so edits could be seen easier too. Still a lot to be desired, but its a start.

As a side note, read up on your arduino IDE project, and if you need design, hit me up. I would love to help.

I use ino and Sublime Text 2. They are a match made in heaven. Sublime's awesomeness and a simple "ino build && ino upload" to the command prompt.

I use Martin Oldfield's make files and Emacs for the same effect. One of the nice things you can do in Emacs is type M-x compile, and it executes the makefile automatically and displays the output in a separate window. Clicking on any compiler error message with a file name and line number will take you to that file and line number, opening a new window if required.

There's also an emacs plug-in for Arduino .ino/.pde files, that is basically a tweaked version of the C/C++ plug-in so you get all the syntax highlighting, automatic indentation, brace/bracket/parenthesis matching etc.

Mind you, I think Emacs has been doing all this stuff for at least the last 25 years or so, so it's hardly revolutionary, lol. You can also use the gdb debugger seamlessly in Emacs, of course, so if there is ever Arduino support for that, you would actually have something resembling a real IDE.

In the meantime, Emacs + make does OK. Best thing of all is that it bypasses completely the buggy Arduino IDE "Arduno language to C++" preprocessor, or whatever they call it, lol. I assume you would also get that advantage using the "inotool" build scripts.

I love the look. Did you do a new syntax highlighting scheme as well? What I have working in my new IDE so far is functional and fast, but ugly as sin. I could really use some help on the visuals side.

If you are interested I'm doing a private alpha release this weekend. Send me an email at joshua@marinacci.org if you want in. Thanks!- Josh

I love that there are professional quality alternative IDEs but that is no reason to let the main Arduino developer tool atrophy. We are talking about the first thing that a new user experiences. It should be as good as possible.

I suggest a two phased approach. First, implement a bunch of small fixes and improvements that increase usability without fundamentally adding anything new. Things like:

* Smooth fonts * Resize fonts with a shortcut (cmd+ and cmd- usually)* Match native key bindings. Right now certain keybindings are available in native apps that aren't there in the IDE. Ctrl-A for start of line, for example. (on Mac)* Serial port names. When the IDE asks you for the serial port of your Arduino it gives you a list of names that contain no useful information. There must be some way to fix this. Perhaps if there is only one serial port attached we don't even ask you, just assume the default.* Add a "Window" menu showing the currently open windows* line numbers in the gutter* a selection of nice alternative color themes* make the toolbar look nicer (new colors? gradients?)* switch to nicer icons from the Noun project.* make the serial port dock-able with the main window* support fullscreen mode on OSes that support such a concept.

The second phase would tackle deeper issues

* syntax highlighting and code completion* a sidebar with inline help for the language reference* a sidebar with docs on each library you have imported into your project* a way to discover and add new libraries from within your IDE. Perhaps a repo of common arduino libs?

thoughts?

- Josh

Hey Josh,

I'm actually a UI designer who got into creative coding and inevitably into hardware stuff, so the IDE kind of drove me crazy after being used to a lot of designer designed UIs. I actually have dug around on the IDE files and managed to hack into a few things. I did a writeup today here: http://hellowoo.com/arduino/dark-ui-theme-syntax-highlighting/ since it was generating some interest and also have a thread going here: http://arduino.cc/forum/index.php/topic,120268.0.html feel free to add to it or poke the developers for some suggestions maybe they will implement some of the changes.

I have managed to do a few things like: smooth fonts, change UI colors and Icons, change the syntax highlighting. It would be nice to have a tool writing in something like processing that would allow to write to the file I edited so edits could be seen easier too. Still a lot to be desired, but its a start.

As a side note, read up on your arduino IDE project, and if you need design, hit me up. I would love to help.

Just unzip it and run the EXE. It has Java and the compiler bundled with it. It runs on Windows 8. It *should* run on older versions of Windows down to XP, but I haven't actually tried them yet since I'm using Win8 for my job.

This build only has support for a few devices and examples, but it's easy to add more. Please try it out and tell me what bugs/features you want next.