I have just downloaded Arduino IDE 2.0, but to my disappointment, it does not have many features that Arduino Pro IDE had. There is no advanced mode, which had Git integration, file explorer (it allowed to open specific folder, even when there was no .ino file in that folder) and many other features.
When do you plan to import advanced mode from Pro IDE to IDE 2.0?
Hi @szerwi. If you really want, you can access the Source Control and Explorer via the command pallette. Activate it with Ctrl + Shift + P.
But the focus of the Arduino IDE is development of Arduino sketches. There are other excellent options for text editors and Git clients. When it comes to general purpose applications such as that, most especially with a Git client, I much prefer to use a standalone application that will apply just as well no matter what type of project I'm working with.
I have a nice standalone Git client that I use for all my Git repositories, whether they be Arduino sketches, a Python script, KiCad PCB, etc. I have no interest in learning the complexities of a separate integrated Git client for every program.
Thank you for the information. So advanced features that were introduced in Arduino Pro IDE will be abandoned and never introduced in Arduino IDE 2.x? I especially miss the file explorer. When working on complex sketches, Pro IDE gave the possibility to open .cpp / .h files or close .ino files (if the sketch is separated to multiple .ino files)
I have also looked for the features and I found them all in the command palette (Shift+Cmd+P on Mac). So type "Toggle..." and you will find the items. I agree with you that they should activated when started.
@sstaub thank you for the information! It seems that everything is there The only missing feature is possibility to close tab with .ino file. I cannot close .ino files even after enabling file explorer.
szerwi:
Pro IDE gave the possibility to open .cpp / .h
Arduino IDE has always opened the .cpp, .h, .c, and .S files in the sketch folder.
It's important for all sketch files to stay open because they are all compiled. Otherwise, imagine how much more confusing it would be to a beginner who put two unrelated .ino files in their sketch folder.
pert:
It's important for all sketch files to stay open because they are all compiled. Otherwise, imagine how much more confusing it would be to a beginner who put two unrelated .ino files in their sketch folder.
It would be nice to see the possibility to close .ino files as advanced feature, after enabling file explorer or as a independent feature.
Anyway, I plan to move from multiple .ino files to one .info and multiple .h / .cpp files. I hope I will successfully make that transit in IDE 2.0
Another thing that might interest you, as I see that you are working with some fairly large sketches, is this feature: https://arduino.github.io/arduino-cli/latest/sketch-specification/#src-subfolder
The files under the src subfolder of the sketch are compiled recursively, yet they are not opened by default in Arduino IDE (classic, Pro, and 2.x). This is especially useful in the case where you want to make the primary user interface of a sketch quickly and easily accessible, while keeping the lower level code tucked away.
The Marlin 3D printer firmware Arduino sketch, which consists of something like 300 files, takes advantage of this feature. The configuration files are all the average user needs access to, so they put everything else under src. Some years ago, every single one of those files was exposed as a tab in Arduino IDE!
One of the things I'm really happy about with Arduino IDE 2.x is the improved support for this useful src subfolder feature.
rastus26:
Ctrl + Shift + P brings up the "Page Setup" dialog in 1.9.0-Beta (on Linux), and can't find "Command Pallette" in any menus. What am I missing?
It's a little bit confusing right now because there is a beta build of the classic Arduino IDE and also a beta build of Arduino IDE 2.x. You can download Arduino IDE 2.x from the "Experimental software" section of the downloads page here:
I am already using src folder and I keep local libraries then. In Arduino IDE 1.8 I had an issue with using local library which had the same name as global library in Documents folder. Has it changed in 2.0? What is the best way to use local library (from sketch folder) which has the same name as global library (in Arduino's Documents folder)?
I'm not familiar with this issue, but I'm certainly interested.
When I mentioned above that Arduino IDE 2.x has better support for the src subfolder, I was referring to this bug in the classic Arduino IDE: "Save As doesn't preserve the src subfolder of the sketch folder"
That's the only change I'm aware of related to the src sketch subfolder.
But it doesnt' really seem related to what you described. When you use the double quotes #include syntax, the local path should always be searched first for the file, only checking the global libraries paths if it's not found there. I've had problems with bundling standard Arduino libraries with sketches in a couple of cases:
The library unnecessarily used the angle bracket #include syntax for local files
Even though this is incorrect, it does no real harm when the library is installed normally, but these don't work when the library is bundled with the sketch. So I had to go into the library and change all the angle braces to double quotes.
Using multiple sketch bundled libraries that have dependencies on each other
It is correct to use the angle braces #include syntax for header files in other libraries, but the src subfolder of the sketch folder is not in the include search path so these files won't be found. In this case, it's not only a matter of changing the brackets to double quotes. You also need to provide the relative path to the file in the other library.
These are a little inconvenient, but only take a few minutes to make the simple fix.