-
Notifications
You must be signed in to change notification settings - Fork 2
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
Spyder alternate layout exploration #60
Comments
For starters, any information about how you use Spyder and/or how you manage its panes/plugins is helpful. You can ask yourself questions like:
Or anything else about how you use Spyder that you’d like to share. Thanks in advance! |
It seems I'm the first to comment, so let's dive! I just hope I am correctly understanding the issue. If not, then at least consider it just like user feedback. What types of projects do you do in Spyder?
Do you use the default layout for Spyder? What about any of the other preset layouts in the View > Window layouts menu?
Do you use a custom layout for Spyder? It’d be great if you could describe it or share screenshots.
What tasks do you do when working in Spyder? (By tasks I mean things like writing code, debugging code, presenting and/or teaching, and so on.)
What panes/plugins do you notice yourself using most?
What panes/plugins do you notice you rarely or don’t use?
Other comments:
Thanks for your nice work and congratulation for your willingness to consult the users, it's very nice of you. |
@felixchenier thank you so much for this helpful description! Great feedback makes it possible to make helpful changes. Keeping the editor on the right to minimize neck pain is really clever! |
@mrclary, @impact27, @jnsebgosselin, @jitseniesen, @eafpres, @Richardk2n, @ok97465, @jsh9, @ma-sadeghi, @OverLordGoldDragon, @texadactyl, @stonebig, we'd love to read your opinion about this topic. We know you're very active users/developers and have collaborated with us throughout the years to improve Spyder in several ways. So we hope you can give us a hand with this too. One of our main goals for Spyder 6 is to revisit our current layout, in order to accommodate more plugins and add a couple more too. @isabela-pf is going to be charge of that effort and this is the first step in that direction. If you have colleagues or friends that you think can give us valuable feedback about this, please ping them here too. |
I use Spyder mainly to write/debug code. I use the default layout. I usually always need access to the code and the console, and the last plug-in can be whatever depending on what exactly I am doing. If I am on a large screen, I use the split editor to take 2/3 of the screen, and 1/2 on a small screen. Maybe having an option to switch layout while debugging could be nice? But I would have to try it to know if it feels right. I agree that the tabs can definitely be improved. One of the biggest issues I have is that after debugging for a while, I have way too many tabs open, and the current method of switching tabs doesn't really work for N > 6 tabs. Maybe having a way of automatically closing tabs that are only traversed by the debugger would help? (If a file is opened by the debugger but not interacted with, it could be close when the debugger leaves the file?) |
Q. What types of projects do you do in Spyder?
Q. Do you use the default layout for Spyder? Q. What tasks do you do when working in Spyder? My current usability issues (minor):
Big Ticket Item Wish list! I use I also use |
What types of projects do you do in Spyder? My work is mainly Data Science. Projects can comprise several source files. A few hundred lines is a long file, but some can be longer. Do you use the default layout for Spyder? What about any of the other preset layouts in the View > Window layouts menu? Way back when, I used the Rstudio layout as a starting point. I have evolved some from there. Do you use a custom layout for Spyder? It’d be great if you could describe it or share screenshots. Do you use different layouts? If so, what makes you switch out what you have open? Once again, descriptions and/or screenshots are helpful here. I don't generally change layouts. I often make the plots window bigger on a temporary basis. What tasks do you do when working in Spyder? (By tasks I mean things like writing code, debugging code, presenting and/or teaching, and so on.) Writing code What panes/plugins do you notice yourself using most? code roughly in that order of use What panes/plugins do you notice you rarely or don’t use? Project (although I keep it open) Are there any panes/plugins you usually use together? Code, outline, console, variable explorer are usually visible. Plots if I'm plotting. |
I still use Spyder 4 - my sole reason is 5's bulkier layout. Multiline editing would be more important but so far 5 doesn't seem to offer anything to make it a net-positive. I use Spyder for all Python coding, make extensive use of cells, debugger, plots pane, "previous command" via arrow up, Ctrl + P, and collapsing. My view is always split 50/50, editor on left, and all else on right; no 3+ windows. I don't use Kite, or suggestions/tips in Editor as they overlay code; I would prefer having a hotkey to temporaily enable all of these. I'd also consider a transparency option so code isn't blocked entirely - and I must be able to click through the overlay, on code, as if the overlay wasn't there. Such details aren't the greatest selling points so I appreciate the dev team's efforts on feedback. |
What types of projects do you do in Spyder?
Do you use a custom layout for Spyder? It’d be great if you could describe it or share screenshots.
What tasks do you do when working in Spyder? (By tasks I mean things like writing code, debugging code, presenting and/or teaching, and so on.)
What panes/plugins do you notice yourself using most?
What panes/plugins do you notice you rarely or don’t use?
|
Q: What types of projects do you do in Spyder? Also I would like to add some more points. |
I was just reminded of another thing that might be interesting: |
I use Spyder for development and debugging of scientific computing projects.
Yes, I use Spyder's default layout:
NA.
NA.
I use Spyder mainly for writing code and debugging.
In the order of decreasing priority: Editor > Console > Plots > Find >= Help >= Project
In the order of decreasing priority: Files (I guess because I use Project pane) > Variable Explorer (I use the console for this purpose as inspecting large arrays is easier in the console, also more smooth and less laggy) > Profiler > Outline Are there any panes/plugins you usually use together? Editor + Console + Plots all the time! Here are some more comments:
Overall, I'm pretty happy with Spyder. |
Scientific computing (a.k.a., number crunching). To be more specific: I write and run scripts in Spyder, run/debug them, and view results in Spyder's IPython console. Btw, when writing code for Python libraries, I use PyCharm instead of Spyder. This is because PyCharm's code navigation is better than Spyder (at least as of Spyder 4 -- I haven't tried Spyder 5 for Python library development yet).
No. My layout is modified from Spyder's "Matlab layout".
Here is the layout that I am using:
No, I only use the layout shown above.
From most frequent to least frequent:
(If a pane is not mentioned above, it means that I never use it.)
(If I don't mention a pane/plugin, it means that I don't even know that it exists.)
|
|
|
Hey @jtskowronek, thanks for your feedback. About your points:
That's correct. The pane is designed to display static figures only. However, we plan to support the Maplotlib web backend in the future to overcome this limitation.
I guess this means that you would like to select certain figures from the thumbnails bar on the right and remove them with a single click, right? Please confirm if that's the functionality you'd like to see.
This should work much better in Spyder 5.3.0, released a couple of weeks ago. We removed old backends and made the others work more reliably. Please update with our Windows/Mac installer or Conda-forge (since that version is still not available in Anaconda) and let us know how it works for you.
Please expand on what you mean by this because I don't understand it. Spyder is only in charge of handling some options to display figures, but it's Matplotlib at the end which creates them.
I see. We'll take that into account for Spyder 6 to see if we can avoid that.
Thanks for mentioning that this is a serious usability issue while debugging (I was not aware it was so annoying). Just to confirm: are you using our debugging toolbar (i.e. the blue buttons on top) to step through, step in, etc? If that's the case, it can be fixed easily and we could have it on time for our next version (5.3.1).
Then you'll loose our variable explorer and debugger. |
We also have a plugin to make Spyder work more like Vim (though unfortunately, it still needs to be updated to the new Spyder 5 plugin API). |
@ccordoba12 sorry for the delay, and apologies for the forthcoming incomplete reply... I'll give a proper reply once things settle down a bit around here. But in the meantime, I can give you a few quick answers:
Yes, if I'm going to have >20 figures floating around, I'd like to quickly select the irrelevant ones and close them with one click. It would be even more helpful to be able to also do this programmatically within a script. We're using the script + figures as an interactive GUI of sorts -- with "input" statements, etc., determining the program flow. I know this is getting into GUI functionality that would be better implemented in a more specialized way, but I don't have to make this sort of GUI development leap when I'm using MATLAB.
We haven't had a chance to test this on Spyder 5.3.0 yet, but not for lack of want (see sidenote that follows). (Sidenote: I use the standalone installers on both Windows and Mac, and so far every time I've upgraded Spyder I've had to create a new environment in order to install spyder-kernels. They won't install to an existing environment, even after I've removed the existing spyder-kernel version. So I avoid upgrading for as long as possible.)
If this is still a problem after your latest upgrade, I'll make a video to show you what's happening here.
I use my mouse as little as possible. So when you ask if it's the debugging toolbar buttons I'm referring to, the literal answer is no; but I assume using hotkeys is programmatically equivalent to using the buttons -- so effectively my answer is probably yes.
VS Code has a pretty good VIM extension that seems to integrate well with the normal editor functionality (or whatever extensions are required to make it normal), and it includes variable explorer and debugger. I just haven't completely adopted VS Code yet because of what I assume to be matplotlib event handlers closing out figures after the main script returns. Once I figure out what's going on with this, I'm not sure there will be any more reasons to not adopt VS Code entirely. But I'll continue trying to make Spyder work, at least for now. |
@CAM-Gerlach thanks for the link, I'll checky. |
Hi there - I'm a neuroscientist and a recent python convert from Matlab. Broadly, I think Spyder is great and I am very happy to see that development towards version 6 is continuing. I really appreciate the customizability of most of the editor components.
Mainly analysis of neurophysiological data - so, lots of data wrangling and modelling.
I use a variant of the default layout - see screenshot below
For the most part, I use the standard spyder layout but have the Outline pane to the left of the editor.
I generally don't change layouts.
I figured out how to interactively debug functions within modules called from the main.py file in a way similar to matlab's debugging experience. Honestly, this is the real reason I fully committed to Spyder because I could not find another IDE that allows that. For anyone interested, it works like this:
Now, if you call my_module.test_func1(some_data, debug_=True) from a main.py script, Spyder will recognize (and stop) and the breakpoints inside of the individual functions within the module. Some people don't really use the debugger but I generally write my code in debug mode so that I can directly and iteratively develop production-ready code. If there were a way to do this kind of debugging in a slightly less hacky way, it would be greatly appreciated (but this works without issue).
In order:
I basically never use the help, files, and find panes.
editor + outline + variable explorer most critically As a last UX request, could we get functionality to change the pane colors beyond the "Background" and "Side Areas" of just the editor and console? E.g. could we start to change the color of the toolbar along the top and other panes? At the moment, those colors are locked in by the Light/Dark theme and can make other-wise cool background/side area color-schemes rather jarring. Again, I'm glad to see Spyder is heading towards version 6 and keep up the good work! |
FYI, in any (upstream) supported version of Python, you can just use the # a dummy module - my_module.py
# a function inside of my_module.py
def test_func1(some_data, debug_):
if debug_:
breakpoint()
See the documentation for some possibilities; you could use Spyder's built-in breakpoints, which are remembered across sessions, can be displayed and managed in the So, to replace the above, you can have a function def test_func1(some_data, debug_):
... # Your function code here <--- Conditional Breakpoint Here And then set a breakpoint on the first line, with condition |
Hey @t-elston, thanks a lot for feedback! About your comments:
For me that's perhaps the best thing after sliced bread! I mean, debugging in the way Spyder allows right now is so useful to see the inner working of your code and catch errors early in your development process. As @CAM-Gerlach said, you just need to use
We can't allow users to change that because it's tied to the css we use to style Spyder. But would you like to see the main toolbar and similar areas of Spyder to inherit the same color of the syntax highlighting theme used for editor? That's the best we could do. |
Cheers + thanks for the responses and tips @CAM-Gerlach and @ccordoba12. I've started to use
Broadly, yes - that sounds good. If this would essentially mean that the rest of the pane background colors can be matched to either the editor background color or side area color, then this would be nice. |
Hi everyone! An obstacle we’ve come across in past issues and in team meetings is that Spyder’s default method for managing panes/plugins (all the things that make new sections or tabs in Spyder) is mostly
There are exceptions to this, but I don’t think there is disagreement that this is the primary strategy for the default layout. While this has worked, the increasing number of panes/plugins being added as well as the ability to more easily add them with Spyder 5’s API migration means it might be a good time to consider if there are other layout strategies to help manage Spyder’s space in a way that better serves how people actually work with it.
This issue will be the core place for discussing potential Spyder layout changes.
User feedback is critical to this issue’s exploration. Depending on the feedback we get, this could be a big change. If this is something you want to keep track of, I’d recommend clicking the subscribe button on this issue (in the right column near the top of the issue) so you get updates. You can always unsubscribe if you get tired of the noise.
The text was updated successfully, but these errors were encountered: