microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.07k stars 28.8k forks source link

Add an optional configurable toolbar below the menu #41309

Open morozovsk opened 6 years ago

morozovsk commented 6 years ago

Whole my life I used ide where there was a customizable toolbar. I starded to use vscode and stopped to use it after one day. It is impossible to remember all shorcuts. In any other popular ide you can put any menu item on toolbar and use it from time to time.

visual vtudio: screen010

idea: screen013

eclipse: screen015

netbeans: screen014

code blocks: screen012

komodo ide: screen016

atom: screen

notepad++: notepad++

gedit: gedit

github: github

WTF MS? VS code? VS users?

Don't tag it "out-of-scope" as you did before with similar requests. Even simple editors have toolbar. It isn't advanced feature it's basic feature for most people. Using ide without toolbar is not user friendly for most users. It is vim way.

People really need it like "exit from vim": vim






FAQ FOR PEOPLE WHO ARE AGAINST THE TOOLBAR:

I don't want to use toolbar so I am against that feature-request.

It is not a problem "it is optional toolbar". If you don't want you can don't use it.

If you want it so why don't you form a team and submit a PR?

People have offered, go look at the many other bug reports made on the same issue. MS has said they would likely reject it. They don't even want to add hooks to make a plugin possible. So it's not a resource issue, it's an ideological one.

isidorn

Temporary workaround by @GorvGoyl:

It seems like it won't be the high priority feature in foreseeable future so I made this extension which adds handy buttons like beautify, list files, undo, redo, save all etc to the editor menu bar in the VSCode. Shortcut Menu Bar toolbar

morozovsk commented 6 years ago

out-of-scope

show me other popular ide without toolbar

39548:

we are closing issues that have been on the backlog for a long time

vijayvepa opened this issue on 4 Dec 2017 15:34 vscodebot closed this on 4 Dec 2017 18:01 ... it was a long time ... already two and a half hours :)

18042:

Ticket closed. Thanks for your understanding and happy coding!

Yep! Without vscode :)

rei-vilo commented 6 years ago

Because #18042 has been closed, I've switched to another IDE. Sorry, Microsoft!

ronnyek commented 6 years ago

Sadly I don't think Microsoft or vscode team cares what customers want. This topic had long been almost conspiracy levels of blatant ignoring countless issues.

I too took the notifications as someone on the team who looks on vscode as their baby... Seeing it working their way with no interest to the contrary what so ever.

I've purchased jet brains full subscription and haven't looked back. I'd love vscode to be in my tool box... As a software engineer seeing this sort of feedback to community suggestion.. it just left a real read bad taste in my mouth.

Vscode team won't care they lost a handfull more users... So it is what it is.

MikeSummit commented 6 years ago

I totally agree with OP. The biggest feature gap by far in VSCode is a missing toolbar.

I want an old school ms-office-2003-like toolbar, with toolbars and toolbar buttons. Thoughtful icons, and mouseover to see description and keymap alternates. There should be good default toolbars and they should be customizable by the user. Plugins should be able to define plug-in specific toolbars as well.

A toolbar will drive a lot more adoption and will make it easier for users to learn the keyboard alternates.

I am a long-time Visual Studio, eclipse, and Jetbrains user. I just spent a lot of time setting up and learning VSCode, and I can say VSCode is great except for the missing toolbar. If it had an office-like toolbar I would switch to VSCode exclusively. But without it I'm afraid I will have to go back to Jetbrains.

Microsoft, please stop sabotaging your own future.

alkorsan commented 6 years ago

a temporal solution can be using the status bar to add the commands you need. this extensions can do that : https://marketplace.visualstudio.com/items?itemName=anweber.statusbar-commands https://marketplace.visualstudio.com/items?itemName=gsppvo.vscode-commandbar https://marketplace.visualstudio.com/items?itemName=gizak.shortcuts https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-commands

and this one can add tasks to the status bar: https://marketplace.visualstudio.com/items?itemName=GuardRex.status-bar-tasks

result:

image

bebo-dot-dev commented 6 years ago

I'm with @morozovsk and @MikeSummit on this. vs code has so much going for it however lack of feature discoverability, lack of easy navigation and forcing users into a land of Ctrl+Shift+P / the command palette bucket of everything does hold it back IMO.

Toolbars are a must have feature that vs code doesn't have.

Do the right thing. Implement the user interface that is a globally accepted standard in user interface design. Make vs code really usable with default toolbars, plugin specific toolbars and user definable customizable toolbars.

I'm sure this will be a large feature to implement however that should not prevent this feature request getting visibility on the roadmap.

guardrex commented 6 years ago

@alkorsan Please add mine to your list, which provides a good feature to include in a toolbar ...

Devs should have the option to add a clickable button for each of their tasks.

https://marketplace.visualstudio.com/items?itemName=GuardRex.status-bar-tasks

I'd love to RETIRE that!

ourcore commented 6 years ago

Coming from Atom, a customisable toolbar is one of the features I miss the most. I'd rather not have to learn new shortcuts since I should be focusing on the actual code. I hope we get something in the near future! Keep up the great work, Microsoft.

bebo-dot-dev commented 6 years ago

Interestingly this issue has not been closed as out of scope yet and I remain hopeful that this feature will be implemented.

The official 2018 roadmap does talk about "Happy Coding", "we want to make the experience even more pleasant, for both new and existing users" and "eliminate blockers that make it hard for people to adopt VS Code" so without specifically saying that this issue is on the roadmap, it should be on the roadmap and being worked on based on what has been said.

@bpasero has been active in this issue and he is an active VSCode developer. It would be really nice if a Microsoft VSCode team developer could find the time to go on the record in this issue and say what the plan is.

ronnyek commented 6 years ago

Haven't they gone on record and said it's basically not gonna happen for the foreseeable future? That seems like what I understand with all the open and closed issues and stating it's not even just gonna get stuck in the backlog... But more like "not interested" even though the issue has been brought up countless times.

Not trying to start a negative feedback loop or anything... But this topic is a sore one... And I almost feel like there is conspiracy level of anti-toolbar. Someone somewhere decided no amount of feature requests for it will ever result in a general purpose toolbar... And their mind is made

bebo-dot-dev commented 6 years ago

Hi @ronnyek I've seen multiple closed issues similar to this one and I do understand where you're coming from with your stance. I'm trying to stay positive. The fact this issue remains open today gives me hope that there's willingness in the vscode team to consider that this really is a valid suggestion.

I also hope that I'm not deluded :)

I'm happy to repeat that the lack of default toolbars, plugin specific toolbars and user definable customizable toolbars are a real barrier to entry / adoption of vscode for new users and this missing feature is a also and endless productivity inhibitor for those people that are willing to stick with vscode regardless.

ronnyek commented 6 years ago

oh yeah, don't get me wrong... I'm for this change, and like I said I don't want to be a negative feedback loop or anything... Just surprised this issue has stood as long as it has. VS Code is making leaps and bounds as it progresses... and just really really dont understand the opposition to the toolbar. For now I've written off vscode for front end editing in favor of webstorm, but I'd love to have vscode as an option in the future

aaronclawrence commented 6 years ago

Seems so basic, I was very surprised when I didn't find one ... but I guess if the designers have a philosophy of keeping a very minimal UI maybe they feel its not worth the effort to support one

ewwink commented 6 years ago

maybe anyone can try to port this atom toolbar extension https://github.com/suda/tool-bar

junalmeida commented 6 years ago

I started a feature branch with some code that aims to do that fixed toolbar: https://github.com/junalmeida/vscode/pull/1 Ask me if you want to be part of it. I already created the initial requirements for a toolbar (ui things such as positioning, etc.) with 3 common basic actions. See the gif I've put on the PR.

There is much work to be done yet.

isidorn commented 6 years ago

@junalmeida hi, currently this feature request (as many others) is open so we can gather more feedback from users, not because we want to tackle it right away. VSCode is a minimalstic code editor and due to that we would be reluctant to accept a PR which adds a custom toolbar.

