You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add VS Code's iconic command-palette shortcut (catalog 5.6 parity polish). The palette
was opened only by Ctrl/Cmd+K; Ctrl+Shift+P fell through to the Ctrl+P files branch.
- CommandPalette.tsx: a new first keydown case (ctrl/meta + shift + p) opens commands,
before the Ctrl+P files case, so Ctrl+Shift+P no longer opens files. Ctrl+K still opens
commands (its case is unchanged)
- App.tsx show-commands: keybinding metadata 'Ctrl+K' -> 'Ctrl+Shift+P' (the VS Code
standard, now shown in the Keyboard Shortcuts reference and the conflict detector);
Ctrl+K keeps working via the listener (the Ctrl+K e2es still pass)
- a new e2e presses Ctrl+Shift+P and asserts the palette opens in command mode; the
keyboard-shortcuts e2e still reports no conflicts
- the adversarial review caught two doc-consistency ripples (the slice-133 lesson), both
fixed: the welcome 'Learn the keys' tip (lib/welcome.ts) and specs/QUICK_OPEN.md still
advertised Ctrl+K -> both now lead with Ctrl/Cmd+Shift+P (Ctrl+K legacy alias)
- HONESTY: the 5.6 palette row is already Done; this is parity polish on a Done row, so
there is NO matrix count/status change. TOTAL unchanged 129/102/97
Copy file name to clipboardExpand all lines: specs/FEATURE_MATRIX.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -178,18 +178,18 @@ vsclaude uses a fixed, presentation-mode-driven layout rather than the dockable
178
178
| Reset layout to defaults | Done | View: Reset Layout restores the default presentation mode, closes the bottom drawer, exits zen mode, shows the primary sidebar (undoing Ctrl+B), and resets the sidebar width and bottom-panel height to their defaults. An e2e widens then hides the sidebar, runs the command, and asserts it is visible at the default width. | (View locations are fixed positions, so there is nothing to relocate to reset.) |
179
179
| Show/hide individual views independently | Partial | The primary sidebar toggles with Ctrl/Cmd+B and the bottom panel with Ctrl/Cmd+J (View: Toggle Panel, restoring the last panel); both layout toggles are e2e covered. Problems, Search, and Source Control also toggle from the activity bar, and Output and Outline from their View commands. | The right-side companion and timeline panels and the terminal footer are still mode-coupled, not independently toggleable. |
180
180
| Focused / zen editor expansion | Partial | Minimal mode shows only center editor. | No per-panel maximize button or transition animation. |
| Command palette (fuzzy search, run commands) | Done | CommandPalette.tsx (Ctrl/Cmd+Shift+P, and Ctrl/Cmd+K as a legacy alias, fuzzy, arrows, Enter); CommandRegistry ranks; commands in App.tsx. ||
182
182
| Search/replace functionality | Partial | Quick-open ships: Ctrl/Cmd+P file open, : go-to-line, and the > command route (CommandPalette.tsx, see 5.6). Monaco's in-file find is on by default. | Project-wide search and replace across files (5.8), and @ or # symbol search, are still missing. |
183
183
| Breadcrumbs / path navigation | Done | Breadcrumbs.tsx renders the active file's folders and name above the editor (breadcrumbSegments, root-relative); the file segment opens the document symbol picker, and each folder segment opens a dropdown of that folder's contents (folderChildren over the demo files or the flattened workspace tree; crumbFolderPath resolves the menu into the entry namespace so it works in both the demo and a real absolute-path workspace; all unit tested) where a file opens it and a subfolder drills in. The menu closes on outside-click or Escape. An e2e jumps to a sibling file. ||
184
184
| Keyboard shortcuts and customization | Missing | CommandPalette.tsx and WorkspaceEditor.tsx hardcode keys; no rebinding. | No keybindings.json, editor, or shortcut help view. |
185
185
186
186
## 5.6 Quick open and command palette
187
187
188
-
The palette is now unified: Ctrl or Cmd plus K opens command mode and Ctrl or Cmd plus P opens file quick-open over a real recursive index, and the input routes live on a prefix (`>` commands, `:` go to line and column). Commands can advertise a keybinding, and a reusable quick-pick framework (filterQuickPick plus the prefix router) backs it all. Go to Symbol (@) now lists the active file's outline inline and jumps to the chosen symbol, with the editor's full Go to Symbol one row away. Workspace symbols (#), command categories, and go-to-definition navigation are still partial, with the deeper code-intelligence work deferred. See specs/QUICK_OPEN.md.
188
+
The palette is now unified: Ctrl or Cmd plus Shift plus P (or Ctrl or Cmd plus K) opens command mode and Ctrl or Cmd plus P opens file quick-open over a real recursive index, and the input routes live on a prefix (`>` commands, `:` go to line and column). Commands can advertise a keybinding, and a reusable quick-pick framework (filterQuickPick plus the prefix router) backs it all. Go to Symbol (@) now lists the active file's outline inline and jumps to the chosen symbol, with the editor's full Go to Symbol one row away. Workspace symbols (#), command categories, and go-to-definition navigation are still partial, with the deeper code-intelligence work deferred. See specs/QUICK_OPEN.md.
189
189
190
190
| Capability | Status | Evidence | What is missing |
191
191
| --- | --- | --- | --- |
192
-
| Command palette (fuzzy, keywords, Ctrl/Cmd+K) | Done | CommandPalette.tsx fuzzy search via registry.fuzzyFind(); command-registry.ts subsequence scoring and keywords; arrow/Enter nav. ||
192
+
| Command palette (fuzzy, keywords, Ctrl/Cmd+Shift+P) | Done | CommandPalette.tsx fuzzy search via registry.fuzzyFind(), opened by Ctrl/Cmd+Shift+P (Ctrl/Cmd+K legacy alias); command-registry.ts subsequence scoring and keywords; arrow/Enter nav. ||
193
193
| Recently-used command/project ordering | Done | App.tsx registers Open Recent from ws.recents; recents.ts RecentProject with timestamps and de-dup; useWorkspace.ts exposes recents. ||
194
194
| Quick open files by name with Ctrl+P | Done | CommandPalette.tsx file mode on Ctrl/Cmd+P; useFileIndex.ts walks roots via fs.walk (IPC v4, fs_ops.rs fs_walk); demo files used when no workspace; e2e covers it. ||
195
195
| Symbol navigation in current file with @ | Done | Typing @ in the palette lists the active file's outline symbols inline (outlineSymbols over markdown headings, JSON top-level keys, CSS selectors, YAML top-level keys, TOML tables, and top-level JS/TS/Rust declarations) and jumps to the chosen symbol's line; a trailing row hands off to the editor's full Go to Symbol (Monaco quickOutline) for nested symbols and other languages. parsePaletteInput symbols mode and outlineSymbols are unit tested; an e2e jumps to a symbol. ||
0 commit comments