Recent Workspaces
Open Recent, but workspaces only. Every .code-workspace file you have ever opened in VS Code, in one list in the Activity Bar. The list is re-checked against the disk: a workspace whose file is gone stays in the list but faded, with an empty icon, so you see what moved or was deleted instead of silently losing it.
Open Recent, но только воркспейсы. Все файлы .code-workspace, которые вы когда-либо открывали в VS Code, одним списком в Activity Bar. Список перепроверяется по диску: воркспейс, чей файл пропал, остаётся в списке, но бледнее остальных и с пустым значком, так что видно, что переехало или удалилось, вместо того чтобы молча исчезнуть.
What it shows / Что показывает
All workspaces, not only the last ten. VS Code's own Open Recent mixes folders, files and workspaces and forgets. This list is built from three sources at once: VS Code's recently-opened list (its order wins), the workspaceStorage folder of your user data (one entry per workspace VS Code ever kept state for), and the extension's own log of the workspace each window had open.
Missing files are faded, not dropped. On every refresh the workspace file is checked on disk. A missing one is drawn in the disabled color with an empty (outline-only) icon. Click it and you are offered to remove it from the list or open anyway.
Favorites on top. Star a workspace (the ☆ on the row) and it stays in the top group, marked with ★.
Your own order. Drag rows to arrange them. A row dropped among the favorites becomes one; dropped below them it stops being one. New workspaces appear at the top of their group; … → Reset Manual Order goes back to the automatic order.
Names only. The row shows the workspace name; the folder, the full path, the Peacock color and the last-opened time are in the tooltip.
One folder shape, Peacock colors. Every row carries the same folder icon; it differs by color only. If Peacock colored the window of a workspace, the icon is drawn in that color, otherwise in neutral grey; a missing workspace's icon is an empty outline.
Re-checked when it matters, never flickers. On start, when the view is shown and on Refresh. The tree is repainted only when something actually changed.
Remote aware. The extension runs on your machine even in an SSH, WSL or dev-container window, so the list is your own history. A remote workspace file is checked through the remote connection; when the window is not connected there, it is shown normally with a cloud note instead of being faded.
No telemetry. Nothing leaves your machine.
Все воркспейсы, а не последние десять. Open Recent в VS Code смешивает папки, файлы и воркспейсы и забывает. Этот список собран сразу из трёх источников: список недавно открытого VS Code (его порядок главный), папка workspaceStorage пользовательских данных (по записи на каждый воркспейс, для которого VS Code хранил состояние) и собственный журнал расширения о том, какой воркспейс был открыт в каждом окне.
Пропавшие файлы бледнеют, а не исчезают. При каждом обновлении файл воркспейса проверяется на диске. Пропавший рисуется цветом отключённого текста и с пустой иконкой (только контур). Клик по нему предлагает убрать из списка или открыть всё равно.
Избранное наверху. Поставьте звёздочку на строке, и воркспейс останется в верхней группе с пометкой ★.
Свой порядок. Перетаскивайте строки мышью. Строка, брошенная среди избранных, становится избранной; брошенная ниже — перестаёт ею быть. Новые воркспейсы появляются в начале своей группы; … → Reset Manual Order возвращает автоматический порядок.
Только названия. В строке — имя воркспейса; папка, полный путь, цвет Peacock и время последнего открытия — во всплывающей подсказке.
Одна форма папки, цвета Peacock. У всех строк одинаковая иконка папки, отличается только цветом. Если Peacock покрасил окно этого воркспейса, иконка того же цвета, иначе нейтрально-серая; у пропавшего воркспейса она пустая, одним контуром.
Перепроверка, когда это важно, и без мигания. При старте, при показе вкладки и по кнопке Refresh. Дерево перерисовывается, только если что-то действительно изменилось.
Понимает удалённые окна. Расширение работает на вашей машине даже в окне SSH, WSL или dev-контейнера, так что список — ваша собственная история. Удалённый файл воркспейса проверяется через соединение; если окно сейчас не подключено туда, он показан обычным с пометкой-облаком, а не бледным.
Без телеметрии. Ничего не уходит с вашей машины.
Use / Как пользоваться
Click the Workspaces icon in the Activity Bar. / Нажмите иконку Workspaces в Activity Bar.
- Click a workspace — opens it in this window (
recentWorkspaces.openInNewWindow: true flips that). / Клик — открыть в этом окне (recentWorkspaces.openInNewWindow: true меняет на новое).
- Row icons: ☆ Favorite, Open in New Window, Remove from List. Right-click: also Reveal in File Explorer, Copy Path. / Иконки строки: ☆ в избранное, открыть в новом окне, убрать из списка. Правый клик: ещё показать в проводнике, скопировать путь.
- Title bar: + adds a workspace file by hand, Refresh re-checks now,
… → Remove All Missing Workspaces from the List. / Заголовок: + добавляет файл воркспейса вручную, Refresh перепроверяет сейчас, … → убрать все пропавшие.
- Command palette: Recent Workspaces: Open Workspace… shows the same list as a quick pick. / Палитра команд: Recent Workspaces: Open Workspace… — тот же список как quick pick.
A workspace you removed stays hidden until you open it again (then it is back in the list). / Убранный воркспейс остаётся скрытым, пока вы снова его не откроете.
Settings / Настройки
| Setting |
Default |
Meaning |
recentWorkspaces.openInNewWindow |
false |
A click opens the workspace in a new window. |
recentWorkspaces.sortBy |
lastOpened |
Order of rows you have not dragged: lastOpened (VS Code's recent order first, then last use) or name. |
recentWorkspaces.missingLast |
false |
Move missing workspaces to the bottom (they stay faded either way). |
recentWorkspaces.showMissing |
true |
Keep missing workspaces in the list. false hides them. |
Install / Установка
Download recent-workspaces-<version>.vsix from the releases, then in VS Code: Extensions → … → Install from VSIX. Or: / Скачайте recent-workspaces-<version>.vsix из релизов, затем в VS Code: Extensions → … → Install from VSIX. Или:
code --install-extension recent-workspaces-0.3.2.vsix
How it works / Как устроено
The list is keyed by the workspace file's URI (case-folded on Windows), merged from VS Code's internal _workbench.getRecentlyOpened command (best effort: if a future VS Code drops it, the other two sources still work), from <userData>/User/workspaceStorage/*/workspace.json (the folder is located from the extension's own global-storage path, so Insiders, portable mode and profiles all resolve correctly; the state file's modification time is the last use), and from the extension's global state where it notes the workspace each window had open at activation. Existence is checked with fs.stat for local files and workspace.fs.stat for remote ones. Fading is a FileDecorationProvider on a private URI scheme, so the Explorer and Git decorations are never touched. The tree is repainted only when a row differs from what is on screen. Peacock keeps its color in the workspace file's settings (peacock.color, peacock.remoteColor, or the workbench.colorCustomizations it derives); the extension reads it there and renders a small SVG folder in that color once per color into its global storage. A Peacock color stored in a folder's .vscode/settings.json (single-folder windows) is not a workspace file's color and is not shown. Every step is one line in the Recent Workspaces output channel.
Selftest: node selftest.mjs (runs before every npm run package).
License
MIT
| |