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

Settings UI Always Scrolls Automatically While Check or Uncheck an Option #68385

Closed
byyxx128 opened this issue Feb 11, 2019 · 8 comments · Fixed by #71292
Closed

Settings UI Always Scrolls Automatically While Check or Uncheck an Option #68385

byyxx128 opened this issue Feb 11, 2019 · 8 comments · Fixed by #71292
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug settings-editor VS Code settings editor issues tree-widget Tree widget issues verified Verification succeeded
Milestone

Comments

@byyxx128
Copy link

byyxx128 commented Feb 11, 2019

See the GIF directly.

bug

As shown above, the settings UI always scrolls automatically, so I cannot find the modification because it went away. Marking or deselecting any item may cause this issue.

  • VS Code version: Code 1.31.0 (7c66f58, 2019-02-05T22:35:56.624Z)
    OS version: Windows_NT x64 10.0.18334
@chpxu
Copy link

chpxu commented Feb 11, 2019

Annoyed me so much. Note that it happens with dropdowns and selecting an item, and occasionally by inputting textbox and clicking to defocus it.

@sethmnielsen
Copy link

Having this exact problem as well. I just installed VS code and am having this problem while giving it a trial run. Sigh....

@roblourens roblourens added bug Issue identified by VS Code Team member as probable bug settings-editor VS Code settings editor issues labels Feb 17, 2019
@roblourens roblourens added this to the February 2019 milestone Feb 17, 2019
@roblourens
Copy link
Member

Maybe related to #65319

@roblourens roblourens removed this from the February 2019 milestone Feb 24, 2019
roblourens added a commit that referenced this issue Feb 24, 2019
@roblourens
Copy link
Member

This isn't what I thought it was, I have to assign to you @joaomoreno.

I think the ListView renders the setting items with their default heights, then rerenders and saves the offset of the anchor element. Then it fixes the heights of the elements and maintains the offset of the anchor element. But since it measured the anchor element when the elements had default heights, the list will be shifted if the real heights were different from the default heights. Maybe an anchor element should be measured before rendering the items with default heights or something like that. I made the default heights more accurate which helps.

@joaomoreno
Copy link
Member

@roblourens Why is the list re-rendered when a check box is clicked?

I made the default heights more accurate which helps.

👍

@joaomoreno joaomoreno modified the milestones: Backlog, March 2019 Feb 25, 2019
@roblourens
Copy link
Member

roblourens commented Feb 25, 2019

When the config service says something changed, we rerender everything. It seems unnecessary in this case but it's hard to tell that the change event came "from" this instance of the settings editor and also, some values can be normalized when they get back to us, and since it should be safe to rerender, I don't put a lot of effort into reducing unneeded renders.

Another way to repro this, open two settings editors in two groups, change a setting in Group 1, and see the editor in Group 2 scroll.

If this just can't really be fixed there are things I can do like updating the value of a rendered setting row without actually calling setChildren. But that only works for some settings, adds more complexity, etc.

@joaomoreno
Copy link
Member

It can definitely be fixed. I was just wondering why the rerender was needed. ;)

@joaomoreno
Copy link
Member

cc @isidorn

@joaomoreno joaomoreno added the tree-widget Tree widget issues label Mar 13, 2019
@joaomoreno joaomoreno modified the milestones: March 2019, April 2019 Mar 27, 2019
joaomoreno added a commit that referenced this issue Mar 27, 2019
@roblourens roblourens modified the milestones: April 2019, March 2019 Mar 27, 2019
@jrieken jrieken added the verified Verification succeeded label Mar 28, 2019
@vscodebot vscodebot bot locked and limited conversation to collaborators May 11, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug settings-editor VS Code settings editor issues tree-widget Tree widget issues verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants