Hello, first I have to say, I'm beginner in programming with the Arudino IDE, before I progamm with Arduino I programmed many years my projects with Bascom, but I love Arduino and learned a lot last times but I realized some missing features in the IDE.
The missing features for my opinion:
Splitscreen: I would like to have two windows or tab areas on one or more screens. This makes bigger projects with more include files easier to handle.
LittleFS/SPIFFS Data Upload: Not included since IDE 1.8.x
Syntax Checker: In my last environment Syntax-Errors would marked directly. This feature would be very nice because you would see your mistakes directly and it would save a lot of wait minutes of compiling before you see that you have done a mistake.
I know the last two are some bigger features with a lot of programming work, but i think the first one alone makes your environment a lot better and more comfortable and I would love if any of my suggestions find a way into your software...some day...
I no longer have access to an IDE 2.x setup so I can't test.
You can open two instances (!!) of the IDE and have the same project open in both. In the one you can be editing the main ino file and in the other one you can be editing / viewing a .h or .cpp file. Alternatively you can use external editors; if not mistaken the IDE will follow changes that you made in the external editor (once you save the file).
This is not in the hands of the IDE but in the hands of the developers of these 3rd party tools. You will either have to use IDE 1.x for that or the command line; no experience with the latter.
The Arduino IDE developers are tracking this feature request here:
If you have a GitHub account, you can subscribe to that thread to get notifications of any new developments related to this subject:
This was never included. As @sterretje explained, this Tool was a 3rd party creation that you installed to add that capability to Arduino IDE.
Which board do you want to upload filesystems to? I ask because there is already an equivalent Arduino IDE 2.x extension for ESP8266 and RP2040-based boards:
Unfortunately, as far as I know, nobody has created a filesystem uploader for ESP32 yet so we are still waiting for the Arduino community to take on that project.
The reason it is disabled by default is that the system is prone to occasional spurious "problem" detections. During the beta testing phase of the Arduino IDE 2.x development when it was enabled by report, we received a significant number of reports from less experienced users who were alarmed and distracted by the appearance of these diagnostic markers. For this reason, the decision was made to disable the feature by default.
Some of these spurious detections are the result of corner case mismatches in behavior between the Clang C++ compiler used by the language server that produces the diagnostics and the GCC compiler that is used to compile the sketch programs. An even more significant cause of spurious detections is that, in order to reduce the processing resource usage of the Arduino IDE application, a deferred library discovery system is used. This means that, between the time you add a new library to a sketch and the first time you compile the sketch after that, all references to objects from that library will produce diagnostics due to the path to the library not yet having been added to the compiler's "search path".
Even though it might not be suitable for a new user, a more experienced user has the ability to evaluate each of the problem detections and differentiate the legitimate ones from the spurious ones that should be ignored. I'll provide instruction you can follow to enable the feature:
Press the Ctrl+Shift+P keyboard shortcut (Command+Shift+P for macOS users) to open the "Command Palette".
A menu will appear on the editor toolbar:
Select the "Preferences: Open Settings (UI)" command from the menu. ⓘ You can scroll down through the list of commands to find it or type the name in the field.
A "Preferences" tab will open in the Arduino IDE main panel.
Type arduino.language.realTimeDiagnostics in the "Search Settings" field of the "Preferences" tab.
Check the box under the "Arduino › Language: Real Time Diagnostics" setting.
Great news about this! Support for uploading filesystems to ESP32 boards has now been added to the "arduino-littlefs-upload" extension. You can get the new version with ESP32 support here: