Skip to content
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

[Feature Request] Add permanent configurable toolbar #7540

Closed
ronnyek opened this issue Apr 9, 2020 · 4 comments · Fixed by #10731
Closed

[Feature Request] Add permanent configurable toolbar #7540

ronnyek opened this issue Apr 9, 2020 · 4 comments · Fixed by #10731
Labels
proposal feature proposals (potential future features)

Comments

@ronnyek
Copy link

ronnyek commented Apr 9, 2020

Description

VSCode engineers / governing team seem insistent on not having any form of toolbar, and regardless of how many issues were opened only to be closed, ignored, expired, etc. (like microsoft/vscode#41309), but based on the number of people that have requested, its clearly something that would add value to at least some developers lives.

Feature could be something that was opt in, and I think it'd benefit people across the board.

There are extensions that allow you to make shortcuts in the statusbar, but its cramped, and that feels like a bit of a UX no no, in addition to being a bit of hack in the first place. I for one can't remember all the tool/extension shortcuts for the command bar... don't even remember what to search for half of the time.

Being that this project appears to try and fix problems with vscode project itself, is this something that would at least be considered? If someone built a PR that was of quality and didn't hugely break integration bits in the future, is it possible it would be considered for inclusion?

@vince-fugnitto
Copy link
Member

@ronnyek thank you for the issue!

I believe the proposal for the framework to include the possibility of creating a toolbar from which extensions can contribute to (similarly to the statusbar) would be a welcomed feature. Almost all major IDEs have such toolbars and updating the framework to include a configurable toolbar would be most welcome.

I believe that if the initial contribution is of quality, and is not breaking like you've mentioned, we can definitely consider it for inclusion. However, I believe that the toolbar should be highly customizable and still opt-in for applications based on Theia to include it or not.

Additional Information:

Arduino Pro IDE which is based on Theia has a toolbar present already:

@vince-fugnitto vince-fugnitto added the proposal feature proposals (potential future features) label Apr 9, 2020
@akosyakov
Copy link
Member

I am not sure about including it in the Theia framework. For instance, we embrace VS Code decisions by default. If they don't have such toolbar and no extension contributing anything to it. What should we include there?

End products can have a toolbar though. There can be a show-case product with custom extension showing how it could be done.

@GitMensch
Copy link

For instance, we embrace VS Code decisions by default. If they don't have such toolbar and no extension contributing anything to it. What should we include there?

Then let's stick with the FR here: because of the missing api no extensions could add something directly, but an optional configurable tool bar can be configured by the user to add any registered command. I'd highly suggest to pre-configure the toolbar with "common" commands (at least save, save all, new file, undo/redo) and if you feel "stick with vscode design decisions" then make that optional (= one explicit has to enable it). If you furthermore provide an extension point for "end products" then those could easily activate them and add whatever commands they feel reasonable there.

  • no issue for users that don't want that - not setup = not rendered
  • win for users
  • win for end products (less "self-made" stuff)
  • win for users of such end products (doesn't look alienate but integrated, provides the option to customize)

We could take existing json defintions for the setup or create a new schema, at least we'd need "command", "icon", "tooltip". and "type" (default button, but at least check-box/toggle, menu and input/drop-down should be possible, too).

@vince-fugnitto
Copy link
Member

@GitMensch a configurable toolbar contribution would definitely be helpful, and allow for additional use-cases for applications.
Please don't hesitate to implement the feature if you are interested.

Some things to note (which I expressed previously #7540 (comment)):

  • The contribution should be optional (likely a new extension which contributes the functionality) so it does not affect downstream applications - they should be able to opt-out easily if they do not wish to support it.
  • The default implementation can be simple however (perhaps simple commands such as 'new file', 'new folder') but we should make it lightweight as possible - applications should decide which commands they register to the global toolbar.

I'd like to mention that the toolbar does not need to exist in this repo initially, you can always implement it as your own @theia extension for your use-case and attempt to upstream it when possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal feature proposals (potential future features)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants