Go Down

Topic: Arduino IDE features which I think should be present (Read 698 times) previous topic - next topic

Vindhyachal_Takniki

I am a Arduino User. I had experience in working with many other IDE's like Keil, CCS, IAR.
There are few changes I like to suggest:

1. GUI interface for Optimization Flag: Add a small GUI interface in preference section for optimization flag settings.

2. Option to add multiple .c & .h in workspace tree. Files added should appear on project workspace tree on left side. Write know you can also add multiple files but there is no proper project workspace tree like section.

3. Display ZI, RW, RO & Code data separately. This could be good if there.

4. When right click on any variable/function, it should have option to take you to its definition.

5. Make a copy of all internal library used and move them in project workspace, & then build the code from these files which are in project workspace. Like IAR has option to "ignore standard include directories"
Most of people will say no it, but below I write some of arguments in its favour:
a) All the required .c/.h are in your current project space, which gives a better view what files are included are what are not
b) Sometimes you want to tweak a 3rd party library for some code related issues, at that times this option is good as it wont reflect in any other code. All library changes are in this project workspace only.
c) At any time you can check what inside any function in library to see what going on. If this is not the case, u have to go in default location and check which is not in workspace.


First 4 options, I think any IDE should have.
I dont know why arduino as IDE dont have those?

pert

1. GUI interface for Optimization Flag: Add a small GUI interface in preference section for optimization flag settings.
This has been requested many times over in many different forms:
https://github.com/arduino/Arduino/issues/421
If you want, you can create a custom hardware package that allows you to set any options you like via custom Tools menus by only making some minor changes to the boards.txt and platform.txt files. For example, this hardware package:
https://github.com/MCUdude/MightyCore
allows you to turn LTO on or off via the Tools > Compiler LTO menu.

2. Option to add multiple .c & .h in workspace tree. Files added should appear on project workspace tree on left side. Write know you can also add multiple files but there is no proper project workspace tree like section.
This has also been requested but was rejected by the Arduino developers:
https://github.com/arduino/Arduino/issues/1590
https://github.com/arduino/Arduino/issues/3752
The idea is that the Arduino IDE should provide a very simple user interface since it is intended to be beginner friendly. If you select File > Preferences > Use external editor you are able to use your choice of editors. You also have the options of using Eclipse or Atmel Studio as alternatives to the Arduino IDE.

3. Display ZI, RW, RO & Code data separately.
Not sure what that means but if you can do it via the command line using external tools then likely you could make a custom hardware package that does it in platform.txt and displays the output in the console window. For more information see:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification

4. When right click on any variable/function, it should have option to take you to its definition.
This one is still open:
https://github.com/arduino/Arduino/issues/6325
If you would like to express your support you can click the smiley face icon on the top right corner of the comment and add a thumbs-up.

5. Make a copy of all internal library used and move them in project workspace, & then build the code from these files which are in project workspace.
You can already do this. Just put any libraries you like under the src subfolder of your sketch folder and then include them as:
Code: [Select]
#include "src/foo/foo.h"

septillion

#2
Jul 09, 2017, 05:38 pm Last Edit: Jul 09, 2017, 05:46 pm by septillion
1) Why? Why not optimize the crap out of it all the time? Unless you want to test specific things and decompose the assembly you just want the best opimalization. And it being the same is one parameter less which can screw with things when we try to solve the problem of a newbie. And newbies always want to put a lot into memory so the size optimalization isn't a weird choice.

2) You can add multiple .c (which is pretty stupid for a cpp platform) and .h. They just appear on the top as tabs.

3) Again, why? Not needed for normal use. And if you're advanced enough to want them you can just open up the command line and use the proper command to get them. Or make a custom hardware package to do so. But for simplicity for beginners I think it's better not to have it.

4) That would be nice but is pretty advance. The editor would need a heck of a lot more knowledge about the code then it has now, especially with code in different files and libraries.

I also would like the IDE to show me the possible parameters when I type it in, that would also be a great aid (I think even greater then going to the def) but again, that would need a heck of a lot more awareness.

5) It is a choice. This has the advantage that there is just one copy and you don't have trouble if you want to update a library in an existing project. Yes, it leaves some room to mess things up for the library developer (aka, responsibility). And yes, that makes it a bit harder to transfer the project. But at least once you installed the library you don't have to worry about many different version.

5b) I think that is even very undesirable. Some projects having a edited version, some don't and they are all called the same. Nice recipe for disaster. If you want to add useful stuff to a library, just do a pull request to the library developer or clone your own and rename it.

5c) That's true but the libraries as close by. Just one level up and one level down. But because Arduino is also aimed at beginners it would be even better if a library just came with proper documentation like u8g2 etc.

First 4 options, I think any IDE should have.
I dont know why arduino as IDE dont have those?
Again, because it's aimed at beginners and it's just a repack of excising things. If you want to use the more complex stuff you can also just use Atmel Studio or just avr-gcc and AVRdude. Arduino is just meant to make projects, not to decompose all the assembly again. And if you really want to, Arduino IDE gives you the option to add a lot of it ia custom hardware definitions.
Use fricking code tags!!!!
I want x => I would like x, I need help => I would like help, Need fast => Go and pay someone to do the job...

NEW Library to make fading leds a piece of cake
https://github.com/septillion-git/FadeLed

Go Up