Skip to content

Title: Explorer tree view cuts off with deeply nested folders - transform CSS conflict #71

@hemisfear666-dot

Description

@hemisfear666-dot

Description:

When using CSS transforms on Explorer tree elements (.explorer-viewlet, .explorer-folders-view), the file tree cuts off/renders incompletely when folders have many deeply nested files (e.g., vendor/, node_modules/, flarum/).

This appears to be a conflict between the extension's CSS injection and VS Code's virtual scrolling mechanism for large file trees.

Environment:

VS Code Version: 1.97+ (also affects newer versions)
Extension Version: Latest
OS: Windows 11 (likely affects all platforms)
Reproducible: Always with deeply nested folders

Steps to Reproduce

  1. Install Composer dependencies (creates vendor/ with deep nesting)
  2. Apply Custom UI Style with Explorer transforms (see CSS below)
  3. Open Explorer sidebar
  4. Expand vendor/ folder (or any deeply nested folder)

Observe: File tree cuts off prematurely, cannot scroll to see all files

Problematic CSS

The following transform properties cause the issue:

.explorer-viewlet .split-view-container {
    transform: translateY(-22px);
}

.explorer-folders-view .monaco-list-rows {
    transform: translate3d(0px, 0px, 0px) scaleY(1.15);
    transform-origin: top left;
}

.explorer-folders-view .monaco-tl-row {
    transform: scaleY(0.87);
    transform-origin: top left;
}

Root Cause:

VS Code uses virtual scrolling for the Explorer tree. CSS transforms on .monaco-list-rows or .monaco-tl-row interfere with the editor's calculation of visible row ranges, causing it to think fewer items exist than actually do.

Workaround:

Remove transforms from Explorer tree elements. Safe to use on other UI components (titlebar, statusbar, tabs, etc.).

Styling that does NOT cause the issue:

.part.sidebar { border-radius: 24px; }
.part.sidebar .monaco-list-row { border-radius: 6px; }
.part.sidebar .monaco-list-row:hover { background: ...; }

Suggested Fix:

Consider adding a warning in documentation or detecting when users apply transforms to .monaco-list-rows or .explorer-folders-view and warn about potential Explorer rendering issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions