Files pane UX: tree + tabs + go to file (VS Code model) #37

Closed
opened 2026-10-08 01:31:25 -04:00 by jared · 0 comments
Owner

User feedback, 2026-10-08: "the file explorer seems to work and stuff but it is not the best user experience".

Walkthrough on the devdesk repo at 1440×900 showed:

  • Opening a file replaces the list; every other file is back → find → click (each a 200–700 ms round trip).
  • No tree: folders drill down and replace the view; no expand/collapse, no sense of place.
  • No tabs: flipping between two files means navigating each time.
  • No go to file by name.
  • Looks like a text dump: no file-type icons, node_modules/build/dist as prominent as source, changes only as a small letter.

Rework (VS Code model):

  • Pane = explorer column (tree, resizable, collapsible) + editor area with tabs; on narrow panes/phones the explorer becomes a slide-over.
  • Tree: inline expand/collapse, keyboard (↑↓←→ Enter), reveal the open file, git colours on names (modified/new/deleted), Claude badge, change dots on folders, gitignored entries dimmed, file-type icons.
  • Listings cached and revalidated in the background; open tabs keep their content, so switching is instant.
  • Go to file (Ctrl+P inside the pane, ⌕ button, palette): fuzzy search over git ls-files (or a capped find).
  • Explorer / Changes as two views of the left column; diffs open as tabs.
  • Per-session memory: expanded folders, open tabs, active tab, widths.
  • Empty state with recent files and the change count.
_User feedback, 2026-10-08: "the file explorer seems to work and stuff but it is not the best user experience"._ Walkthrough on the devdesk repo at 1440×900 showed: - Opening a file **replaces the list**; every other file is back → find → click (each a 200–700 ms round trip). - No **tree**: folders drill down and replace the view; no expand/collapse, no sense of place. - No **tabs**: flipping between two files means navigating each time. - No **go to file** by name. - Looks like a text dump: no file-type icons, `node_modules`/`build`/`dist` as prominent as source, changes only as a small letter. **Rework (VS Code model):** - [ ] Pane = explorer column (tree, resizable, collapsible) + editor area with **tabs**; on narrow panes/phones the explorer becomes a slide-over. - [ ] Tree: inline expand/collapse, keyboard (↑↓←→ Enter), reveal the open file, git colours on names (modified/new/deleted), Claude badge, change dots on folders, **gitignored entries dimmed**, file-type icons. - [ ] Listings cached and revalidated in the background; open tabs keep their content, so switching is instant. - [ ] **Go to file** (Ctrl+P inside the pane, ⌕ button, palette): fuzzy search over `git ls-files` (or a capped `find`). - [ ] Explorer / Changes as two views of the left column; diffs open as tabs. - [ ] Per-session memory: expanded folders, open tabs, active tab, widths. - [ ] Empty state with recent files and the change count.
jared added this to the v0.7.0 file viewer milestone 2026-10-08 01:31:25 -04:00
jared added the uxfeature labels 2026-10-08 01:31:25 -04:00
jared closed this issue 2026-10-08 01:40:49 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/devdesk#37