Skip to content

Allow multiple rows of tabs for large projects with lots of files #3601

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

Open
mypinballs opened this issue Jul 30, 2015 · 8 comments
Open

Allow multiple rows of tabs for large projects with lots of files #3601

mypinballs opened this issue Jul 30, 2015 · 8 comments
Labels
Component: IDE user interface The Arduino IDE's user interface feature request A request to make an enhancement (not a bug fix)

Comments

@mypinballs
Copy link

Hi, I would like to request an improvement to how tabs are displayed once you get a large project and the tabs go past your screen size. Some extra settings for multiple rows of tabs would be great for large multi filed projects. I like splitting up my large projects into more manageable files, but the file count can get high (+20) pretty quickly, so you end up only being able to see half you files on the tab line.

Cheers

Jim

@facchinm facchinm added feature request A request to make an enhancement (not a bug fix) Component: IDE user interface The Arduino IDE's user interface labels Jul 30, 2015
@PaulStoffregen
Copy link
Contributor

Someday when the IDE supports breakpoint & stepping debug, a way to display (perhaps as read-only) the code from libraries and the core library files will be needed. Horizontal tabs won't be up to the task. Implementing a good way to view many tabs/files now will help pave the way for a debug-enabled future.

@lmihalkovic
Copy link

No matter what, the popup menu always lets you switch to the source code, even if the tab is gone...

@PaulStoffregen a couple days ago I made the following changes to my local IDE: to avoid the disappearing tabs issue, I am dividing my project into libraries which are stored in the main sketch. The code for the main level as well as the libraries can be edited directly in the IDE. Switching around is also straightforward with the outline tree view. computers are fast these days so it would be easy to extend it with say, the name of the methods/classes in each source file and some basic data to jump to them directly (we are talking regex, not ast).

@lmihalkovic
Copy link

@PaulStoffregen I'm at the stage where I can edit local libraries and display the system one. The tabs are still somewhat the originals, but because I can split a project's code into sub-folders, then the right sliding does not matter as much... I am also looking into re-ordering them because I get frustrated when writing code if I can't have it the way I like. all that's missing from your list is a debugger. is this something you already started working on? is that something you'd be interested in collaborating on? it is getting high on my remainders list.

@orange-cloud
Copy link

Is there any progress on adding what i original asked for? Better organisation of tabs surely would be a benefit for all users regardless. Having the ability to group tabs in to sub sets may be another way to handle it? IDE improvements are so needed right now!

@lmihalkovic
Copy link

From what I have gathered, the company has very little bandwidth available for big items. Arduino Create seems to be receiving a lot of their focus, and seemingly small items for the IDE are starting to get closed with a short "Arduino Create will do that". I started a separate master-list referencing the issues the team is either not interested in or does not have the resources to look into. This is one of them.

@orange-cloud
Copy link

I still like the idea of a desktop IDE with a debugger, decent tab handling, better library updating and continuing improvements suggested by the community and then put into new releases. I don't see the need to move from this type of model. Its working nicely. Web editors are not a road i want to go down

@lmihalkovic
Copy link

although this is not a complete solution to this problem, something like the following may be a affordable interim step:

arduino-2016-01-07 at 9 40 50 am

cycle through the file names while the ALT key is pressed and only switch to the desired one when all keys are released. When many tabs are present, it has the merit of moving around with only the KBD. the display window can also indicate if the file has unsaved changes or show an icon matching the type (more meaningful in my situation where I deal with many more file types)... you get the idea.

again it represents a minimal effect as it can all be done in a single new class and with 2 lines changed inside Editor (will work even in @matthijskooijman's proposed cleaned-up Editor code)

@lmihalkovic
Copy link

Someday when the IDE supports breakpoint & stepping debug, a way to display (perhaps
as read-only) the code from libraries and the core library files will be needed

In my experience so far I think the same scheme works fine when displaying the source code for any library.

arduino-2016-01-07 at 1 25 35 pm

I guess the real test would be to open one of these sketches with many source files and see how things work out.

@per1234 per1234 changed the title IDE Tab organisation for large projects with lots of files Allow multiple rows of tabs for large projects with lots of files Jul 18, 2017
facchinm added a commit that referenced this issue Oct 11, 2017
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Oct 16, 2017
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit to facchinm/Arduino that referenced this issue Oct 18, 2017
cmaglie pushed a commit that referenced this issue Oct 23, 2017
tested with Marlin Firmware, solves #6109 #3601 #1193
cmaglie pushed a commit that referenced this issue Oct 30, 2017
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Nov 10, 2017
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Nov 15, 2017
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jan 11, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit to facchinm/Arduino that referenced this issue Jan 22, 2018
facchinm added a commit that referenced this issue Feb 16, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Apr 12, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit to facchinm/Arduino that referenced this issue May 8, 2018
cmaglie pushed a commit to facchinm/Arduino that referenced this issue May 8, 2018
cmaglie pushed a commit to facchinm/Arduino that referenced this issue May 9, 2018
facchinm added a commit that referenced this issue May 22, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue May 30, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jun 12, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jul 19, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Aug 20, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Aug 23, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Sep 10, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Oct 5, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Oct 16, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Nov 21, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Dec 5, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Dec 13, 2018
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jan 18, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jan 19, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jan 21, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Mar 7, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Mar 8, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Mar 18, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue May 14, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue May 14, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jul 18, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jul 18, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jul 19, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Jul 23, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Sep 20, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Sep 30, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Oct 22, 2019
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Feb 13, 2020
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Mar 23, 2020
tested with Marlin Firmware, solves #6109 #3601 #1193
facchinm added a commit that referenced this issue Apr 7, 2020
tested with Marlin Firmware, solves #6109 #3601 #1193
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: IDE user interface The Arduino IDE's user interface feature request A request to make an enhancement (not a bug fix)
Projects
None yet
Development

No branches or pull requests

6 participants