This is a reboot of https://github.com/Microsoft/vscode/issues/62964
My proposed future for editing settings as JSON is this:
"workbench.settings.editor": "json"
(as currently)Also, we currently already have a setting workbench.settings.openDefaultSettings
which allows exactly the behavior described above. That setting will now be false
by default, and if the user sets it to true, then vscode will open two editor groups showing the default settings list and the settings.json to the side. This matches what we do already for editing keyboard shortcuts as json and allows users to browse and use editor find in the default settings list, if that's what they prefer.
Important note: Editing settings as JSON is a core part of vscode and it will never go away. But this change lets us streamline the user experience and focus on maintaining two settings UX's instead of three. ๐ ๐ โ๏ธ
I would like for the search and pencil elements to stay. I understand this is probably not going to happen, but if this is up to any sort of a vote, I am voting stay.
I always liked the two panel JSON editor.
But while I am here: I would like the ability to toggle between the GUI & JSON placed back at the top of the GUI menu. We are coders. The new dumbed down GUI is utterly confusing to me, most of the time.
I shouldn't haver to wade through a morass of GUI tick boxes to find the JSON UI setting, just because I flipped to the GUI for a moment. && Why are the comments more dominant than the settings in the GUI? Or perhaps that's another issue?
Okay. I have just seen this:
Suggestion: Move "Open Settings (JSON)" button to lower gutter #63806
@roblourens : It seems that you have closed the above issue. Comments were made that people might find that moving the JSON toggle to the { } icon might be confusing. Yes, it was confusing.
Can I suggest that maybe the GUI help line that reads "Determines which settings editor to use by default." should have something added like:
( JSON may also be toggled at the top right using the { } icon )
Bests.
Has the search bar already been removed in today's Insiders release?
This is a simple text search operation, it no longer uses natural search language even though workbench.settings.enableNaturalLanguageSearch
is true
(default).
If this is a bug then no problem, I understand it can happen with the Insiders build, if it is a conscious choice then I think it really worsen this view's usability. I search for settings with generic terms when I am not sure what I am looking for and natural language was very good at that, the basic text search can be really frustrating instead.
Version: 1.31.0-insider (user setup)
Commit: 7ab53e6d1c7998006bc70f18230178a702598222
Date: 2018-12-13T06:20:30.449Z
Electron: 3.0.10
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17763
Why are the comments more dominant than the settings in the GUI? Or perhaps that's another issue?
Not sure what you are referring to here.
Re: moving the button to open settings. I know there will be a bit of pain at first but I think it's better in the long run. Sorry for disturbing everyone's workflow. I also have separate keybindings for the settings UI vs settings JSON which makes it very easy to switch back and forth.
Has the search bar already been removed in today's Insiders release?
Yes. The natural language search still exists in the UI.
Has the search bar already been removed in today's Insiders release?
Yes. The natural language search still exists in the UI.
Uhm... then the json settings for _power users_ is not so powerful anymore... I well remember how cumbersome it was to search for settings without Natural Language support in the json file, it's been a great relief when it was introduced at the beginning of the year (https://code.visualstudio.com/updates/v1_20#_settings-search), now this looks like is going backwards...
So if we need Natural Language we are supposed to flip back and forth between the UI and the json settings? That seems to defeat the purposed of setting json as the default setting editor if one wants to...
The pain. Switching to Stable ๐. Hoping that common sense and downvotes will save the day.
@roblourens
_Why_ are you regressing the JSON settings view?
You specifically mentioned yourself that you need a better understanding of who is using the JSON editor. It feels like we are not being heard with our many outcries to not change the JSON editor. The answers we have gotten is that we can still use the JSON editor. This issue is not about that, it is that you are aiming to make it worse.
The only reason for the change seems to be that it would mean less code to maintain. Usability for every power user out there should far trump that reason. You are building VS Code for the users and the users seems displeased with the direction this is taking.
It feels like any critique thrown at this is just side-stepped. We feel unheard. Look at the previous issues and the up/down votes on comments and it becomes obvious what the right decision is here.
@usernamehw can you expand on your pain points? I don't see you in this or the last thread, sorry if I missed it.
@thernstig I hear you, and I'm taking this seriously.
The JSON UI features were developed mainly with new users in mind. Now that the settings UI exists, they feel largely redundant. We are a small team and maintaining a complex settings JSON editor is not free. In my mind, a "power user" is someone who prefers to operate without the "hand holding" features that we've added to the settings editor, and most (but not all) people I've talked to using the JSON editor are only using it as a JSON file and aren't using the extra features.
That said, the JSON editor has been around for quite awhile and for better or worse, some number of people have adopted it as a core part of their workflow, and I understand that removing a very visible feature will certainly cause some amount of pain. In any case, I consider this issue still open.
Power users still need to easily search and find for settings though, that is my main complaint.
I am ok with changing my default to the json editor rather than the UI, I am also ok not having the pencil tool but even power users need two things: good search (you have to find what you are looking for in a huge json file, especially if you _do not know in advance_ the setting name) and autocompletion.
Intellisense still works but missing the improved search is a real pain: it is already gone from the Insiders build, meaning at some point is will be gone from Stable as well.
Never did quite get the need for the 'pencil tool'. It nearly always seemed to get in the way, to me.
Why are the comments more dominant than the settings in the GUI? Or perhaps that's another issue?
Not sure what you are referring to here
TL; DR ... The GUI needs compacting. Far too much scrolling up and down to find what you need.
The options should be grouped tightly and labelled only. The paragraphs of explanation should be in mouse-overs or pop-ups.
The code editor theming, for the JSON interface, greys out or dulls down comments. The GUI theming uses the comments as key elements. It's the wrong way round. Far too long winded.
Can we clarify 'UI' please. The text based UI (user interface) is a UI. The graphical UI, with the tick boxes is a GUI.
One of the problems Microsoft always had, and one of the reasons they lost so many developers, including me, was that you could never easily 'pop the hood' and fix things. Everything was so hidden behind layers and layers of dumbing down and corporate gloss.
I hope VS Code isn't going to go this way. I was just been starting to feel a bit more optimistic about Redmond during the last year or so. I even coded some 'power shell' a few months ago. But then the 18.09 update fiasco and now this ....
@roblourens please do not remove the search. The search is great even for power users. It's very good! Being able to search for e.g. an extensions settings, let's say gitlens
I can search and quickly get all settings I've set + the ones I can set, filtering out the rest. This is amazing! Please let us keep that ๐
The old search is very good for exploring what settings are available. I type font
as a new user, I see a bunch of font
related settings, each one having a highlight on why it matches my query.
The UI might be easier for beginners. Maybe some people will like it. But I don't like the buttons, boxes, various typefaces, my query not highlighted, inefficiency in changing complex settings such as files.associations
, etc. I like the magical search and I like working with text files. Finding/editing settings was a direct, simple, straightforward experience in the Split JSON editor.
The plain editor search does not suffice as a replacement.
font
and having to press Enter multiple times to go to the next/prev match (description contains the keyword too). Imagine that you are good at writing HTML and someday your boss forces you to use some shiny GUI website builder. That's how it feels to me.
Of course after you kill the search bar, people will be less likely to use the old Split JSON editor. One day the user count would be low enough to kill it. I have been using Code since 1.10 and this is the first time I feel I don't want to upgrade.
While I don't feel super strongly about the search (mainly since while it is useful I use it very infrequently), I do find it useful (and will miss it to some extent). As for the pencils -- I won't miss them at all.
Is there another tack that can be taken here? I'm guessing that the search accounts for more of the complexity than the pencils, and search is only available in this narrow use-case which I can fully understand that its usefulness doesn't outweigh its cost. But is there a way to expand its usefulness more broadly? Like could there be a feature that provides a fuzzy search/filtering for _any_ json file? Because I have found myself wishing at times that the ability existed.
Also I don't know if the complexity of a split view is part of the cost or not, but I really would like to see that become an option extensions could use. As it avoid issues with tab management (maybe even provide synchronized scrolling -- think markdown preview), etc.
Thoughts?
But is there a way to expand its usefulness more broadly? Like could there be a feature that provides a fuzzy search/filtering for any json file?
That's something I suggested too. @jrieken Did the filtering for Outline tree, and I very much want that it also filter down the real text in the 8k lines vscode.d.ts
.
Serious questions, why dont you invest time into something that people want to be featured in vscode instead of removing something that is fine by everyone?
Semantic syntax highlighting? Sort issues by upvotes when looking for things to add/fix, not by downvotes.
Serious questions, why dont you invest time into something that people want to be featured in vscode instead of removing something that is fine by everyone?
Semantic syntax highlighting? Sort issues by upvotes when looking for things to add/fix, not by downvotes.
I agree. The new settings UI looks nice, but not necessary. You edit settings probably a few times when you first install VSCode, then you save a copy of settings.json and be done with it - until you discover a new extension that may require some initial configuration. Investing so much time in the settings editor doesn't seem to have high ROI.
One more downside:
Cmd + ,
, and I can see if the settings come from a folder setting or user setting.vscode/settings.json
againNot sure whether this would work well or not but it would be interesting to see whether it's possible to make an extension that could provide a "line filtering" type search experience. Like get a search query from a quick input, then open a new editor with a filtered view on the JSON file.
@octref For switching between settings files you can use the commands, find them in quick open, in the explorer, etc.
Thanks for everyone who has weighed in. I won't remove the split JSON editor in the near future. It will be behind a setting for now because I still believe that most users may not even notice the difference. But if you prefer it, you'll still be able to use it. There it is... Now don't say that I never listen to users ๐
@roblourens Does this mean the natural search bar will still be there? ๐
It does! I've called the setting workbench.settings.useSplitJSON
. If you set that to true, then this should work the same as it did before.
Excellent, thanks a lot! ๐
Defaulting to the GUI makes sense, if I want more power/flexibility is my choice so I can change my default behavior (as long as all the power and flexibility are still there ๐)
My main takeaway is that you all generally really like the way the search bar works in the JSON split editor. Also the scope switching but I don't think it came up before @octref mentioned it.
Question, is there any improvement that we can make to the way intellisense works, so that it would work just as well for you?
I think the gaps are
Or is the main benefit of search the ability to read all the results and descriptions in an editor with minimal scrolling?
I guess what I'm asking is,
To be clear, I'm talking about this:
Not sure how I forgot about the scope switching -- as I definitely do use that and would not want to lose it.
As for search I'm not sure intellisense alone can really fill the gaps -- since in addition to your gaps, the search is both persistent and glance/scan-able. So if I want to see the settings for gitlens
, I can search and then read through the results (with all the comments visible) and add overrides to 1 or more settings without having to re-search.
I'm not sure what you are trying to solve... Is there any numbers how much this split takes space? 2Kb? More? I haven't seen any new features to it in about ~5 months, so it shouldn't take that much time either...
If you desperately want to nuke some code from the core - delete Interactive Playground
.
But, yes. Having fuzzy matching on any document is a very desired feature.
It doesn't list settings that are already configured
This is probably a matter of personal preference but I like the current behavior: if the setting does not show up in the list is because is already added and I can't (or shouldn't) add it to my personal setting a second time (you would get the green squiggly with an error message anyway).
It isn't as fuzzy as the search bar, and doesn't include Bing search
Fuzzy search would be useful, even in a broader context if possible (fuzzy search everywhere?).
What would be the benefit of having a Bing search in this context?
Or is the main benefit of search the ability to read all the results and descriptions in an editor with minimal scrolling?
This is probably my main reason to use the search in Settings, the ability to _zoom in and out_ on the setting you are looking for but also getting context on other settings available in the area I am customizing. Very useful.
Or is the main benefit of search the ability to read all the results and descriptions in an editor with minimal scrolling?
Also that I can see what each setting value does without having to commit to writing that setting to my config yet.
Also the search bar makes the Split JSON editor very usable to even new users. I think staying with plain file configs and enhancing it with the intelligent search makes the setting experience very welcoming to Vim/Emacs users.
My main benefit is what others also said I think. The ability for the search to _filter out_ all undesirable results. Search for gitlens
and see all gitlens related code you can set. And what I have already set gets highlighted. I can also easily read all descriptions for the settings without any more keystrokes.
IntelliSense does not provide this functionality in the same way. It is somewhat the same argument you said yourself before that changing the location of where you switch from GUI -> JSON to a one-click instead of a two-click was desirable. Doing on search by a few keystrokes gives you a great overview over all settings. IntelliSense does not do that in the same way.
Just like to say I am feeling a lot happier about things today.
Maybe I am just getting used to the changes or maybe it's something to do with the
// Fetches experiments to run from a Microsoft online service.
"workbench.enableExperiments": true,
which I didn't know was enabled till I noticed it in the GUI today.
Is it me, or is the UI changing while I am not looking? Who knows. I am sure that when 1.30.1 arrived as an update that I had to do a full IDE restart to switch the settings view. This morning I noticed that I could do a toggle at the top right and that it will go in either direction.
Yay, an hour lost trying to get rid of the UI.
```
"workbench.settings.useSplitJSON": true,
"workbench.settings.editor": "json",
Yay, an hour lost trying to get rid of the UI.
"workbench.settings.useSplitJSON": true, "workbench.settings.editor": "json",
Same here, the splitJson is the best settings UI ever and part of my reasons to move to vscode, now it is really hard to find it, and will be probably harder to find how to in the future until it disapears.
Most helpful comment
I would like for the search and pencil elements to stay. I understand this is probably not going to happen, but if this is up to any sort of a vote, I am voting stay.