Skip to content

Make UI friendlier for larger projects - show only tabs for files that are open, implement some better file navigator on side #1832

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
3 tasks done
benapetr opened this issue Jan 25, 2023 · 4 comments
Assignees
Labels
conclusion: resolved Issue was resolved topic: code Related to content of the project itself type: enhancement Proposed improvement

Comments

@benapetr
Copy link

Describe the request

Right now IDE is barely useable for very large projects. I have some ESP32 projects that consist of hundreds of .cpp and .h files in complex folder hierarchy. Some files in different folders are in different C++ namespaces and have same file name as other files in different folders.

Such project result in hundreds open tabs. Files with same name are not even shown in drop down menu on side. Switching between files is very complicated as you need to traverse hundreds of tabs on the top and often you only need to work with few files.

Other IDEs like Visual Studio of MPLAB-X support very good file navigator on side where you can display whole hierarchy of project and easily switch between files. Tabs are created only for files that are actually open, so the IDE doesn't need to open every single file for the project.

Describe the current behavior

Right now IDE is barely useable for very large projects. I have some ESP32 projects that consist of hundreds of .cpp and .h files in complex folder hierarchy. Some files in different folders are in different C++ namespaces and have same file name as other files in different folders.

Arduino IDE version

2.0.3

Operating system

macOS

Operating system version

12.3.1 (21E258)

Additional context

No response

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details
@benapetr benapetr added the type: enhancement Proposed improvement label Jan 25, 2023
@benapetr
Copy link
Author

awkward workaround is to download Visual Studio Code, move all code to "src/" subfolder which makes ArduinoIDE compile it while hiding the files in itself and write the source code in Visual Studio Code while using Arduino IDE only for compiling and uploading.

@kittaakos
Copy link
Contributor

There is a "hidden" file explorer in the app.

toggle_explorer.mp4

If you're working on a larger project, you might want to check out the Outline view too. The Arduino language server powers the Outline view (see: textDocument/documentSymbol), so you must select a board to start the language server, and then the view will be active. You can use Ctrl/⌘+Shift+O to access the document symbols.

outline.mp4

@benapetr
Copy link
Author

I am just wondering - is this new Arduino IDE somehow based on Visual Studio Code? This Explorer View looks so much same as VS code explorer, it's using same icons, fonts and design, almost as if it was using same source code?

I also found VSC "arduino" extension, is that somehow related to Arduino IDE?

@benapetr
Copy link
Author

Also I noticed that when I toggle this view, it basically changes to exactly what I wanted to accomplish - now tabs are only visible for files that I opened, and not for all files, it looks almost identical to VSC. Shame this is a "hidden feature" if it wasn't I wouldn't have open this feature request.

@per1234 per1234 self-assigned this Jan 26, 2023
@per1234 per1234 added conclusion: resolved Issue was resolved topic: code Related to content of the project itself labels Jan 26, 2023
@per1234 per1234 closed this as completed Jan 26, 2023
@arduino arduino locked as resolved and limited conversation to collaborators Jan 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
conclusion: resolved Issue was resolved topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

No branches or pull requests

3 participants