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

New settings editor feedback #50249

Closed
roblourens opened this Issue May 21, 2018 · 182 comments

Comments

@roblourens
Member

roblourens commented May 21, 2018

This is a general issue for discussing the new settings editor. The feedback button in Insiders links here. Please leave any feedback here!

@roblourens roblourens added this to the May 2018 milestone May 21, 2018

@roblourens roblourens self-assigned this May 21, 2018

@Gama11

This comment has been minimized.

Contributor

Gama11 commented May 22, 2018

One thing that wasn't very intuitive to me is that a setting that is already set to the default value in settings.json still shows up as Modified, but then clicking the "Reset" button doesn't change the toggle state of the checkbox. Here's an example:

"haxe.enableCodeLens": false

In that case, the reset button still has a purpose (it removes the line from settings.json), but it doesn't seem right to label the setting as "modified".

@roblourens

This comment has been minimized.

Member

roblourens commented May 22, 2018

In that case, the reset button still has a purpose (it removes the line from settings.json), but it doesn't seem right to label the setting as "modified".

That's right, and I've been thinking a lot about how to show this in UI. My original language there was "configured" since it's true that the setting hasn't actually been "modified" from the default, but I think that's also unclear.

@Gama11

This comment has been minimized.

Contributor

Gama11 commented May 22, 2018

Another thing: it would be nice if basic oneOf settings were supported in some way. In the Haxe extension, we have a very simple one that is either "auto" or an integer. It could just be a regular text field to start with.

"haxe.displayPort": {
	"description": "Integer value for the port to open on the display server, or \"auto\". Can be used to --connect Haxe build commands.",
	"default": "auto",
	"oneOf": [
		{
			"type": "integer"
		},
		{
			"type": "string",
			"enum": [
				"auto"
			]
		}
	]
}

Right now it just refers you to settings.json:

The same seems to be true for all settings of "type": "object". I assume support for those is planned somewhere later down the line?

@roblourens

This comment has been minimized.

Member

roblourens commented May 22, 2018

Yeah, I'm not sure what to do there. In JSON, there is a difference between "3" and 3 which wouldn't be captured by a single text input for integer and string types.

And then working in the enum, that would work better as a dropdown or radio option.

There are different ways that we could show an edit control for multiple value types, but that's not going to happen right away.

Also see #3355 for history and context, but I don't plan to support any arbitrary "object" type. I want to provide a good experience for common configuration use cases, and for more complex use cases, users can still fall back on the JSON file. For common object-type settings like files.exclude, I would like to add a different control which is specific to that setting.

@duncanhorn

This comment has been minimized.

duncanhorn commented May 23, 2018

Really torn on the new UI. Part of me likes the organization, but 99% of the time that I open up my settings, it's to toggle something I had changed (e.g. such as "trim trailing spaces" when I'm changing a large/legacy/file I don't own). In this UI it's extremely difficult to find such settings since I don't necessarily recall which "group" it's in. I'd likely prefer that the "Show modified only" setting remove the groupings, or at least (1) remove the groups you don't have settings modified for (bug I assume since they get removed if you click them), and (2) auto-expand all groups so it's easier to scroll and find.

@roblourens

This comment has been minimized.

Member

roblourens commented May 23, 2018

I agree @duncanhorn, and I have this issue to improve that: #50369

@qcz

This comment has been minimized.

Contributor

qcz commented May 24, 2018

As I can see the title of the settings are generated by splitting the original property name at word boundaries and pascal casing all the distinct words. It maybe looks OK in English-only environments, but it looks very bad when using a localized version. These titles should be translatable or it should show the original property name, so users won't think that the settings editor is missing translations.

(P.S.: I do not see any added value of this transformation even if I use the English localization.)

@juristr

This comment has been minimized.

juristr commented May 24, 2018

Feedback: Please keep a way for easily open the "User settings json` file as well. Like a "power mode" if you wish. It's much easier to quickly edit settings in there. I usually keep multiple settings (i.e. for themes) but commented in my user settings JSON and quickly switch them there based on my needs (like light theme when outside/presenting etc..)

@johnpapa

This comment has been minimized.

johnpapa commented May 24, 2018

I agree with @juristr ... I couldnt easily find a way to toggle between the JSON settings and the new editor. I often enjoy just editing the JSON directly. I see value in the new format, but would like an easy way to get back and forth between them (not a split pane tho, as that limits viewable area)