As with all feature requests the best first step is to usualy start a discussion and not start coding right away. Please see our pull request guidelines https://github.com/Microsoft/vscode/wiki/How-to-Contribute#pull-requests

Kind regards isidor

morozovsk commented 6 years ago

@isidorn atom is a minimalstic code editor: screen

notepad++ is a super minimalstic code editor:

notepad4ever

vscode is a ... vim way code editor. please delete left panel and top menu! only keyboard shortcuts! only hardcore!

a mouse was invented in 1946 but you force us to use the keyboard. I use a lot of programs. I don't need to remember key combinations in all programs.

If you want your program to be used along with others you must be compatible. If you don't want to be compatible (ms way), you can do as you want but don't pretend that you care.

:angry:

junalmeida commented 6 years ago

@isidorn I got your point but I guess that a discussion was already started here in this topic and others. Anyway, I started coding this as a POC for myself, trying to understand all the guidelines used and the UI code. If this is not the direction of the official VSCode team, no problem, but this is the beautiful of open source: anyone can fork and do experimentation, and this does not necessarily mean that a PR will be accepted. ;)

MichelZ commented 6 years ago

This is a really weird decision and will definitely be a big blocker for me personally to adopt vscode (and I imagine many other users, too)

ShivanshuKantPrasad commented 6 years ago

Also due to lack of toolbar everything gets dumped on the status bar. There are extensions that clutter the status bar very badly like git-history, cmake. Since you cannot disable status-bar icons individually, there is not space for rather important things.

poke commented 6 years ago

VSCode is a minimalstic code editor and due to that we would be reluctant to accept a PR which adds a custom toolbar.

While I can perfectly understand that, it’s not like that is the necessary action here. It would be perfectly fine to expose some drawable area for extension authors so that they could ship toolbars through extensions. That way, the core editor wouldn’t have to support it fully, and the default experience certainly wouldn’t be affected by it.

If you just look at the recent developments, it’s clear that VS Code is already moving away from that “hard core” functionality where everything is done through configuration files. A complete configuration GUI shipped, so it’s clear that VS Code is now also accepting more mouse-centric use cases. Having a toolbar would certainly be a good idea there even if it would be just for a smaller subset of users. It’s just that it would open up a lot of possibilities for additional extensions.

ahdung commented 6 years ago

+1

kryptus36 commented 6 years ago

I don't see why a toolbar can't be an optional feature. Want super minimal? Turn it off. Want quick access to functions via mouse? Turn it on. Heck implement it as a plug in if needed. But these hard line stances against what users want kill projects (see Amarok for example). VSC is amazing in so many ways, but the lack of a toolbar is annoying to many people, obviously.

agrvaibhav commented 6 years ago

Please please please.. I badly need toolbar.. I am absolutely paralyzed without it.. don't know how to navigate between files.

BenHayat commented 6 years ago

In VS Code's header, under the Menu line, could you please another toolbar of Icons for the most used functions, like Save File, Open File, and etc. Like Visual Studio. We need to be able to configure it ourselves to add/delete items.

BenHayat commented 6 years ago

I'm not going to wait forever from MSFT to add this (if ever). Buying jetbrain's WebStorm.

NotWearingPants commented 6 years ago

+1 I still prefer using the keyboard for everything, but this new (and rather basic) UI element gives new possibilities for extensions and configuration that might convince me otherwise. I would turn it off, but I still would want it to exist as a possiblity if I ever want it.

cmeyerPfcu commented 6 years ago

Sadly.. but I hope this helps... Visual Studio Code keyboard shortcuts for Windows https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

ronnyek commented 6 years ago

I think everyone appreciates the info... as that's my primary reason for for asking for a toolbar.... so many commands to remember or to search through with command window commands.

I really dont think it'd take all that much work to build said toolbar... but the problem is I'm afraid the vscode devs still have no interest, no plans, no second thoughts about a toolbar. I'm fairly confident a pull request with the toolbar functionality would largely just disappear into the ether.

cmeyerPfcu commented 6 years ago

Completely agree, in general whatever is a need in your business, if it’s fulfilled, you get more presence!

Carole

I think everyone appreciates the info... as that's my primary reason for for asking for a toolbar.... so many commands to remember or to search through with command window commands.

I really dont think it'd take all that much work to build said toolbar... but the problem is I'm afraid the vscode devs still have no interest, no plans, no second thoughts about a toolbar. I'm fairly confident a pull request with the toolbar functionality would largely just disappear into the ether.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/vscode/issues/41309#issuecomment-426295027, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AcQg2XMA0_WfTqVGZVt5M-Uw418e3Iy4ks5ug3iYgaJpZM4RW3oS.

CollinChaffin commented 6 years ago

30+yr I.T. veteran who loves commandline more than GUIs but absolutely must agree with the OP that it is ludicrous for this GUI editor not to have even the most basic of toolbars (even as an optional feature that could then be disabled for Windows-OS GUI app developers/users who are suddenly so anti-basic-GUI-features).

To further support (without intending to shame) Even the most basic of the most basic notepad replacements have the ability to add even the most basic of toolbars - far more traditionally anti-GUI-featured than those noted above, or even my long-time goto of Notepad++ - is EVEN VIM FOR WINDOWS as shown below. When a UNIX VI port can afford the code to throw in a toolbar for their GUI...I'm sure you get the point.

But, how necessary is it, and what is the thought behind it? IMO, as much as I use the keyboard, there is just something I have always felt more comfortable with in having a "visual" graphical button if for no other reason - basic file operations. Yep, I fully realize and agree it's hands-down 1000 times faster to hit :wq! but this is one area that 10/10 times I'll gladly take the 4-5 second hit per major file open/save operation to click the toolbar button (if there is one) that I want to say just about EVERY OTHER Microsoft GUI written in the last 35 years other than vscode has made available to it's operators. From the comments above, it sounds like I am certainly not alone in my typical workflow usage that, despite perhaps not being the absolute most time-efficient, is a case where (to preserve my remaining gray hair) comfort, convenience, and simple piece of mind win out over performance.

And, like those above (and many others offline), due to how integral my primary editor is to me, as minor as it may sound the reality is that vscode while having such basic features missing will just not give me enough comfort to make it my primary editor. Yes, there may be 3rd party extensions that add partial working toolbar(s) but when at any time either a core vscode update breaks it, or another extension conflicts and causes the save button to malfunction etc.....toolbars really need to be available in the core vscode for safety and reliability.


