Hey guys, Spyder is my No. 1 choice for my research work, and I teach it in all my classes - great job!
I have a feature request. It would be very useful to have multiple lines in the tab bar when the tabs don't fit in one line. I've seen this in PyCharm (I think).
Now scrolling to click the tab limits overview of the open files. Using the outline, file switcher or folder icon to the left is possible of course, but this feature would be nice as an option for users.
Thanks.
It's a good idea, and it has been suggested several times before. However, we don't have time to implement it right now.
Ok, no worries. I'm looking forward to Spyder 4 and the ton of goodies it's gonna bring! : )
Keep up the awesome work!
This would be pretty huge for me as well, especially without the ability to make the top tab bar vertically-aligned to the window borders (per #3014 ), since I typically work with a horizontal split with editors not wider than 80 chars and many files open, and thus making it very difficult to find desired files and keep things organized.
@CAM-Gerlach the Outline explorer can be used as a vertical tab bar as you can display all open files there. Just right-click on the background and tick show all files. Then if you collapse all it will just give you the files. Of course if you want to use it to jump at specific points in the file then it might get messy.
It may not be the most elegant solution, but sounds like a really handy tip鈥攖hanks!
What about having another type of widget which is simply an open file list? Similar to Outline explorer, with fuzzy filtering and optional alphabetical sorting, with the plain purpose to activate the correct tab? In the standard Spyder layout, it would fit well in the same column as the Outline explorer.
(Btw, there is an open issue for multiline tab bars in Qt https://bugreports.qt.io/browse/QTBUG-2061 .
Something similar in C++ https://github.com/psi-plus/psi-plus-snapshots/blob/master/src/widgets/tabbar.cpp .
One of many questions clarifying the unavailability: https://stackoverflow.com/questions/8542115/qtabwidget-with-multiple-line )
I think we can use the generic switcher to implemt this and all other navigational patterns to avoid cluttering the UI with more permanent widgets.
I would be fine with just having the outline explorer(no tabs at all) to change files if we could add drag and drop reordering to outline explorer
No widgets are permanent...
The problem, as I see it, with using the outline explorer, is that it then looses its purpose as an Outline explorer... As soon as you start expanding, the overview of files gets lost.
My use case is typically that I open too many files (20-30) when browsing through the source and see how things depends on each other and then I should try to find a single one again. Most often I just open the file again as it is easier than finding it in that top left hand menu (as it is not in alphabetical order), or I do not want to collapse the outline explorer as I want to be able to find my way back there. Even if I do not know exactly where the file is.
Just noted that the Outline explorer can be sorted alphabetically, so that is nice. Now I just need to make a local patch with two instances of it...
But clearly, the work flow differs depending on equipment. I have more stuff open on my desktop compared to my laptop. However, adding (simple) features that are useful for some and possible to disable for others is probably quite often a reasonable idea. (Even with maintenance issues etc.)
By generic switch I meant something like what VSCode, Sublime, PyCharm and many other IDEs implement to browse different things.
Like this (from VSCode):
Spyder already offers this with Ctrl+P
A new generic switcher is implemented here:
https://github.com/spyder-ide/spyder/pull/9133
My stance is that we do not want to end up with too many ways of doing the same thing (we are already here...). We have too many things/widgets/preferences/panels and we cannot implement all the variants all users would like to have. We are aiming to de-clutter Spyder as we keep moving forward.
Ah, that solves my problem! Thanks!
Now regarding the original authors question
I have a feature request. It would be very useful to have multiple lines in the tab bar when the tabs don't fit in one line. I've seen this in PyCharm (I think).
The default QTabBar
widget does not provide this functionality and seems like implementing that is too much work for what I consider little gain. We need to start encouraging some "Spyder best practices" and for this use case the best practice is: Use the file switcher Ctrl+P
So I do not think this issue will be implemented any time soon or at all.
I think that the outline explorer(with some improvements and on the left by default) and the file switcher will be enough to solve this.
If we are only keeping this for double tab rows to be implement, then I vote to close this. Double tab rows are confusing and not many applications use them.
If we are only keeping this for double tab rows to be implement, then I vote to close this. Double tab rows are confusing and not many applications use them.
Agreed!
Thanks to everyone for the input! I also consider it's not worth it to implement this, so I'm closing this one.