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

sketchbuch commented 4 years ago

One man's idea of useless padding is anothers idea of a well defined interface... notepad++ is not well designed or great to use. I used to use notepad++ and editpad pro, the later was great but both look dated with cramped up buttons. I'm glad VSC doesn't have any, when I first tried atom I didn't like the command palette either - or vsc - but after using it for several years I don't miss buttons or find the command palette hard to use. Maybe just give it some time instead of falling back on notepadd++.

sketchbuch commented 4 years ago

... make an additional 50% of your audience happy...

About 240 people added a positive emoticon to the OP... what makes you think VSC is only used by about 480 people???

morozovsk commented 4 years ago

We do not force you to use the toolbar. It can be disabled. You force us don't use the toolbar. Do you feel the difference? The era of "The only one right way" was in the Soviet Union.

Do not tell me what to do and I will not tell you where to go.

kryptus36 commented 4 years ago

One man's idea of useless padding is anothers idea of a well defined interface... notepad++ is not well designed or great to use. I used to use notepad++ and editpad pro, the later was great but both look dated with cramped up buttons. I'm glad VSC doesn't have any, when I first tried atom I didn't like the command palette either - or vsc - but after using it for several years I don't miss buttons or find the command palette hard to use. Maybe just give it some time instead of falling back on notepadd++.

Exactly why the issue title says "optional". I never use the tabs at the top to access files - they are all on the left. Why are they there? Just because one workflow works for you doesn't mean it's great for everyone. Configurable UI can make it better for a wider range of users - for me it's an accessibility function. I use sticky keys, so hitting certain key combinations (mostly undo/redo) can be tedious if needed to be repeated several times. It would make my life easier and not affect yours, so why are you here telling me I don't need it? Why do you care?

It can even be a plugin, no one who doesn't want it even needs to know it exists.

sketchbuch commented 4 years ago

@morozovsk There is no toolbar - no one can force you not to use something that doesn't exist.

sketchbuch commented 4 years ago

I don't mind if they add one, I just don't want it prioritised... there seem to be a lot of devs who want it so why don't you form a team and submit a PR?

kryptus36 commented 4 years ago

I don't mind if they add one, I just don't want it prioritised... there seem to be a lot of devs who 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.

It's obviously not being prioritized. MS hasn't even commented on it in months. Again, I don't know why you'd care.

minig0d commented 4 years ago

One man's idea of useless padding is anothers idea of a well defined interface... notepad++ is not well designed or great to use. I used to use notepad++ and editpad pro, the later was great but both look dated with cramped up buttons. I'm glad VSC doesn't have any, when I first tried atom I didn't like the command palette either - or vsc - but after using it for several years I don't miss buttons or find the command palette hard to use. Maybe just give it some time instead of falling back on notepadd++.

Uhhh... know what notepad++ has? config files... know what you can do with those files? remove items you don't want to look at... you could literally make it have just a file menu with one menu option and no toolbar if you want... Why is it that way? because it allows people to customize it for what works most efficiently for them without locking people into workflows that are not efficient for them. So to say that YOU find it cluttered so an OPTIONAL feature that you would not be forced to use should not be implemented because YOU find it that way, sounds extremely egotistical.

I like dark themes... maybe VSCode should remove all options to customize color choices and force everyone to use the one I like? Why don't they? Hmmm because just like the toolbar, it's easy to build out code to let the user customize to what works best for them and in no way negatively impacts other users...

minig0d commented 4 years ago

I don't mind if they add one, I just don't want it prioritised... there seem to be a lot of devs who want it so why don't you form a team and submit a PR?

What do you want prioritized? an API for your toaster?

Short of the filesystem issue where actual data is being destroyed because of similar stubborness from the coding team, I haven't seen a request that seems that it should be of higher priority... but I guess we should all hail King Sketchbuch?

morozovsk commented 4 years ago

Added FAQ to the ticket. This is tiring to answer the same questions to people who have not figured out the topic but already against it.

nickcoad commented 4 years ago

@thariqnu-ifm How precisely do I use the command palette without the keyboard? Why can't we have both command palette AND optional toolbar (or least an API for it)?

How are you writing code without a keyboard?

nickcoad commented 4 years ago

Added FAQ to the ticket. This is tiring to answer the same questions to people who have not figured out the topic but already against it.

That trend screenshot in the OP is not showing what you think it's showing...

ronnyek commented 4 years ago

I don't mind if they add one, I just don't want it prioritised... there seem to be a lot of devs who want it so why don't you form a team and submit a PR?

Apparently there have been several attempts... Some got further along than others. The problem is the vscode team had blocked these efforts in the past and eluded to the fact that they had no intentions of allowing it.

There is a vision... That vision does not include a tool bar. Why boggles my mind... But all this time waiting around... Webstorm has just gotten better and better widening the gap.

To someone else's point... They got no problem bending way over backwards for a some super obscure support 2% of code users will use... But then simple OPTIONAL toolbar... Nooooooope.

It's been years and years and countless issues wasting away into oblivion. I think it's probably time to just call it.

moon6969 commented 4 years ago

How are you writing code without a keyboard?

Did someone say they were writing code without a keyboard? Developing is more than typing code in my experience - from spending time figuring out legacy systems at the start to debugging at the end.

I get pain in my arms that makes keyboard time a valuable commodity. It's also an effort to switch between mouse & keyboard use. So to rest my hands I use the mouse whenever possible. With a little bit of support (a toolbar for example), I can sit back and peruse code and reference documentation, debug etc. without going near the keyboard for hours.

rei-vilo commented 4 years ago

Added FAQ to the ticket. This is tiring to answer the same questions to people who have not figured out the topic but already against it.

Edit: To the Microsoft Visual Studio Code team:

Wouldn't delivering the feature be a more productive action?

morozovsk commented 4 years ago

@rei-vilo

Wouldn't delivering the feature be a more productive action?

You are probably confused :) I'm topic starter. I'm not working for MS. I couldn't deliver the feature.

rei-vilo commented 4 years ago

@rei-vilo

Wouldn't delivering the feature be a more productive action?

You must be confused :) I'm topic starter. I'm not working for MS. I couldn't deliver the feature.

I'm sorry, the message was intended at the Microsoft Visual Studio Code team.

On my side, I tried to play with extensions, but documentation is hard to dig in.

bebo-dot-dev commented 4 years ago

I'm topic starter. I'm not working for MS. I couldn't deliver the feature.

You literally said this in your FAQ update to your post 1 above 🤣

Some people are not going to read it or attempt to understand what this issue is about before wading in with an irrelevant nonsense comment.

kryptus36 commented 4 years ago

OP is a bit tl;dr, maybe the FAQ should be moved to the very top.

msimic commented 4 years ago

Stop being Apple. Removing something useful from something does not make that thing better.

Lingyis commented 4 years ago

Personally I never noticed that it doesn't have a toolbar until this thread. I like it the current way. It kinda has a toolbar in the form of an activity bar to the left anyway. But I suppose vscode developers could have better explained the decision not to include a toolbar, like, perhaps a toolbar would the window look cluttered (which I think it would). Of course, in their implementation they could just include the toolbar as an option, but then it's probably lower on the list of priorities. But still, some helpful comment would have been nice.

minig0d commented 4 years ago

Personally I never noticed that it doesn't have a toolbar until this thread. I like it the current way. It kinda has a toolbar in the form of an activity bar to the left anyway. But I suppose vscode developers could have better explained the decision not to include a toolbar, like, perhaps a toolbar would the window look cluttered (which I think it would). Of course, in their implementation they could just include the toolbar as an option, but then it's probably lower on the list of priorities. But still, some helpful comment would have been nice.

You could also argue that the giant bar on the left (whatever you decide to call it) that is what? 100px+ wide, is way more cluttering than a 20px toolbar...

Also... just realized... know what else has a toolbar that Microsoft owns...? Github... right in this box I'm typing in... wonder why that is... I mean if everyone is a keyboard expert shouldn't we all know markdown? lol

munael commented 4 years ago

At a minimum, I'd want a "tools panel" that I can move (and duplicate?) around in different panel containers.

So it can have a dedicated icon in the activity bar, or be a panel in an existing pane, and so on.

Making use of the recent addition of movable panels.

rhclayto commented 4 years ago

Personally I never noticed that it doesn't have a toolbar until this thread. I like it the current way. It kinda has a toolbar in the form of an activity bar to the left anyway. But I suppose vscode developers could have better explained the decision not to include a toolbar, like, perhaps a toolbar would the window look cluttered (which I think it would). Of course, in their implementation they could just include the toolbar as an option, but then it's probably lower on the list of priorities. But still, some helpful comment would have been nice.

In other closed threads developers have said they are reluctant or unwilling even to include hooks for plug-in developers to make a toolbar plug-in. So rather than just being a low priority, it appears these developers actively oppose even making it possible to have a completely optional toolbar, even as a plug-in. As the OP said, this seems ideological.

Tharkis commented 4 years ago

Just adding to the pile...

This issue is the number one reason I don't use VS Code for anything. In fact, I check in about once a month or so to see if they have come to their senses and added a button bar. But alas, it sounds as if even allowing addon developers to integrate a bar is out of scope.

I'll just continue using Notepad++ and other editors which provide this basic functionality. However, I'm going to actually uninstall VS Code this time and I don't think I'll be reinstalling anytime soon.

libTorrentUser commented 4 years ago

I just wanted to add my +1 to this feature request.

It is funny how something so useful seems to be rejected by the dev team while something completely useless like that "OPEN EDITORS" thing keeps cluttering our screen. That thing was not needed not even during the VC++ 6 days, a dark time in the coding era when we did not have tabs showing which files are open.

And before some crazy dev gets my rambling full of grammar mistakes wrong, let me try to make it clear:

TLDR A configurable toolbar would be extremely useful and much more essential than a bunch of stuff I am currently seeing being implemented.

sketchbuch commented 4 years ago

Just right click on the open editors view and uncheck it if you don't want to see it

minig0d commented 4 years ago

Just right click on the open editors view and uncheck it if you don't want to see it

What do you know... that's the exact same line word for word that you could say if someone complained that they didn't like the toolbar? How versatile!

sketchbuch commented 4 years ago

No it isn't. The option to hide views has been in since the first release.

Toolbars haven't been. Not having a toolbar was core design goal. Adding it now would suck up resources, development time and require mutiple teams to collaborate to add this "feature". Then once it is there lazy extension devs will write just for the toolbar and not provide a way to use their extensions wthout a toolbar. Most probably won't even hook the click events up to a real command, they will just execute something on click giving no one the chance to use the command palette. I think adding this "feature" now would be a mistake which is why I don't want it done. It will also bloat the API. All the MS studies into the ribbon showed how useless endless menu options are and how toolbar hell doesn't help anyone use an app more effectively.

sBrecht commented 4 years ago

If MS Studies deem that the toolbar is useless cruft, then why is the design still a basic paradigm for applications? Do you have a toolbar / ribbon turned on in your browser? Word? Excel? Explorer? Visual Studio? Photoshop? Heck pinned applications in Windows are a form of toolbar. If you personally never use these in any of the above situations do you feel users that do are using software incorrectly? That for example a command palette structure would best replace the ribbon in Word? Honest questions.

As for engineering concerns, you don't have to enable code to be run inside the click events. The framework could easily be limited to only a function trigger from the outset which to me would seem to be the only logical way to impliment it anyhow. Any application I've ever built a toolbar / menu only calls a function. Why would it allow code to be embedded in the button's click event? Why would devs even have access to the events behind the toolbar? Adding a framework to support buttons with command hooks would be pretty trivial, you already have the command palette doing the same thing so it seems like an extension of that structure alone.

I've stayed on this thread for curiousity but to me the real tell is that most of my team choose not to use Code citing the interface shortcomings. It is disappointing as it is a great product otherwise.

VTGroupGitHub commented 4 years ago

If you're reading this thread, and lack of a toolbar is essentially a show-stopper for you like it was for me, then I recommend Notepad++. I uninstalled VSC, installed NPP and haven't looked back. The NPP toolbar is fully extensible via a plugin, and I've added buttons to do nearly 20 repetitive tasks via Python, bash scripts, and the internal editor language. Plus, it has lots of other plugins for language-specific tasks, etc. I'm sure there are other good alternatives too, but I've not found anything with NPP that I can't do either by default or coding it myself.

minig0d commented 4 years ago

HAHAHAHA... I just found out the REALLLL reason sketchbuch doesn't want a toolbar... He's busy using the statusbar as a toolbar (and for whatever reason feels that it's more acceptable to "hack" the status bar for an unintended purpose than to have a legitimate status bar...

image

c'mon man... if you are worried about lightweight... lets cut some of the REAL bloat... again a lot lighter editors than VSC have toolbars...

sketchbuch commented 4 years ago

... Honest questions.

No, it's just ignoring what I said. I never said toolbars are usless, I said toolbar hell is useless... which is what I worry about this will become. The ribbon has buttons but they are researched with UX behind them, there will be no research done improving the UX for users who want buttons. Will just go back to having hundreds of buttons and toolbars below toolbars. it will become a bloated mess - I think.

If MS provide a toolbar how long before people want mutiple toolbars, or toolbars below toolbars with the ability to arrange the bars via drag and drop, and then people will want a way of customizing the buttons and changing the order. They will want button folders that group commands.. This simple API for buttons that you want has the potential to morph into a monster that bloats the API and the UI and drains developer time.

I like the small api, at first I found it quite restrictive. After making a few extensions I can see why all custom displays for extensions are in editors it's the only place that the API lets you create custom content.

By the way as we are banding around useless anicdotal evidence... every team that I work with all use VS Code

sketchbuch commented 4 years ago

Yes, those are my extensions, but they add buttons to where there is already a button system in place. It's not a hack, these extensions don't do anything that the API doesn't expose to a developer. Look if they add the button api and it is fully worked out and tested I don't mind. I just don't want them to fuck up the editor doing it.

Zen terminal button btw uses the editor title bar for it's button location - not the status bar ;). You can always create a private extension for yourself adding buttons there.

sketchbuch commented 4 years ago

As for engineering concerns,

Yes the buttons could be hooked up to a command but it is also possible in the package.json to stop a command being called via the palette. This is the kind of thing I don't want to happen, that devs start making things only work with buttons - for whatever reason.

morozovsk commented 4 years ago

@sketchbuch:

I don't want to happen, that devs start making things only work with buttons - for whatever reason.

We are not your slaves to ask your permission when we can use the buttons, and when not. Get out of the ticket.

sketchbuch commented 4 years ago

Screw you, I don't need your permission to comment on an open issue. If you don't like it grow up and leave yourself

sBrecht commented 4 years ago

No, it's just ignoring what I said. I never said toolbars are usless, I said toolbar hell is useless... which is what I worry about this will become.

Thanks for the reply. I agree toolbar hell can be a problem (I'm looking at you Office) but I also place that in the category of "decision of the user" when the toolbar is editable. (if the toolbar isn't editable then that's a whole other issue) When I have the option to customize the toolbar in applications they don't come "out of the box" with every item enabled by default, they come with a sane selection of common items and I can add / remove what makes my workflow more efficient. To me it's the same as editors allowing me to set preferred indent options, spacing, font sizes, etc.

Even if VSCode shipped with a blank toolbar that was hidden by default that would be fine. To me it's about user choice and not forcing them into a methodology they aren't comfortable with. I'll admit I've never built an extension for VS Code however I would envision it being limited to an added bitmap resource and an entry into the extension manifest enabling the option. That wouldn't allow devs to abuse it. Offload the work of making default bitmaps for the palette to the community as long as the basic framework exists. Then ship VS Code as clean as it is today and if I choose to optimize my workflow my way I have the option.

Didn't mean to throw out anecdotal evidence.

morozovsk commented 4 years ago

@sketchbuch

Screw you, I don't need your permission to comment on an open issue.

But actually you should, because this is my open issue :) PS: now you are banned. thanks for the constructive dialogue :)

minig0d commented 4 years ago

Yes, those are my extensions, but they add buttons to where there is already a button system in place. It's not a hack, these extensions don't do anything that the API doesn't expose to a developer. Look if they add the button api and it is fully worked out and tested I don't mind. I just don't want them to fuck up the editor doing it.

Zen terminal button btw uses the editor title bar for it's button location - not the status bar ;). You can always create a private extension for yourself adding buttons there.

Just because you CAN add a button there doesn't mean VSC allows you to because they want you to turn it into a toolbar... I actually recall seeing some comment from a developer who explicitly stated that was not he case. (I know shocking they may actually reply...)

sBrecht commented 4 years ago

PS: now you are banned. thanks for the constructive dialogue :)

That was a useless act just when a proper discussion was being had. You don't get to just turn off people you disagree with. Lesson #1 in how to not convince people your point of view is valid.

morozovsk commented 4 years ago

He repeated the same thing in every message: "I do not want to", "I am against", "I do not like this." He did absolutely nothing for a constructive dialogue.

I don't want to happen, that devs start making things only work with buttons - for whatever reason.

Before that, I thought he is just a troll. After these words, it became clear that she does not want to make vscode better or worse. She just wants to limit other people and it doesn’t matter whether they want that or not. Well, what I did to him the same thing, now he can probably understand what it is when you are limited against your will.

minig0d commented 4 years ago

He repeated the same thing in every message: "I do not want to", "I am against", "I do not like this." He did absolutely nothing for a constructive dialogue.

I don't want to happen, that devs start making things only work with buttons - for whatever reason.

