Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Pinned PathsNew to Visual Studio Code? Get it now.
Pinned Paths

Pinned Paths

Edoardo Polito

|
5 installs
| (0) | Free
Keep selected local files and folders available in every workspace
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Pinned Paths

Keep selected local files and folders in the VS Code Explorer without adding them to the active workspace. The view uses the native Explorer tree presentation and persists selections globally by default.

Features

  • Add from anywhere: Add files and folders from the view title or the Explorer context menu.
  • Two scopes: Selections persist globally by default or per workspace.
  • Native multi-selection: Shift-click and Command-click on macOS.
  • Ordered roots: Per-root sorting by name or modification time, ascending or descending, directories first, with drag reordering and Move Up or Move Down.
  • Editor drops: Drag selected files into the editor area to open them.
  • Dotfiles visible: Dotfiles and dot-directories appear alongside other folder contents.
  • Root labels: Aliases and relative-path labels for roots, switchable without changing the pinned set.
  • Full file management: Create files and folders, rename with Enter, and delete to Trash directly in the view.
  • Path access: Copy absolute or workspace-relative paths, open files to the side, open folders in a new window or an integrated terminal, reveal items in the operating system file manager, and search within a folder.
  • Workspace presets: Named root sets defined in .pinned-paths.json, applied from the command palette.

Requirements

  • VS Code 1.125 or newer

First run

On first activation the extension seeds these paths when they exist:

  • ~/.claude
  • ~/.codex
  • ~/Documents/notes
  • ~/Documents/screenshots
  • ~/Desktop

Seeding runs once. Removing a seeded path is permanent unless you add it again explicitly. Paths that do not exist are skipped.

Workspace presets

A workspace can define named root sets in .pinned-paths.json. Applying a preset replaces the current workspace-scope roots. Missing paths and paths that resolve outside the first workspace folder are ignored. The preset file is never rewritten.

{
  "presets": [
    {
      "name": "Service",
      "paths": [
        "src",
        "tests",
        { "path": "docs/runbooks", "alias": "Runbooks" }
      ]
    }
  ]
}

Preset paths are relative to the first workspace folder. Switch to Workspace scope before applying a preset.

Settings

Setting Default Description
pinnedPaths.scope global Apply selected paths globally or only to the current workspace
pinnedPaths.autoReveal false Reveal the active file when it is inside a selected folder
pinnedPaths.labelStyle name Label used for roots without an alias

Keybindings

  • Option+Cmd+C copies the absolute path of the context item, or every absolute path in the current selection. Multiple paths use one line each. The command is safe when nothing is selected.
  • Enter renames the selected filesystem entry when exactly one entry is selected. Empty or multiple selections leave the filesystem unchanged, and the shortcut stays inactive while text input has focus.

Protected folders

macOS blocks folder listing in Documents, Desktop, Downloads, and the cloud provider mounts that a redirected home folder points at, until the editor itself holds permission. A pinned folder in one of those locations shows an empty tree and reports the block once per session. Grant the editor access in System Settings > Privacy & Security > Full Disk Access, then reload the window.

Privacy

Pinned Paths runs locally. It stores selections in VS Code settings and touches only the files and folders you select. It makes no network calls.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft