Some clarification: Sketch system
One main file, archive of sketches, easier code Preprocessor
Easier code Uploadbutton
Being able to upload your sketch to the Arduino Serial monitor
... Advanced code editor
The code editor is Scintilla. This editor allows for automatic coloring, indentation and word autocompletion. MDI
Multiple Document Interface. Allows you to open more than one sketch but in one window. Library creation
A special editor for libraries. Will automatically add #include "WProgram.h" and save the files in the correct format and folder. PROGMEM compiler
A resource compiler like the resource compiler for Qt. You have an easy editor for all the data stored in PROGMEM. The compiler wil generate PROGMEM code and automatically append it to the source code. Debugger/Simulator
It may eventually contain a simulator for trying the program. The arduemu project is still Alpha, but when it is good enough it will be included in this studio
Yes, I use Qt because it is simple to use, free for open source and platform independent :).
I will compile the Studio for Windows and Linux, but Mac OS X is different. I don't have Mac OS X so I can't compile it. Maybe someone with Mac OS X could compile it.
Without platform interdependency, it can't be better than the current IDE.
I have many ideas for an IDE but I'm not so sure about actually doing it.
Sharing is always possible.
Maybe you want to become very good friends with Massimo, David C, Tom, Gianluca and David M first.
I'll consider that. For now, I can understand a lot of their original code but it is to much work to adapt everything to C++. I'll write my own code, but inspired by their code. (preprocessor for example)
To all, thanks for those quick replies. Some forums ... aren't that quick and active.
Hmm - has anyone tried this editor with the Arduino, I wonder?
I doubt it would work completely "right outta the box" - ie, it wouldn't compile and upload - but it says that it is scriptable, so adding that wouldn't be difficult.
I just found it, and it seemed like it might be a good step in-between the current IDE and using eclipse.
IMHO the biggest issue with the Arduino IDE is that it lacks any kind of version control. Having said that, the other features are below average as well. The main advantage of Arduino are the libraries and the examples and that it works out of the box most of the time.
So whoever provides a reasonable IDE for Arduino that includes version control and works out of the box will most probably win this "market".
copy-paste of text that works to/from other applications
The editor Scintilla has that built in. (I just tested it out)
A list of auto-replacements in the editor so that it automatically fixes e.g.:
Because Scintilla automatically displays an auto-completion list, you won't be typing the first two words wrong. However, I will add an auto-replace list like the one found in Word.
an obvious com port and board drop down list
I'll create an upload toolbar with those lists and an upload button
[COM][V] [BOARD][V] | [UPLOAD]
Because the picture of the program is pointing to my site, it will change when a new feature is added. To give an example of how it looks like.
EDIT: You can go to dss.nl.eu.org/ArduinoStudio to view my code. Note however that it doesn't have a nice download system, just links to the individual files.
IMHO the biggest issue with the Arduino IDE is that it lacks any kind of version control.
I'm not sure that an editor should have built-in version control; instead, it should have a means to integrate with standard version control tools like Subversion and SourceSafe. That way you get the versioning capability, but you aren't locked into any single tool. Also, by using standard versioning tools, there's the ability to partition the project tree and the check-in/check-out of code; so that while the editor for the Arduino code is checking out from its area, the front-end GUI application code being developed by another developer for the same project, in say, PHP - can be checked out on its own, all versioned with the same toolset in the same versioning DB.
This is not an editor - it is an IDE for beginners. Of course an optimal solution would be to come with a default version control and the capability to integrate any other version control. Just as with the boards / programmers. There are reasonable defaults but you can extend it as you desired.
This is not an editor - it is an IDE for beginners.
Oops - when I wrote editor I meant IDE.
Of course an optimal solution would be to come with a default version control and the capability to integrate any other version control. Just as with the boards / programmers. There are reasonable defaults but you can extend it as you desired.
That would be the best of both possible worlds; I agree.
Can it feature highlight-and-drag moving of text. This always annoys me. You try and highlight some text to drag it to the next line and it just starts to highlight again. :o
Why not simply integrate with one of the many already up and running ide projects?
codeblocks, eclipse, scintilla, emacs, etc.
I hate eclipse, but codeblocks is functioning pretty well in linux and windows for me. It supports templates, projects, code completion, version control, multiple compilers, etc, etc.
The reason why I build it is because I want to learn. I learn by making a new program and solve the problems that come with it.
But of course, we are just reinventing the wheel over and over again. There are a lot of IDEs that can be modified by plugins to make them work with arduino.
I can only say this:
This IDE is designed specifically for Arduino. All extras are written to help developing for Arduino. If you want to write plugins for Code::Blocks, you have to write a project management system, preprocessor, avr compiler. The things that already exist are the codeeditor and highlighting (which you have to modify by a plugin).
I think it is easier to write your own IDE than creating plugins for other IDEs