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

Identify design inconsistencies with UI + JSON expriences #84309

Closed
4 tasks done
miguelsolorio opened this issue Nov 8, 2019 · 15 comments
Closed
4 tasks done

Identify design inconsistencies with UI + JSON expriences #84309

miguelsolorio opened this issue Nov 8, 2019 · 15 comments
Assignees
Labels
debt Code quality issues ux User experience issues
Milestone

Comments

@miguelsolorio
Copy link
Contributor

miguelsolorio commented Nov 8, 2019

Overview

This issues is to cover the various experiences where we have a rich editing experiences (UI) and a text based configuration (JSON). Some of these experiences have overlap while others have gaps that we'd like to be covered. Below is a list of areas where we have these experience with a list of features that are either missing or need better coverage.

  • Settings
  • Keybindings
  • Snippets
  • Extensions

Settings

UI

  • Objects
    • files.associations
    • emmet.includeLanguages
    • editor.codeActionsOnSave
    • editor.quickSuggestions
    • editor.tokenColorCustomizationsExperimental
    • terminal.integrated.env.linux
    • terminal.integrated.env.osx
    • terminal.integrated.env.windows
    • remote.extensionKind
    • sync.ignoredSettings
    • emmet.syntaxProfiles
    • emmet.variables
  • Nested Objects
    • editor.tokenColorCustomizations
    • workbench.colorCustomizations
    • workbench.experimental.editorAssociations
    • launch
    • extensions.confirmedUriHandlerExtensionIds
    • workbench.experimental.editorAssociations
    • remote.extensionKind
  • Arrays
    • editor.rulers
  • Boolean or Strings
    • editor.fontLigatures
  • Inputs
    • terminal.integrated.automationShell.linux
    • terminal.integrated.automationShell.osx
    • terminal.integrated.automationShell.windows
  • Deprecated settings

image

JSON

image

Keybindings

UI

  • IntelliSense for when clause
  • Sorting columns
  • Reset keys recorder

image

JSON

image

Snippets

UI

  • Configuring snippets

image

JSON

  • Central management of all snippets

image

Extensions

UI

  • Bulk install/uninstall

image

CLI

code --install-extension ms-azuretools.vscode-azurefunctions

JSON

  • No experience

devcontainers.json is a configuration file for our remote containers, and in that configuration file you can specify extensions via:

{
    "extensions": [
        "ms-azuretools.vscode-azurefunctions",
        "ms-vscode.csharp"
    ]
}

We should look at adopting a similar patter for user extensions, in the same way that you can edit user settings via JSON.

@miguelsolorio miguelsolorio added debt Code quality issues ux User experience issues labels Nov 8, 2019
@miguelsolorio miguelsolorio added this to the November 2019 milestone Nov 8, 2019
@miguelsolorio miguelsolorio self-assigned this Nov 8, 2019
@NotWearingPants
Copy link
Contributor

Don't forget extension settings, such as an array of dictionary words in a spell checker extension

@miguelsolorio
Copy link
Contributor Author

@NotWearingPants I don't think extension experiences will be part of this scope as we don't control their UI.

@miguelsolorio miguelsolorio changed the title Identify design inconsitencies with UI + JSON expriences Identify design inconsistencies with UI + JSON expriences Nov 10, 2019
@miguelsolorio miguelsolorio mentioned this issue Dec 9, 2019
33 tasks
@chpxu
Copy link

chpxu commented Jan 12, 2020

I am not sure but when inputting settimgs via UI, I notice that they aren't sorted (ie, not all the files.* are together),
Is it possible to have them auto-sorted into their respective categories, as I thinl that would be very beneficial, if it isn't implemented already

@gulshan
Copy link

gulshan commented Jan 19, 2020

I mostly use JSON settings editor. One thing I always want to know is- what is the default value of this settings. It was possible in he side-by-side UI.

@miguelsolorio
Copy link
Contributor Author

@gulshan you can still see the default value from intellisense:

image

@gulshan
Copy link

gulshan commented Feb 4, 2020

I think this is a new feature. Not getting it, in the 1.41.1 stable version, unless it is part of documentation tooltip. Also, this info should be shown in the line edit button.

@Gama11
Copy link
Contributor

Gama11 commented Feb 4, 2020

@gulshan I'm getting it in 1.41.1.

Note that that "detail" string of a completion item is only shown when it's selected, so if the default of a boolean setting is true (like with outline.showVariables for instance), you'd have to press "down" once to see it:

@gulshan
Copy link

gulshan commented Feb 4, 2020

I see this-

code_settings
You got the tip inlined somehow.

@Gama11
Copy link
Contributor

Gama11 commented Feb 4, 2020

You can toggle between those two display modes with Ctrl+Space.

@gulshan
Copy link

gulshan commented Feb 4, 2020

The default values will be more useful for open value settings involving numbers, strings and arrays. What I feel important in this regard is, a clear way to view the default value of a setting, in both json and visual editor.

@regs01
Copy link

regs01 commented Feb 13, 2020

workbench.settings.useSplitJSON should be true by default. It's far easier to look default and explore settings when you see options. And it's easier to switch off than to switch on.

@usernamehw
Copy link
Contributor

Settings UI are not showing deprecated settings. When you mark a setting with deprecationMessage - the message is visible in settings.json, but UI simply ignores those settings.

@miguelsolorio
Copy link
Contributor Author

@usernamehw what is your expectation for what you'd want to see from the UI side? Something like below?

image

@miguelsolorio
Copy link
Contributor Author

Closing this issue as it has identified the areas/gaps between our UI and JSON experiences. Feel free to keep commenting on this issue if there are other items that come up that were missed.

@usernamehw
Copy link
Contributor

@usernamehw what is your expectation for what you'd want to see from the UI side? Something like below?

image

@misolori Yes, the purpose of deprecationMessage is so that people would read it.

@github-actions github-actions bot locked and limited conversation to collaborators Apr 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
debt Code quality issues ux User experience issues
Projects
None yet
Development

No branches or pull requests

7 participants