Before that, I thought he is just a troll. After these words, it became clear that she does not want to make vscode better or worse. She just wants to limit other people and it doesn’t matter whether they want that or not. Well, what I did to him the same thing, now he can probably understand what it is when you are limited against your will.

Sorry sBrecht, I completely agree with morozovsk. He hadn't added a single constructive critique. Honestly, based on the way he was talking (as if he had some kind of authority in the matter) thats why I looked at his profile... I thought he may be an under cover Microsoft employee... but nope... he was just a troll...

The only benefit he brought to the conversation was getting the post count up... which may hopefully get MS to pay more attention to the issue shrug

minig0d commented 4 years ago

lol look... the troll is STILL trolling... thumbs downing my post... keep it up troll... I love how you just proved my point!!!

morozovsk commented 4 years ago

Yes, before sketchbuch we were on second page, now we are on first one. So thanks @sketchbuch for your help :)

lol look... the troll is STILL trolling... thumbs downing my post... keep it up troll... I love how you just proved my point!!!

yes. you also can ban him and and forget about his existence :)

morozovsk commented 4 years ago

Laugh when MS close this issue due to your childish behaviour

Account was created 4 minutes ago

@krytenjrobot, @sketchbuch

Rather you will be banned because registering new accounts for spam. If I see you here again with a new account, I will write a complaint to github and your main account will be banned.

Old man but acting like a teenager.

kryptus36 commented 4 years ago

PS: now you are banned. thanks for the constructive dialogue :)

That was a useless act just when a proper discussion was being had. You don't get to just turn off people you disagree with. Lesson #1 in how to not convince people your point of view is valid.

"Screw you" is not a proper discussion. The guy was clearly trolling, when it was pointed out his arguments were flawed he moved the goal posts. He's just wasting everyone's time.

HPCDupre commented 4 years ago

Hi, My name is Claude Dupré and I am an electronic engeneer and analyst programmer since 40 years. I have used a multitude of development product in my carreer having to develop even printer driver that were inexistant in Dos environment. Windows did not even exist at that time. Even though I did know how to program in object oriented, machine were not powerfull enough (8088, 8k memory 64k disk space etc) to support that kind of technology so we had to use shortcut key for often use function and every program were compiled using a batch file, the same with the linker with a link file. Since a few years I have been working with Atmel studio because I knew the product very well since in my carreer I programmed in Assembler, C, C++, .Net and other language you probably never heard of like dbase, PLM, Clipper etc. Now because Atmel studio did not support STM product, I had to find another product to work on to develop my product Cortex based on STM. I found Visual Studio Code. So I said to my self , Hourra, I found the holy grail. I had to work over a week to set it up et find out that I was pulled back in the 80's as far as the ideology of the product is concern. I am very disapointed to see that a product that is so popular is not though as an efficient tools. No contextual menu. No configurable menu. Plugin's do not generate their own menus and tool bar, they do not configure themselve to the environment. There is no basic toolbar. So light weight product is good when it applies to TIGHT environment ( I know what I am talking about) wich is clearly not the case with these days technologies. So if somebody wants to use a new product, he expect to be able to install it and use it with a minimal turnaround time. If I compare Visual Studio Code with Atmel Studio, vscode is light years behind. It seems , by what I have read here that the vscode team do not aggree with upgrades that seems to me to be essential. To conclude this. I think that a coding standard should be adopt to define more stable and efficient plugins as far as usage, efficiency and documentation is concern to render the end product more integrated and user FRIENDLY (which is not the case, sorrrry) I hope that the vscode team will have a more visionnary sight. Regards Claude

MikeRosoft commented 4 years ago

If MS provide a toolbar how long before people want multiple toolbars, or toolbars below toolbars with the ability to arrange the bars via drag and drop, and then people will want a way of customizing the buttons and changing the order. They will want button folders that group commands.. This simple API for buttons that you want has the potential to morph into a monster that bloats the API and the UI and drains developer time.

Well, big news to you: people already want all of the above. That's the whole purpose of this proposal - to allow the users to add commands that they want, and how they want, and where they want. Not to depend on extension authors to prepare the commands for them, in a component that wasn't intended for them, and with no customization.

kryptus36 commented 4 years ago

Insofar as the argument around "UI and API bloat" the top requested feature right now #10121 is the ability to drag panes outside the main window. Clearly people have many different ideas about their preferred workflow. VSCode has many features I don't use. That doesn't mean I think they should be removed. It means they should be there if I need/want them.