Homepage extension for VSCode
  • JavaScript 77.5%
  • CSS 16.5%
  • Just 6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-08 22:29:06 -04:00
media vshome: add optional image icons to pinned projects 2026-10-08 22:28:13 -04:00
src vshome: add optional image icons to pinned projects 2026-10-08 22:28:13 -04:00
.gitignore vshome: add start page extension with pinned and recent projects 2026-10-08 21:51:34 -04:00
.pre-commit-config.yaml vshome: add start page extension with pinned and recent projects 2026-10-08 21:51:34 -04:00
.vscodeignore vshome: add start page extension with pinned and recent projects 2026-10-08 21:51:34 -04:00
eslint.config.mjs vshome: add start page extension with pinned and recent projects 2026-10-08 21:51:34 -04:00
justfile vshome: add start page extension with pinned and recent projects 2026-10-08 21:51:34 -04:00
package-lock.json vshome: add start page extension with pinned and recent projects 2026-10-08 21:51:34 -04:00
package.json vshome: add optional image icons to pinned projects 2026-10-08 22:28:13 -04:00
README.md vshome: document pinned project fields 2026-10-08 22:29:06 -04:00

VSHome

A start page for code-server / VS Code: pinned projects as cards, recent projects (minus the pinned ones), and quick "new project" / "open folder" actions.

just setup && just test
just deploy   # build the .vsix and install it into code-server, then reload the window

Settings

Setting Default
vshome.pinned [] Pinned projects — see Pinned projects. The pin button on a card edits this for you.
vshome.showOnStartup "emptyWindow" emptyWindow (only when no folder is open), always, or never.
vshome.recentLimit 12 Max recent cards.
vshome.newProjectRoot "~/projects" Where "New project…" creates folders, and where "Open folder…" starts browsing.

Set "workbench.startupEditor": "none" so the built-in Welcome tab doesn't open too. Run VSHome: Show VSHome from the command palette to open it any time.

Recent projects merge the opens VSHome records itself (server-side, shared across browsers) with the workbench's own history (stored per browser).

Pinned projects

Each entry in vshome.pinned is either a path string or an object:

Field Required
path yes Project folder. ~ expands to your home directory.
name no Card title. Defaults to the folder name.
icon no Image shown on the card: png, jpg, gif, webp, svg or ico. Relative paths resolve against the project folder; ~ and absolute paths work too.
"vshome.pinned": [
  "~/projects/scratch",
  { "path": "~/projects/flowire-app", "name": "Flowire", "icon": "logo.svg" },
  { "path": "/srv/infra", "icon": "~/icons/infra.png" }
]

Cards appear in the order listed. A pinned folder that no longer exists stays on the page, dimmed and marked "folder not found".