-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
Design exploration for improving experience for new users #115641
Comments
I would like to suggest for 'merge' (merging branch) into the git command menu where all the commands such as push, pull, stash etc.. right now using it from command palate ! |
Make Floating Terminal Like IntelliJ IDEA 👀👀 |
@misolori I really like the concept of adding labels to the icons in the left nav sidebar, it would have been a huge help for me to understand what these are when I started using VS Code. Have you already thought about how to deal with this is languages where the labels might be a bit longer? As an example, "Extensions" is "Erweiterungen" in German. |
Suggestions.
|
Some random feedback:
I hope I wrote some useful feedback in here, if it sounds harsh I had no intention to offend anybody or anything like that, I'm just an happy vscode user trying to steer vscode more into what I perceive to be the right direction. |
|
@SV9045 is this what you are looking for? (screenshot from 1.52.1) |
@gjsjohnmurray , Yes This is what I was looking for , sorry I didn't check it, apologize.but I would like to suggest one enhancement though, I remember in my initial days when I started to using git it was confusing for me that I'm merging my own branch to the base branch but it's actually I'm merging base branch to my own branch while working in multi team environment. so, something like merge base branch or might be we can see base branch here and we have an option that, merge it into the current branch. It would be useful to avoid confusing and for understanding git flow when some new person will start using git through VS Code. |
@SV9045 please don't use this issue for specific enhancement requests. Instead, start a new one. A convenient way to do this is from "Report Issue" off the Help menu. Pick "Feature Request" and enter details. |
Moving a search field and the user & settings icons into the top bar give it more of a Microsoft Office feel. Which IMO is unfortunate–VS Code is one of Microsoft's best products, and the others should be emulating it and not vice versa. I like the left bar icon labels, though. I still haven't clicked on all of them because I don't know what they are. I'm not sure why "Explorer" text is so much larger than everything else. |
First of all, congratulations for the design and detailed information. It helps a lot with the understanding and feedback 👍 I understand, and agree, the idea for improving experience for new users, and indeed some of the features would help them. But as a long time user, I agree with a lot of @fabiospampinato comments , and would like to add comments on two areas that I fear most.
The new design follows a few of MS Teams identity, which is good on a guidelines point of view, but these two points are exactly the ones I struggle the most, specially the Omni search. Slack has the same issue. Being new usersthe main audience for these changes, I would ask you to release it as opt-in, so current users aren’t affected. Thank you |
Thanks everyone for the feedback! Here's some responses to everyone's comments:
I did think about this and that's the biggest hurdles with text labels. An alternative would be to add a bit more padding for languages that tend to have longer names, but we'd need to test that with users to see how much that is affected. I also thought we could add a "short name" property that allows an extension to have an abbreviated name, if the extension name is long.
I did play around with adding this as < > icons like Slack, but because Windows uses the file menu caused this to not work well across other platforms.
Yes, this is a visual bug. Thanks for pointing it out!
We'd definitely create options to toggle these on/off, just like we do for our various settings 😄
There are going to be users who prefer having more space/padding around items and those that do not, this would definitely be a setting to let users control.
The "replace search with omni search" is something we're definitely evaluating, there would likely be an option to place Search in the sidebar/panel/title. Lots of gaps to fill in.
This would need to be dynamic and shrink to the area. It being off-center on Windows matches the current behavior with the title.
The one drawback of placing an omni search in the title bar area is losing the title bar text, so again this would be something that could be configured. This is has also become a common pattern in a lot of apps and our main issue we were addressing here is that settings/accounts have menus and all activity bar items have views associated to them.
You can actually right-click and hide items on the status bar. We've also have been doing work to improve the "accounts" experience with our authentication api, so extension should not be showing accounts in the status bar once they move to this. The GitHub PR extension uses this now.
The mockup is showing the native menus on macOS Big Sur, so those are not custom.
This is something we are experimenting with and why we are looking at the feedback. The main thing that the density controls is the amount of padding around items and the font size.
The idea I was exploring here was using the Search editor for the replacement of find in files, so when you are typing the first item is always the option to open the find in files. You can also go directly to that mode via the keyboard shortcut (Cmd/Ctrl+Shift+F) and same would apply for the command palette and quick open. If users don't care for omni search, there'd be a toggle to turn it off and Search would go back in the activity bar.
I've mentioned this a few times, but yes of course we'd also include an option to toggle certain things on/off as we do with other settings. Customization is at the core of our product and we'd always want to strive to maintain that. |
That doesn't work, a label could be arbitrarily long, you can't add an arbitrary amount of padding to account for that.
That'd be kinda ugly, and doesn't work either, there might not always be a short way to express a long label. The solution is that there shouldn't really be labels to begin with, or one accepts that labels can get truncated at some point, which somewhat defeats the whole purpose of labels depending on when the truncation happens.
That's great, I'd just like to uselessly emphasize (I'm not saying anything new) that defaults are important though, the more settings one needs to change to get the app to behave perfectly the more annoying it becomes to use. Now vscode has a lot of slack currently in this regard, like I don't even know which other comparable editor I could switch to, but if another really good editor shows up and they have much better defaults new users might just use that instead, defaults are important.
This logic can't be extended indefinitely, like nobody actually prefers to have 2000px or more of padding around toolbar labels, in my opinion the percentage of people that would prefer to have that much padding around toolbar labels as shown in the mockup is approximately ~0%, and the ones who may actually prefer that are basically wrong really, like some people like to harm themselves, that should be discouraged even if they like it.
Right but what if the area available becomes ~0px? The menubar takes already a good amount of space, at some point there just won't be enough space left for the omnibar.
Sure, that's not really a feature though, and depending on how the omnibar gets implemented it may be a lot more dynamic that the pretty much static title which I personally pay next to 0 attention to.
IMHO settings should have its own view (non constrained to an editor tab) to make it always usable again and the account icon should be moved to the statusbar or potentially gain a view too. I understand though it there's a push to make the family of MS apps more consistent which it other, that's worth something, I'm just biased on this because I just personally don't care one bit about any other MS app.
Of course, but that's an approximation of what one wants, what one wants, or what I want anyway, is to have only useful information in the statusbar and no totally useless information, hiding or showing a statusbar item is only the perfect solution to the problem as long as the item is always useful or always useless, but I can't just hide the problems item or the notifications item only when they are being useless, they themselves should be more self conscious about how they use the limited amount of use space available. You guys obviously can't fix this for third-party items too, but I would expect the official ones to be more conscious about this.
So on linux and windows they are custom? Would it not make sense to be consistent about this across platforms? |
Hi @misolori ,
That’s great. Doing so, users who enjoy using Omni search will have it available, and those that don’t, still can use the original behavior. Just out of curiosity, would the Search feature still have its results show in the Side Bar, right? BTW, I would suggest to add Just to be clear, I don’t dislike the Omni search element itself. In fact, I think it uses the perfect location, and the Settings icons at top right fit great as well. My fear was you were adding the Omni search as a replacement to the Search icon. But if the Search feature is still available, that’s great!
Looking at this, I remembered a pain point while using the Source Control panel today, which you solved with the non-dense mode. Today, it’s hard for me to use the Thank you, and congratulations for your hard work |
Adding labels to the activity bar
I prefer this solution. dock in macOS and taskbar in Unity Desktop environment also use this approach. Moving account/settings to the top rightIn the mockup the account icon has been replaced with an avatar. With support for multiple authentication providers, the account menu in Code is more like an "account hub", so randomly choose an avatar from all login services may not work. For the location, although they are not "activities", they exist in the activity bar for a very long time, most users should have been used to them. And it's not like there's no space for them there. Introducing an omni search to include commands, files, tasks, etc. (also combining text search into this)I like the idea, but I think it can be better executed. When it first opens, it should display a list of recent used or frequently used commands/files/tasks, etc. When user typed something into it, results can be grouped into types, with the one type contains most relevant results displayed at top. There is also a line of links to quickly jump to each group, like | Text Input Here | Jump to commands Jump to files Jump to tasks Commands Files Maybe views can also be added to omni search to allow quickly revealing them.
I also want this, don't forget #41309 (Add an optional configurable toolbar below the menu) with hundreds of 👍 Introducing a "density" toggle (similar to email clients)
I agree. I don't think the effort put into designing and implementing two sets of density worth the outcome. Also it's very difficult for all extension authors implementing webview-based custom editors and views to adopt. |
@misolori #28409 Can this adds in new design? Because cursor with bigger |
For me Activity Bar is distracting and takes too much space, so i use "Activitus Bar" Extension . Moving these menus to Title Bar would be a good addition . |
Adding a couple of Fluent design concepts from Zee-Al-Eid Ahmad Rana that are relevant: |
@mike-lischke You use VS Code on large screens only, right? :) Personally I like the main menu is on the titlebar since we have more useful space inside the window (to work with code). We also have really enough space to the right of the menu to drag the window and to display the title. This is especially important for smaller screens such as 13-inch laptops, etc. But really enough controls in the titlebar, there should be enough free space to drag the window, etc. P.S. It's great to see you here. I used your GraphicEx and VirtualTreeView a lot in the good old days. |
hey @plashenkov glad you liked my work :-) For the design: it's definitely a matter of taste and preferences, which is why most people state what they like, not what they believe is the best. These days things should probably be configurable. |
To all doing mockups: Now switch to 1366x768. If your design doesn't work in the most common resolution, it needs adjusting. I hate having to fight with loss of code space because devs with 4K screens had empty space to fill! |
You probably have the overall screen resolution average in mind, which includes all kinds of mobile devices. For desktops (VS Code's domain) the situation is different. The 4K resolution is now most common (~25%): https://gs.statcounter.com/screen-resolution-stats/desktop/worldwide. And the trend goes clearly to 4K: https://gs.statcounter.com/screen-resolution-stats/desktop/worldwide#monthly-201801-202301. But anyway, as I wrote above, it should all be configurable. While on a low resolution you have to decide what to show (and more importantly: what not), it makes a lot of sense to utilize higher resolutions for additional stuff. |
You know what they say about assumptions :P 1366x768 still remains a minimum, widely used resolution. For corporate laptop fleets the user may have had no choice over spec/screen resolution. If VSCode doesn't consider this to begin with then users suffer. "Mobile first" applies here; start with the smallest resolution and add more in larger resolutions rather than starting big and hacking away to get it down to a sub-par experience on smaller resolutions. |
i like the concept |
Recently Mica and Acrylic support in Windows has been pushed to electron repo (and backported to v24 and v25). It would be awesome to see some of the concepts posted here become real! |
Also there is another design language proposed by Microsoft, Microsoft Edge UI. I thought VS Code can benefit from tabular design that Edge concepts show. Here is an experiment. |
I recently migrated from using JetBrains to VSCode (Because how bad Rust Rover got) and the only thing I despise about VS Code is the lack of the run button and run menu. I would do anything VS Code to get a run button and drop down in the top row of the editor. |
@wyatt-herkamp, I saw this and thought "There must be some extension that does it!". So, I searched extensions for: The first result was Quick Run and Debug Buttons. It adds 2 buttons "Start Debugging" and "Start Without Debugging": The next one was Launch Buttons: And there are also many extensions that run/debug active file. |
I really like this design but what about Linux and macOS users? This design is very fitting for Windows but would look totally out of place on th other OSs. |
Is there any progress here? I want to know if the vscode team has any plans for the new design. |
Maybe they has completely ignored this issue, I suppose. 🙁 |
Based on the roadmap, it's possible that the vscode team really has no plans for this at the moment. |
Any way to get this prioritised? Would surely be a simple change but would certainly help my "plugin scawl". |
1 level up, let consider the whole panel instead [output, error, ..., terminal] |
+1 for this. Recent update killed the |
Please address ms, stock vscode ui is bad, esp on smaller monitors, elements take up too much space |
Overview
This design exploration aims to improve the overall experience for new users while also providing value for existing users. Going through feedback from new and existing users we've heard that:
We also wanted to take the opportunity to explore updating the overall aesthetics like:
Demo
Below is an example of this exploration. Here's a few ideas that we tried:
vscode-northstar.mp4
Feedback
Here's the feedback I've received on this concept from our team. I'll break down the concepts into individual issue for those we are interested in pursuing more. Note: since this concept touches several ideas at once, it would be good to break down some changes (like density changes and showing more/less UI should be separate).
Pros
Cons
Happy to hear any additional feedback others have on this concept.
The text was updated successfully, but these errors were encountered: