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

Exploration: Language-specific default overridden values and language-specific settings in the Settings editor #131707

Closed
sandy081 opened this issue Aug 26, 2021 · 13 comments
Assignees
Labels
feature-request Request for new features or functionality important Issue identified as high-priority settings-editor VS Code settings editor issues ux User experience issues

Comments

@sandy081
Copy link
Member

It is not made clear to the user that the non-language-specific user setting user defined for eg editor.wordSeparators is overwritten for a language by the default language-specific setting the extension defines.

@sandy081 sandy081 added feature-request Request for new features or functionality settings-editor VS Code settings editor issues labels Aug 26, 2021
@rzhao271 rzhao271 assigned rzhao271 and unassigned roblourens Oct 14, 2021
@sandy081 sandy081 modified the milestones: Backlog, February 2022 Jan 17, 2022
@sandy081
Copy link
Member Author

@rzhao271 @misolori

This came up many times in different issues and also in Zurich standup today. It is really confusing to users to not to see language overrides in the UI. This also includes default language overrides coming from an extension.

It would be great if we can start with some UI mock ups for this.

@sandy081 sandy081 added the ux User experience issues label Jan 17, 2022
@jrieken
Copy link
Member

jrieken commented Jan 17, 2022

/cc @debonte for the specific case of setting formatOnSave as default value for python and that being completely invisible.

@rzhao271 rzhao271 added the important Issue identified as high-priority label Jan 18, 2022
@debonte
Copy link
Contributor

debonte commented Jan 18, 2022

formatOnSave as default value for python

Actually formatOnType

@miguelsolorio miguelsolorio self-assigned this Jan 19, 2022
@miguelsolorio
Copy link
Contributor

Is this needed from either the UI or JSON editor, or both?

@sandy081
Copy link
Member Author

sandy081 commented Feb 1, 2022

It is needed for the UI editor.

@rzhao271 rzhao271 changed the title User affordance to represent a user setting is overriden by a language overridden setting Settings editor should show language overrides Feb 1, 2022
@miguelsolorio
Copy link
Contributor

Would also be worth exploring some alternate ways to lay out the Setting labels as we add more and they get very compact (#142045)

CleanShot 2022-02-02 at 16 00 25@2x

@lychung7
Copy link
Contributor

lychung7 commented Feb 15, 2022

We are exploring showing the Settings labels as icons that can reveal more information on hover. This can allow users to view multiple overrides from various languages and extensions without the limitation of space next to the setting name.

image

For showing detailed information about overrides we think that placing this information in a table format can allow for quick scanning and editing.

table

Also, another change we discussed was the search experience. For example, when searching for jsonc, we can have a link to configure settings which would then show all jsonc settings that have overrides.

filter language

filter language-1

@Lemmingh
Copy link
Contributor

Lemmingh commented Mar 7, 2022

May I know the relationship between these issues?

They are quite similar, and this issue looks like a comprehensive combination of the others.

@rzhao271
Copy link
Contributor

rzhao271 commented Mar 21, 2022

On Insiders, you can now type @lang:languageId into the search widget in order to view and modify language-overridable settings for a given language ID.

@debonte
Copy link
Contributor

debonte commented Mar 21, 2022

@rzhao271, is it just @lang or @lang:python? Is this the long-term solution or a first step towards the table format shown above?

@rzhao271
Copy link
Contributor

It would be @lang:python. I edited the message above. This filter is only one part of the long-term solution, and it helps when configuring multiple settings under the same language ID.
There should still be a way for the user to configure and view language-specific values for one setting, though.

@rzhao271
Copy link
Contributor

The current plan is to keep using language filters, since I'm not sure how often a user would compare language setting values and/or modify them, anyway.

However, I did add a button to the Settings editor search widget that I hope makes it easier for users to discover that there is a way to apply a language filter:

A screenshot showing the language option of the Settings editor search widget filter button

Something else I'd like to work on is improving support for viewing language-specific extension-contributed default overrides.
There is currently an issue in the configuration service that prevents us from reliably identifying which extension contributed a language-specific default override.

@rzhao271 rzhao271 modified the milestones: April 2022, May 2022 Apr 22, 2022
@rzhao271 rzhao271 changed the title Settings editor should show language overrides Exploration: Language-specific default overridden values and language-specific settings in the Settings editor May 3, 2022
@rzhao271
Copy link
Contributor

rzhao271 commented May 3, 2022

I created #148674 to track the table idea.
I created #148672 to track showing language-specific default override indicators.
Sandeep's issue in the original comment (#131707 (comment)) actually reminds me of #145731, and we can track it there.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality important Issue identified as high-priority settings-editor VS Code settings editor issues ux User experience issues
Projects
None yet
Development

No branches or pull requests

8 participants