@roblourens

This comment has been minimized.

Member

roblourens commented May 24, 2018

These titles should be translatable or it should show the original property name, so users won't think that the settings editor is missing translations.

Good point

Please keep a way for easily open the "User settings json` file as well

Did you see the button at the top of the page to "open the original editor"? You can also run the "Open User Settings" command or change the keybindings.

@juristr

This comment has been minimized.

juristr commented May 24, 2018

Did you see the button at the top of the page to "open the original editor"? You can also run the "Open User Settings" command or change the keybindings.

@roblourens sure, but I guess this is a temporary link during the preview phase. Would be great if it remains though even later 🙂

@johnpapa

This comment has been minimized.

johnpapa commented May 24, 2018

maybe an easy way to go between the guided tour and the power user mode.

@paror

This comment has been minimized.

paror commented May 24, 2018

Just a reflexion on your great work.

I think the settings still seem too complex because of the documentation that remains visible all the time.
capture d ecran 2018-05-24 a 22 53 26
For me looks more simple then
capture d ecran 2018-05-24 a 22 54 56

Less noise, less space. I prefer documentation when I want to see it (white a little icon or on hover or...)
Too much information kills information.

@roblourens

This comment has been minimized.

Member

roblourens commented May 24, 2018

sure, but I guess this is a temporary link during the preview phase. Would be great if it remains though even later

Yes, I definitely plan to keep an easy way to switch back. Just like we have in the keybindings editor. "For advanced customizations, open and edit settings.json".

@paror What if we only show one line of the description instead of two?

@bigopon

This comment has been minimized.

bigopon commented May 25, 2018

Compact mode, where all descriptions are hidden and mouse hover indicator for each line.

@TomasHubelbauer

This comment has been minimized.

Contributor

TomasHubelbauer commented May 25, 2018

Sorry if this is documented somewhere and I missed it, but is there a setting for completely disabling any UI for settings and going straight to the JSON editor? I am in the camp of either straight up JSON or automatically built UI based on all settings' properties and their types, this in between screen won't work for me.

@roblourens

This comment has been minimized.

Member

roblourens commented May 25, 2018

To change the keybinding back to the previous editor:

{
    "key": "cmd+,",
    "command": "workbench.action.openSettings"
},

Or run the command Preferences: Open User Settings

@johnpapa

This comment has been minimized.

johnpapa commented May 25, 2018

Or we could probably remap cmd , to the old command , right?

@roblourens

This comment has been minimized.

Member

roblourens commented May 25, 2018

Yes that's what that keymapping does.

To be clear this change is only for getting feedback in Insiders, the old default will remain in Stable for 1.24.

@johnpapa

This comment has been minimized.

johnpapa commented May 25, 2018

If this doesn’t make it to stable in the future I hope there is a new command for it instead of replacing the current behavior. That’s my vote :)

@vadistic

This comment has been minimized.

vadistic commented May 26, 2018

It's a bit buggy for me.

Windows 10 Home, May update

  1. When trying to change number value of some setting (i.e. integrated terminal font size) the form loose focus after first char and I see warning popup Cannot read property 'toString' of undefined
  2. Edit in settings.json link simply do not work (no effect)

Except that impression is ok (I like the green highlights of modified and reset option, layout could be more compact). Personally I feel I'm more used to json configs, but I think it's good to offer gui alternative for those who prefer it.

@mprevot

This comment has been minimized.

mprevot commented May 27, 2018

How can I have the original settings editor by default (ctrl+.) ?

Feedback about the new one : less efficient and less informative IMO. It's harder to find the settings I want to change due to the less dense presentation. It's a bit like terminal vs UI: terminal is less "pretty and easy" but when we know the thing, it's way more efficient.

Anyway, the good thing would be to be able to choose between old and new. Maybe also to be able to change the density of settings on the screen (font size AND inter-setting padding).

@darkguy2008

This comment has been minimized.

darkguy2008 commented May 28, 2018

Totally disliked the new UI. Also, when clicking "Edit in settings.json" for Files: Exclude, it didn't do anything so I had to go back to the original editor.

Actually the original editor was way better. If you want to do something nice, replicate VS2017's settings menu, improve it a bit like Eclipse or Android Studio does, add the search functionality and for the love of God keep it compact. It's so HUGE. WTF MS?

Also, bad UX on the input fields at the right, your eyes have to travel back and forth between the setting name, documentation and the input value to see what option has been set. The input box is also small, like, ugh, it seems like this UI was done in a rush by someone unexperienced in UI/UX and just wanted a quick & dirty way of changing the settings... less efficiently than the original JSON+Search alternative.

@roblourens roblourens modified the milestones: May 2018, June 2018 May 30, 2018

@ahmadawais

This comment has been minimized.

ahmadawais commented May 31, 2018

I know it's under development but if I change a setting and then turn it back to the default value, the settings.json file still contains the default setting. That doesn't happen on reset. Is that intentional?

@nealot

This comment has been minimized.

nealot commented Aug 21, 2018

Would it be possible to add a tag for recently added/updated settings? Often, settings are added and the only way to be notified is to go through all the settings to check if something has changed. A better way to communicate recently introduced settings in the GUI would be very appreciated.

@borekb

This comment has been minimized.

borekb commented Aug 21, 2018

@nealot That is a really nice idea, and one where GUI starts to add value even for people who prefer JSON like me 😀.

@bigopon

This comment has been minimized.

bigopon commented Aug 21, 2018

@nealot @borekb shouldnt that also make sense in the form of a json ? search:recent for example

@rimoslav

This comment has been minimized.

rimoslav commented Aug 21, 2018

Edit in settings.json link is not working for me, I have to open User Settings json file manually

@roblourens

This comment has been minimized.

Member

roblourens commented Aug 21, 2018

@rimoslav can you open a new issue with some more details? It works for me. Make sure you're on the latest insiders.

re: "new" settings. We actually experimented with this last week, but ended up removing it.

@beastdestroyer

This comment has been minimized.

beastdestroyer commented Aug 21, 2018

@roblourens This has been happening for a while, but the ToC still has black outlines when clicked as visible in these screenshots:
image

This one, the whole container of ToC is selected, gives black outline

image

This one, (each) individual buttons still have black outlines

With the removal of these outlines in the Settings themselves, I'd have thought these been removed too.

