-
Notifications
You must be signed in to change notification settings - Fork 34.8k
Closed
Labels
Milestone
Description
Refs: #161207
- Windows: @Tyriar
- anyOS @lszomoru
- anyOS @andreamah
Complexity: 4
We added sticky scroll to all trees in vscode.
Try out sticky scroll on at least 3 different trees, one of them being contributed by an extension.
Examples: File Explorer, Outline View, Search View, SCM change files, Problems view, Debug panel, Testing View, Settings editor, GitHub PR extension, ...
Settings:
workbench.tree.enableStickyScroll
: Enables/Disables sticky scroll for all trees (currently enabled by default)workbench.tree.stickyScrollMaxItemCount
: Maximum number of items in the sticky scroll widget
We make sure that the sticky scroll widget never fills more than 40% of the tree view. Try resizing the height of the view to test this.
Sticky Scroll Behaviour:
- When pressing on a sticky scroll node, the tree reveals the real node under the the mouse cursor.
- When pressing on a sticky scroll twisty, the tree collapses and reveals the real node under the the mouse cursor (It is not guaranteed that the real node can be revealed under the cursor as there might not be enough tree items after that node to scroll it in place).
- When pressing on a sticky scroll action item, the action runs and the tree does not reveal the node (except if the action itself causes this to happen)
- When right clicking a sticky scroll node, the context menu of that node appears.
Other Behaviour:
- When using the arrow keys to navigate the trees the focused tree item can not be hidden behind the widget. (Same as when navigating the tree without sticky scroll, the focused item is always visible when using arrow keys
StickyScrollDemo.mp4
xzbdmw