UNIX-born VIm Windows-port enhanced only to adhere to Windows GUI standards (prior to ~2016+'s apparent new GUI feature(less) standards):

snag_10-5-2018_13-41-16

BenHayat commented 5 years ago

Whoever is in charge of VSCode at MSFT should be fired, for ignoring such basic requests. Sounds like the old MSFT again.

CollinChaffin commented 5 years ago

I had not previously seen a VERY quickly "go away I don't want to listen to the people using what I'm developing" issue #11159 where it was asked why of the FEW measly buttons given to users on the side-bar, EXTENSIONS was seen to be something a user would literally BE CLICKING MORE OFTEN than BASIC FILE OPERATIONS:

https://github.com/Microsoft/vscode/issues/11159

When you see a DEV close and lock an issue THAT fast and basically say "go away" - I see he's with MS overseas in Switzerland is there seriously not any DEV management on this product that does not see that as a huge issue when MS' customers are now locked out of even chiming in on what clearly is what I would consider to be a seriously embarrassing issue? If I were managing that DEV team I'd be asking the DEV defending that design choice to show me a single human being that could POSSIBLY be clicking a GIANT "extensions" button more often than opening/saving/closing file, after file, after file - and instead defend designing that all THOSE operations should instead take our users multiple clicks through menus and command-bars and typing out commands?!?

I'd bet if you UNLOCKED that issue you would have MANY of your users agreeing as is the case here (which is probably what the quick closing aimed at accomplishing). And @BenHayat you're absolutely correct - back in the late 90's I was actually offered a position @ MS and if I were in that position today, that is exactly the action I would take as well and I would NEVER stand for what I see over in issue #11159 towards users of the product. This product could be far more than it is after this many iterations and the users of the actual product should ALWAYS be afforded a voice when seeking to make improvements. If not, the DEV team winds up writing the app that only meets THEIR needs. And when the DEVs manage the users feedback as seems unfortunately more common these days on Github, sometimes the treatment of the actual people consuming what you are developing winds up looking the same whether it is from a big MS developer, or a couple of teenagers and their first open-source repository. :wink:

fheidrich commented 5 years ago

screen shot 2018-10-29 at 7 35 52 pm screen shot 2018-10-29 at 7 35 57 pm

I would love to have a little toolbar in VS code. Just a few items would make me happy (back/forward/last-edit position) - maybe VS Code UX team feels toolbars are bad (which I agree if the product default toolbar is too much). That said, it seems toolbars are already there (see pictures) - but the items in there are useless to me, so I just would like to replace them.

pgmolloy commented 5 years ago

I have finally broken down to comment on this. I have been a developer for 30 years and one thing I have learnt is to use the right tool for the particular job ranging from command-line to fully automated delivery. There are reasons for each and as software development tools will change dramatically with advance AI integration a tool bar will become the command line of the past. VS code is missing a fundamental evolutionary component that is the same as leaving out the command line from an IDE. That said my consulting practice uses Visual Studio Professional and JetBrains Ultimate as our two base packages. VS code definitely doesn't match the flexibility of most professional IDE packages without a toolbar. I would not put a first year developer in front of VS code and waste my money on having him/her learn a watered down IDE. Just my honest Opinion.

ronnyek commented 5 years ago

@pgmolloy I have some of the same concerns, I currently primarily use visual studio and webstorm... and they generally work (and in some cases, tend to have more complete plugins that play nicer with other plugins), but there is no illusion that they are as light weight or pleasant to work with as vscode.

My problem is that we're actually not talking about a huge amount more functionality that's gonna slow code down, or make it not a "lightweight code editor" (that seems to be the excuse I hear most about why we aren't getting toolbars). Conceivably toolbars, and their button configuration would literally be calling those very command pallet commands. Configuration could be a simple config like debugging is (or at least was)

In my opinion... (and this is not necessarily backed by fact....), it's just been decided... someone, somewhere has decided they don't like the idea of a toolbar, and therefore we've had some conspiracy level treatment of issues that even vaguely resemble a toolbar feature request.

IF I was better with css/html, and IF I though there was even a teeny tiny chance of a pull request with this feature.. .would be accepted... I'd put time and effort into this. I'd understand if it was a "we want to do this, we just dont have the time to work on it ourselves". I'm just pretty confident based on previous history and the tens of other related issues that were closed almost immediately, or shortly after creation.... vscode team doesn't want pull requests related to the toolbar. It doesn't match their vision, and they are sticking to their guns.

I'd love to be proven wrong.

morozovsk commented 5 years ago

@ronnyek:

In my opinion... (and this is not necessarily backed by fact....), it's just been decided... someone, somewhere has decided they don't like the idea of a toolbar, and therefore we've had some conspiracy level treatment of issues that even vaguely resemble a toolbar feature request.

@bpasero and @isidorn are our "heroes" :)

vscode-toolbar

laoshaw commented 5 years ago

toolbar is essential for nearly all editors other than vscode, please add it.

olegchir commented 5 years ago

Really need this feature

ronnyek commented 5 years ago

In an effort to appease people working on vscode team at MS as well as customers that feel like this is a necessity, could it even just be a hook for extensibility, so its not screen real-estate or potential overhead just automatically taken?

I'd be real surprised if people that used vscode would be opposed to a toolbar (outside of @isidorn and a few others) if there wasn't significant overhead having a toolbar. Its just a matter of being able to provide it, having toolbars integrate well with code, and not impacting performance

rei-vilo commented 5 years ago

I've found this option called tree view container to add custom buttons on the left bar on Visual Studio Code.

workbench-contribution

rei-vilo commented 5 years ago

Also of interest, this customisable status bar

And a floating tool-bar extension

intro

ronnyek commented 5 years ago

I wasn't aware of the last item... seems like this would help... I still think it'd be worth while to develop at least an extensibility point, even if its not that the toolbar themsevles are actually integrated or enabled by default.

Original issue has 103 votes, in addition to all the countless issues that have previously been closed, I'd think that should demonstrate peoples interest in such functionality without having to hack it into already precious status bar realestate etc.

eb7898 commented 5 years ago

Am I in bizarro world ? How is this still lacking a toolbar in 2019 ? Are we going backwards for some reason ?

morozovsk commented 5 years ago

@eb7898, Visual studio and IDEA have a toolbar in 2019. Vscode is not.

awittaker commented 5 years ago

No toolbar option is just bad - but particularly so when browsing as opposed to actively coding (so my hand resting away from keyboard). The workarounds are all cheese (processed cheese as opposed to a nice Époisses)... The editor toolbar is too far away at top right of screen. My status bar is full... and who wants a toolbar at the bottom anyway? The sidebar takes up too much real-estate.

Any other ideas?

bebo-dot-dev commented 5 years ago

@awittaker another workaround is this extension which is based on the earlier mentioned tree view code:

https://marketplace.visualstudio.com/items?itemName=usernamehw.run-commands-view

It's still not a toolbar and it appears in the treeview area to the left rather than in the regular top position where you'd expect to find toolbar buttons / options but it is configurable and it facilitates people not having to remember a plethora of key strokes for random things.

olegchir commented 5 years ago

@awittaker "actively coding" is not a universal solution for everyone. Web developers spend half of their time in a browser, adjusting layers and using things like Chrome Developer Tools. Game developers have no choice but to constantly switch between editor and a game. Both switch to Photoshop and other software to quickly draw or create something. Therefore most of the time they have a mouse in the hand, and it's far better to continue using the mouse to do everything. I think we should have both modes in VSCode - for keyboard-centric people and for mouse-centric people. Maybe even a "main menu" is not enough - personally I'd like to have an option to create something like a vertical tray to mimic Photoshop behavior or a ribbon from MS Office. As a completely optional thing for very specific tasks, of course - I mean, it's not necessary to mirror every function from a command box into menu items. Just give an opportunity to create owner-drawn menus and boxes, and that's all. Sorry to say, I have to move to Theia or even IntelliJ IDEA Community Edition because of this, there are no options left.

MikeSummit commented 5 years ago

Ideal Toolbar Feature Requirements:

  1. As close as possible to MS Office 2003 dockable toolbar. (If you have never used this, it was the best example of a perfect toolbar).
  2. Includes a set of default toolbars with related tools grouped together.
  3. Ability to float or dock toolbars individually. Docking can be to top, bottom, left, or right.
  4. Ability to show or hide toolbars
  5. Ability to create new toolbars
  6. Ability to add and remove tools to default and user-created toolbars.
  7. Built-in tools are associated to VSCode functions and commands. User tools can be associated to user scripts or macros.
  8. Hovering over a tool shows the name, short description and keyboard equivalent, to help discover and learn VSCode features and equivalents.
  9. User can config individual tools to show icon, show text name, or show both.
  10. Tools can be single click commands (like Save), drop down list of commands (like Build, Build All, …), or text entry (like font size).
  11. Toolbar config and customizations can be exported and imported in human-readable JSON. Import can be additive or destructive.
  12. Simple API and object model for creating sophisticated tools and toolbars. Intelligent state machine to reactively enable/disable tools based on context.
  13. NOT like current MS Office Ribbon. Takes up too much space and too often requires 2-3 clicks instead of one.
Mike-Honey commented 5 years ago

I believe I have the dam buster to break through this and restore some sanity: Accessibility.

By not including or even allowing for toolbars, the VS Code team and Microsoft are taking a position that they are happy to exclude users who are vision-impaired. Such users can increase their text editor font sizes and use voice reader and editing tools, but find text-based menus very difficult to use.

So Microsoft, do you value the contribution of vision-impaired people? Or are you happy to continue to exclude them from this product and the jobs and opportunities that require it's use?