Skip to content

Settings editor UI is slow to update and sometimes renders out of date values #55803

Closed
@roblourens

Description

@roblourens

When changing settings, we debounce edits, then rerender the whole tree when the edit actually happens, really just to get the "Modified" label to show up. We try to maintain focus on the control because the user may still be editing it.

This leads to a couple problems which aren't blocking anyone right now, but it isn't quite right.

  • If you edit a setting then quickly select a different setting, it will render the old value until the configuration service comes back with the new value. This will usually be quick but could be slow if saving settings.json is slow
  • When refreshing the list while the user is typing, the cursor position may not be restored correctly. e.g. with (decreasing the debounce to make it easier to repro):
    aug-03-2018 17-49-40

We need to

  • Not render the setting row that the user is currently editing, but show the "Modified" label when they start changing the value
    • The tree only lets us rerender a row from scratch, so we probably have to resort to hacks for this
  • Keep a local copy of the configuration that reflects the latest edits and resolves them with the slightly out of date config service
    • If user sends edit A and B, then config service notifies us that edit A happened, we need to know not to render the out of date edit A

Metadata

Metadata

Assignees

Labels

feature-requestRequest for new features or functionalitysettings-editorVS Code settings editor issuesverification-neededVerification of issue is requestedverifiedVerification succeeded

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions