Has it always been that way, that, when you double click a project in the file view, a new IDE pane is opened and not just the .ino file in the main view is substituted by the new .ino ? Is this configurable behaviour? Or can the .ino projects arranged as tab views in the right portion of the IDE?
Hi @krischu. Arduino IDE is a tool for developing Arduino sketch programs. For this reason, the application has an intentional sketch-per-window design.
Since many of the simple examples and common sketches consist of only a single file, Arduino users are often under the impression that the .ino file is unit of a sketch project. But this is not true. It is the folder that is the sketch project. The folder may contain multiple sketch code files. All the source files present in that folder are compiled to a single program. In addition, all the .ino files of a sketch are concatenated into a single C++ source file before compiling. This concatenation can be confusing even for users who are advanced in C++ programming but fairly new to Arduino.
This is all documented, but Arduino's goal is to make the creation of embedded systems accessible even to the type of person who won't read the documentation before jumping in to a project. The Arduino way is to make these complex endeavors as intuitive as possible. Arduino IDE communicates the nature of the sketch project as a folder by using a dedicated window for the sketch project. It communicates the fact that all code files in the sketch are compiled into a single program by always having the primary sketch code files visible to the user as editor tabs. It communicates the concatenation order of the .ino files of the sketch by ordering the editor tabs in the same sequence the concatenated code will have
We would expect to be able to open any arbitrary number of files in a single window when using a general purpose programming editor, but Arduino IDE is not a general purpose editor. It is instead a tool designed specifically for sketch projects.
So you can now see that the choice to not provide support for opening multiple sketches in a single Arduino IDE window is very intentional, and important for Arduino's goal of making embedded systems accessible to everyone.