My Wishes for Arduino IDE

1.) I wish we could resize the status area at the bottom of the screen to minimize it, so we can see more of our program vertically. Twenty percent of a 16x9 monitor is too much for a window that gets used for one minute out of an hour.

2.) I wish the serial monitor could be docked as a side bar attached to the main window. I am always having to raise it, but by then I've missed what I wanted to watch. I often use the serial monitor for debugging programs.

3.) I wish the temporary files were automatically deleted after a sketch was uploaded.

I have some minor quibbles, but these are just minor:

I wish the IDE didn't use all of its sketches from individual folders. All of my projects have been the one sketch folder only. Placing a single file inside a folder is just silly from a computer management point of view.

I kind of wish we had an icon with a preview of the first few lines of code, like a photo thumbnail. I know this is not easy to implement, but I have to open each file with the IDE to see what it does, and when I do I lose context of where I was from a file management stance.

We are going to need the option for larger main icons.

Otherwise, thanks for what we have,
BrendaEM

BrendaEM:
I wish the IDE didn't use all of its sketches from individual folders. All of my projects have been the one sketch folder only. Placing a single file inside a folder is just silly from a computer management point of view.

The problem is that the Arduino IDE loads all source files from the folder as tabs. If you put multiple different sketches in a single folder then whenever you opened one it would open every other one as tabs and it wouldn't compile. In order to do this any other way they would need to add an additional file to hold the metadata of which files belonged to that project. At that point you're better off just putting each project in its own folder. You'll appreciate the usefulness of a project folder once you start writing more complex sketches that have multiple files. Now the requirement that the folder has the same name as the sketch I find completely arbitrary and don't understand why they do that.

BrendaEM:
I kind of wish we had an icon with a preview of the first few lines of code, like a photo thumbnail. I know this is not easy to implement, but I have to open each file with the IDE to see what it does, and when I do I lose context of where I was from a file management stance.

Just give your sketches descriptive names, then you'll know just by reading the name.

  1. You can. Put your cursor near the bottom of the text area until it changes. Click and drag to resize.

Hey,

One way of debugging your scripts is to use Serial.println commands. After you get the script right, those may
be deleted or commented out.

It would be great if there were a buttom with which you can comment on/off (delete) Serial.println cmd (also the famous while (! Serial))

Tkx
Leo

LeoTimmermans:
It would be great if there were a buttom with which you can comment on/off (delete) Serial.println cmd

Actually very easy to do this in your code with no overhead, only requires adding two lines and none of your debug prints need to be changed:

#define DEBUG true  //set to true for debug output, false for no debug ouput
#define Serial if(DEBUG)Serial

LeoTimmermans:
(also the famous while (! Serial))

while (DEBUG && !Serial);

This can easily be extended to allow multiple levels of debug ouput, still with no overhead:

#define DEBUG_ERROR true
#define DEBUG_ERROR_SERIAL if(DEBUG_ERROR)Serial

#define DEBUG_WARNING true
#define DEBUG_WARNING_SERIAL if(DEBUG_WARNING)Serial

#define DEBUG_INFORMATION true
#define DEBUG_INFORMATION_SERIAL if(DEBUG_INFORMATION)Serial

void setup() {
  Serial.begin(9600);
  while (!Serial);
  DEBUG_ERROR_SERIAL.println("This is an error message");
  DEBUG_WARNING_SERIAL.println("This is a warning message");
  DEBUG_INFORMATION_SERIAL.print("The state of pin 5 is ");
  DEBUG_INFORMATION_SERIAL.println(digitalRead(5) ? "HIGH" : "LOW");
  Serial.println("This is standard program output");
}

void loop() {}

You can use the boolean debug macros to switch on and off other parts of your code too.

Thanks for the Debug suggestions, though putting any IF statement in a program will not make it any faster.

Are we not supposed to use const rather than #define?

No mention of resizing the feedback window?

Feedback window (alias console window).

File

Preferences.

Click the "More Preferences" link

Should open a file menu

Double click the preferences file and it should open in notepad (or similar)
Change Console Lines from 4 (default) to something that you like.

Be careful with the settings in here as you can end up with a misbehaving IDE if you are not careful.
Suggest you make a copy of the preferences file FIRST in case you get carried away.

BrendaEM:
putting any IF statement in a program will not make it any faster.

The compiler is smart enough to just remove any code after an if(false) since it knows it will never be used so yes it does run faster and uses less memory when DEBUG is set to false then it does when DEBUG is set to true.

BrendaEM:
Are we not supposed to use const rather than #define?

BrendaEM:
Are we not supposed to use const rather than #define?

I assume you mean doing:

const boolean DEBUG=false;

instead of:

#define DEBUG false

Yes, that should work fine for the most part. I also try to use the preprocessor as infrequently as possible but there are some applications where DEBUG being a macro could be useful. For example, I usually do this so I don't forget to turn debug output off when I'm not using it:

#if DEBUG == true
#warning Debug output is on
#endif

That doesn't work if I use const instead of a macro.

BrendaEM:
No mention of resizing the feedback window?

You need to work on your reading skills. See reply #2

Delta_G, I reported your comment to the moderator. If I misread, that's one thing, but I did not ask for your judgement of my reading ability.

Aside from that...

It does not appear to accept any less than 4 in "console.lines=". If I type in less, and save it, it reverts.

From a UI standpoint, why inhibit the user?

[At times, on a 16x9 aspect screen, I wish I could use this space for viewing my code.]

You could use an external editor(File > Preferences > Use external editor), which would allow the full screen to be used for editing your program.

BrendaEM:
Delta_G, I reported your comment to the moderator. If I misread, that's one thing, but I did not ask for your judgement of my reading ability.