Some other stuff too:

  • Application > Proxy > Proxy doesn't make sense, in my opinion, it should be something like Application > Proxy > Default Proxy since it's description is "The proxy setting to use", ie: the one you wish to default to.
  • Many settings (specifically ones that take in arrays as parameters) don't have the same functionality as the Files: Exclude setting, which shows a list of editable and removable excludes. You should be able to click a button (Maybe something like "Add value" rather than "Add pattern" since pattern doesn't apply to all) and then, like in the Excludes, modify and add. Maybe you're still experimenting with it and that I understand (have some more comments about these too), and I'm happy to help search for settings which take arrays and that you could modify?
    • Also, accessibility is still somewhat of a concern for me, this is especially true for people with problems seeing colour:
    • The hover on each item is barely noticeable (and probably even worse or none for more colour-deficient viewers)
    • Similarly when it's selected, just about noticeable.
    • It seems to me that colour palette is taken from somewhere such as the File Explorer, but that works since it has a dark background and is easier to see. You might have to lighten the colours a bit or change the background.
    • Could probably have a limit on max list items to view at once (since if you have a lot of values, you don't want to have to scroll more than you need to), and then a button that says "View more" which uncollapses the list and allows you to see, then collapse them back up. OR just have a scrollable container which doesn't change its height
  • The gear icon should have a hover effect, maybe a colour change like the gear in the bottom left
  • Organize "Extensions" into Language Extensions (since they are the ones by default, installed) and Marketplace Extensions to differentiate, possibly? (Although I understand it may add unnecessary nesting)
  • Blue links should also have underline
  • Here's a big one: for applicable settings (say ones which are visible in the editors for example), have a little gif that comes up when you hover over each option, to preview changes?
  • I've also noticed that as you scroll, the ToC also changes to see where you're at, Nice! But it only seems to change category once the WHOLE previous section is gone. I think this should be reduced to say 3/4 of the previous container's height for it to change, or maybe something smaller, but it shouldn't have to be completely off.
  • Please adapt scrolling when Smooth Scroll is on? I wish that for other GUI views too
    Thanks for your hard work on this! I basically don't even care that much which editor I use lol.

PS: Quick Question: What happened to Workspace Settings in JSON and GUI? Those being worked on or..?

@roblourens

This comment has been minimized.

Member

roblourens commented Aug 21, 2018

  • The outlines on TOC items are here to stay since you need to know where focus is
  • The setting key is http.proxy so that won't change, but I don't really understand the feedback. The setting is the proxy to use.
  • Yeah I would like to use the files.exclude control in other places too.
  • Colors are up to your theme, and the colors are the same as what's used in other lists. The keybindings editor already using those colors on the same background. Which theme is that?
  • Yes good point on the gear hover color. I filed an issue.
  • There are different types of extensions installed by default, but I don't want to put our extensions on a pedestal because they are just extensions at the end of the day
  • I think the links should have an underline just on hover, I filed #56928
  • A better way to preview settings' affects would be cool but will take some thought.
  • It just shows whichever section is at the top, but I don't know where the user is looking. If the top section is partly scrolled off, you can't see its section header, but you can see the section headers of the following sections. So I think highlighting the top one in the TOC is the most useful to orient yourself.

Thanks for all the feedback!

@beastdestroyer

This comment has been minimized.

beastdestroyer commented Aug 21, 2018

@roblourens

  • Alright fair enough
  • True, and I do get where it's coming from if you do leave it as Proxy, but just to clarify, I said Default Proxy (maybe add "to use" at the end?) because it's the one you want VSCode to automatically use when you do whatever, and to me that means it's the default one to go to and use, so I was thinking with that, it should be called Default Proxy instead
  • Would it help if I saved you time and just listed the settings for ya? I got loads of time to kill so I'd be happy to! I'll ignore all extensions (maybe file issues in their respective places but we'll see) except the default ones (the language ones)
  • Looks like I forgot the most important thing: research and yes it's theme specific, using One Dark Pro (specifically vivid but looks the same regardless), should I file an issue in their repo?
  • Fair enough, it just looks quite cluttered, especially mine, but at the end of the day they are easy to get to so yh
  • Ah I see what you mean

Just a few questions too:

  • I've noticed in extensions, some of them aren't named or cased properly to their actual extension name: eg instead of ESLint in the extensions panel, it's Eslint, (inside the settings themselves, not the titles) was it intentional? Or does it relate to the extension itself?
  • Many of my installed extensions say "configuration options" at the end, this sounds more intentional, but wouldn't people know it's the options considering they know they are in settings?
  • And the question that I didn't get an answer to: What happened to Workspace Settings in JSON and GUI?
  • Some extensions which display code like vetur don't have the monospaced font for the code parts, is this extension specific again?
@roblourens

This comment has been minimized.

Member

roblourens commented Aug 21, 2018

  • Thanks, but if I do anything else for string array settings it will probably be for all settings of some type, not a specific set. No plan to work on this in the near future anyway. And I have to solve issues with that control first.

  • You could file an issue on One Dark Pro, it looks like they are going for the extremely low contrast look anyway. I don't really understand that but 🤷‍♂️

  • The setting name format is not customizable by settings right now, need to work on that

  • Settings do control the title so that's up to them

  • I missed the end of your other post. Not sure what you mean by "what happened to them", they should still be there?

  • Yeah extensions need to adopt markdownDescription instead of description, and that will be up to them to switch over.

@beastdestroyer

This comment has been minimized.

beastdestroyer commented Aug 21, 2018

@roblourens

  • Previously the Workspace Settings menu was there next to User Settings, and you could click on it to switch to configuring the workspace. Now that option isn't there. I might be stupid and that option could have moved somewhere I can't see but that's my issue.

  • I'll file an issue/pull to One Dark Pro and see what they do. I won't file issues but I feel that the markdownDescription should be emphasized in docs (if it isn't already) and in changelog. Possibly a way to communicate these changes to developers

  • And coolio, thanks for considering my 2 cents!

EDIT: Feel free to call me out to hunt down those settings for pattern co trol when to you need it!

@roblourens

This comment has been minimized.

Member

roblourens commented Aug 21, 2018

  • Is it possible that you just don't have a folder open? Nothing should have changed there
  • I only made the markdownDescription change a week ago, it will be in the 1.27 changelog.
@beastdestroyer

This comment has been minimized.

beastdestroyer commented Aug 21, 2018

And I was being stupid and you're right. I retract all statements related to that, oops~
Can't wait!

@marchboy

This comment has been minimized.

marchboy commented Aug 23, 2018

I don't prefer the new settings editor, a little , I don't think it's a flexible way~~

@sguillia

This comment has been minimized.

sguillia commented Aug 23, 2018

The Search settings field is buggy.

It is not possible to select all or part of the text we entered.

I can provide a screen recording of the problem if required

@beastdestroyer

This comment has been minimized.

beastdestroyer commented Aug 24, 2018

Hey @roblourens, I am going to work a bit on theming the GUI for One Dark Pro, but in the docs, I can't seem to find a settings. background option, does this exist? Or should I change the colours on hover and. on active for the Pattern option?

@roblourens

This comment has been minimized.

Member

roblourens commented Aug 24, 2018

@sguillia please open another issue, I don't see an issue with selecting text.

@beastdestroyer The background of the settings page isn't customizable right now, and the colors for the pattern rows should be the same as for other lists.

@nealot

This comment has been minimized.

nealot commented Aug 28, 2018

@roblourens What was the reason for removing the "new" settings?

@roblourens

This comment has been minimized.

Member

roblourens commented Aug 28, 2018

Just that the release notes are the right place for that, not the product itself.

@roblourens

This comment has been minimized.

Member

roblourens commented Aug 29, 2018

I will close this, since the new settings editor will be the default settings experience in 1.27 🎉

@Yatosan

This comment has been minimized.

Yatosan commented Sep 8, 2018

'files.trimTrailingWhitespace' is not working now.
image
image

Version: Code 1.27.1 (5944e81, 2018-09-06T09:14:32.385Z)
OS Version: Darwin x64 17.5.0
CPUs: Intel(R) Core(TM) i7-7660U CPU @ 2.50GHz (4 x 2500)
Memory (System): 16.00GB (4.54GB free)

@lonix1

This comment has been minimized.

lonix1 commented Sep 16, 2018

A big problem with the new UI editor is we cannot save comments together with our custom settings.

Our team has lots of custom config, and uses many extensions, and because it gets complicated (what is the impact of this option? what will happen if I turn it off?) we put comments with the settings.

Now that isn't possible. So we still use the json-based editor, but that is no longer supported. 😢

(The new editor is really nice, but we need to be able to save comments with individual options. It is not yet complete. Think of every important config file - they all allow comments with the config, for good reason.)

@TomasHubelbauer

This comment has been minimized.

Contributor

TomasHubelbauer commented Sep 16, 2018

The JSON editor experience sure is well hidden considering that this was not (as I understood it) supposed to replace it, but to accompany it.

@lonix1

This comment has been minimized.

lonix1 commented Sep 16, 2018

@TomasHubelbauer I'm not sure what you mean, because we are on the latest bits, but both editors are still available? You can get to the json editor via ctrl-shift-p and then "Preferences: Open settings (JSON)". Also there is a setting to keep the old editor as default: "workbench.settings.editor": "json" (which is what we use, to prevent the new UI from overwriting our settings)

@TomasHubelbauer

This comment has been minimized.

Contributor

TomasHubelbauer commented Sep 16, 2018

They are both there but to get to the JSON one, you need to know the shortcut, set the setting for it or find it under the triple dot menu in the GUI editor.

I would like there to be a more direct path to it. Perhaps File > Preferences > Settings (JSON) alongside File > Preferences > Settings (GUI) - so that both menu entries are equivalent and show the shortcut on the right side of the items.

Otherwise the discoverability just sucks, and in a few iterations, new VS Code users will not even be aware there is an option to use the JSON editor over the GUI editor, even though for potentially many of them (VS Code is still used mainly by developers I think), it would have been a superior way to edit settings had they had a chance to discover it.

@gccmbr

This comment has been minimized.

gccmbr commented Sep 18, 2018

I learned more about VS Code and how to customize it with my workspace/user environments by exploring and learning how to work with the JSON settings.

Hiding or defaulting away from the JSON editor only to replace it with a snowflake GUI editor harms new users versus helping them in the long run.

@peon501

This comment has been minimized.

peon501 commented Sep 18, 2018

is this normal size?
Ubuntu 18.4
Editor ver:
August 2018 (version 1.27), update 1.27.2
screenshot from 2018-09-18 18-08-25

@vscodebot vscodebot bot locked and limited conversation to collaborators Oct 13, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.