To me, this combines the best parts of being a text file --- standard commands, formatting the way you like it, you can search it, version controllable --- with the best parts of a GUI --- prompting as to what options are available, easy selection of alternates, documentation, etc. It's an amazingly good implementation and I wish more applications used it.
(e.g. the comment for editor.lineNumbers now tells me that valid options are 'on', 'off' and 'relative', which counts relative to the line the cursor is on.)
The settings files now have intellisense in them so you don't have to lookup each option.
You can also have a separate settings.json file for that project and check it into git inside the .vscode folder and make those same settings available to your entire team.
We use that in every project and it is great.
Much more time is wasted by looking for options in GUI equivalent and reproducibility, sharing, backup and comparing (diff) are way harder or nonexistent. Creating frontend for it is trivial, but honestly, why drop from horse to donkey as they say.
All the apps should have settings like that.
Some might say having both manual configuration and automated dialog would be better, but many such interfaces ruin the structures of my intentionally organized setting files. I will take no GUI than misbehaving GUI at any time.
It also allows you to override certain settings per project/directory, which can then easily be included in git (like files to exclude from the file view for a specific project, path/tool settings, indentation settings, ...)
I just find that if I have to go through a LOT more steps without a UI.
Otherwise, this quickly turns to nonsence such as Nano server image builder [1] because Microsoft is still babysitting people who CBB to spend few hours to learn Powershell basics and need a GUI that generate 1 liner script.
Microsoft should definitelly rise beyond click next culture.
[1] https://blogs.technet.microsoft.com/nanoserver/2016/10/15/in...
The comments tell you in detail how each setting works (as you can see, they are even translated), you can search for a specific setting on the top, and it's categorized as well; defaults on the left, your own on the right.
We had the "ease of use" in GUI paradigm for decades and it didn't hold. Why don't you give it a chance as a text ?
Combined with the VIM plugin and I rarely need to touch the mouse.
Custom bindings don't work on the default document. That's a pretty big failure right out of the box.
And I still prefer vimL to lisp, it's the php of editor extension languages. It's not great for big plugins but ok great to slap things together quickly.
I use VS Code in three locations in three different OS and I love how it works the same everywhere because I just have text files.
Looking at it just now, I also see that they added categories, and little edit buttons when you hover over a setting which allow you to click on what option you want. It's a bit strange to me that they're slowly turning a config file into a settings interface, but I guess it works fine for a Developer-focused product.
Maybe you've taken a look at it a while ago. It's still a big json file (great! everything at hand) but very easy to edit since it provides a lot of assistance: there's icons to set a new option, references for everything, and intellisense/autocompletion for the schema of every option you want to change. It'll even show invalid options with a squiggle (e.g. when some setting becomes deprecated).
IMO it's the best way to have settings in an app, especially when you can install extensions that adds settings of their own or when you want settings to be version-controllable.
So yeah, json or (preferably) any other markup for settings is fine so long as it hints me with possible values as I type, tooltips each variable with its meaning and so on.
VSCode does this and more. See sibling comments.
There are now categories in the settings file, a search bar and auto-completion, which should make discovery easier.
> The same apply for using langages extensions beyond syntax coloring.
Do you mean to say that extensions at https://marketplace.visualstudio.com/VSCode are hard for you to discover or that too much of your required functionality is in extensions?
> Even Intellisense does not works as expected out of the box so I don't use it.
If you have found a bug, it would be great to report it at https://github.com/Microsoft/vscode/issues