Ok, so in addition to reading ability to need to grow some thicker skin and get a clue as to what sort of language the mods are here to police. They're looking for offensive personal attacks and profanity, not just something you don't like to hear.

You said there was no mention of resizing the console, but I did tell you how. Maybe it wasn't exactly what you were looking for, but that's not what you said. Si maybe it's your communication skills that need work. It's hard to know.

Oh yeah and you're ugly and your mom dresses you funny. Lol. Report that and see where it goes.

Please allow us to see a full screen of code.

Delta_G:
...

Oh yeah and you're ugly and your mom dresses you funny. Lol. Report that and see where it goes.

Yes, I reported you because I feel that your behavior is not in the best interest of the Arduino community.

BTW, I suspect your are correct, I am not that attractive. My mother died about 5 years ago from cancer. Although she was not a good parent, I took care of her as best as I could. The thing that was hard, was that before she died, she was only 84 pounds, that and with her petite body, she was child like. I was not emotionally prepared to take care of a parent that felt like a child.

Does what I wrote have any more place on this forum, than what you wrote?

BrendaEM:
Delta_G, I reported your comment to the moderator

. . . and this particular moderator is ignoring the report.
I've got better things to do with my time.

Keep it on-topic, people.

Please allow us to see a full screen of code.

I don't find that particularly useful, as then you have to open something up when you compile (verify) the code, which I do as I go to prevent simple mistakes vs trying to find them later in a multi-page sketch. Having multiple tabs helps to keep page length manageable.

You can always download Notepad++ and do your editing there if the IDE is lacking things.
https://notepad-plus-plus.org/
UECIDE is another option for editing and compiling.

https://notepad-plus-plus.org/download/v7.1.html

And there's always Atmel Studio

I find Arduino IDE 1.0.6 plenty for the coding I do, and have dabbled with 1.6.5r2 and 1.6.9 a little
https://forum.arduino.cc/index.php?topic=402335.0
but then I'm not a hardcore software engineer, just a hardware engineer who knows enough software to get by with the 328/1284/2560 based projects I do. Once you get into 32-bit hardware, that's too much software for me. I'll design you a card, but I won't program at that level.

Twenty percent of a 16x9 monitor is too much for a window that gets used for one minute out of an hour.

Try rotating to 9:16

I don't think that sending people to an alternative IDE will improve Arduino's editor. This is a suggestion forum, is it not?

Would it really be such difficult to change the IDE allow the user to decide for themselves where the code and feedback portion of their screen should be?

Personally, I would want to see the 5 additional lines of code while I am editing, 6 if the thick bar was a thin line or went all to the bottom of the screen. Six lines may not seem like much, but the going from 34 lines to 40 would be a nice improvement while coding.

Been following this thread and here is my take on it.

Everyone has tried to help make Brenda's life easier with a good selection of answers and methods to help.

Brenda doesn't want that help.

Brenda wants his / her own "custom" IDE.

He / she fails to realise that the IDE is meant to be used by the masses.
To do that it keeps a familiar format
That format allows people to ask questions without having to work out maybe why there is not a console at the bottom.
Its easy to ask a user what they see in a particular part of the screen.
Its easy to direct users to certain options.

Adding custom features "Ala-Brenda I want to move the file menu to this position and this window to that position and I don't want that window" has a very very good chance of breaking that standard.

That would add a massive influx of questions in the forum from somebody that just played around with it without understanding what they had done.

Gone would be "what do you see in the lower console" to be replaced by "I don't have a lower console" "how do I get the console back", "where are the file options"
"I am sure I didn't do or change anything just fix it for me" and a whole raft of other issues.

Most of the more advanced people who program move on to bigger and better IDE's or development tools once they "outgrow" the Arduino offering.
The current one is meant to be simple and easy to use for somebody who just went and bought a board and wants to play with it right away even though they may not even know what they bought.
The "noobs" myself included don't want to have a degree in application management to get started.

They don't want an IDE that has the whole orchestra playing in the background without a conductor.

I actually think it would be useful to have a hide/show sort of button on the console that switches between the console being hidden and being the last size set. I think the console window is just as important as the editor window and I certainly use it more than one minute out of an hour. When I'm writing code I examine all warnings on every compile and fix any that I can, that requires the console window to be fairly large but when I'm writing code I want as much editor area as possible. This means I'm constantly resizing the console window. Being able to click a button would be faster and easier. I actually think using an external editor would be a good option because then I could just leave the console window expanded all the time but I'm still barely managing to convince myself to continue using the Arduino IDE's editor because I like to beta test and report bugs to the developers so no external editor for me.

BrendaEM:
2.) I wish the serial monitor could be docked as a side bar attached to the main window. I am always having to raise it, but by then I've missed what I wanted to watch. I often use the serial monitor for debugging programs.

That would be kind of cool but you can just tile the IDE window and the Serial Monitor window to achieve the same thing.

BrendaEM:
3.) I wish the temporary files were automatically deleted after a sketch was uploaded.

It's useful to keep the build files so that you can examine the generated code after arduino-builder has had its way with it. It usually does the right thing but sometimes it will mess up things like generated function prototypes and without being able to look at the code it's difficult to figure out what went wrong. I also use the build folder to automatically generate a disassembly from the .hex file. I could do this via Sketch > Export compiled Binary but I have no way of automatically determining the location of that file, whereas the build folder will always be the most recently created folder in the temp folder so it's easy to find the file. With any recent version of the Arduino IDE the temporary files are deleted when you exit the IDE so it really isn't such a big deal to have some small files on your hard drive for a little while.