Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Quick OpenerNew to Visual Studio Code? Get it now.
Quick Opener

Quick Opener

mogelbrod

|
593 installs
| (1) | Free
Open/create files/directories from anywhere with fuzzy autocompletion
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Quick Opener for Visual Studio Code

A plugin that makes it easy to open files anywhere:

  • …outside the VS Code workspace
  • …relative to the currently open file
  • …in a given git branch/tag/commit

Animated example

Features

Key bindings on Mac use ⌘ in place of Ctrl.

Open/create any local file

  • Show the Quick Opener picker by pressing Ctrl-O
  • Open any path across the file system using only the keyboard (no more pesky native file system popups!)
  • Fuzzy path matching using the built-in VS Code fuzzy matcher
  • Starts in directory of current file (if open) to make relative navigation quick and easy
  • Begin entering any absolute path (or a pre-configured prefix) to quickly locate files outside the current workspace
  • Navigate to parent directory by entering .. or pressing Ctrl-U
  • Additional functionality available via window and item buttons, as well as keybindings:
    • Enter - File: Open file / Directory: Change relative root directory
    • Ctrl-O - File: Open in split / Directory: Add/remove directory to/from workspace
    • Ctrl-Shift-O - Directory: Open directory in new window
    • Ctrl-U - Cut off last part of the input path / navigate to parent directory
    • Ctrl-N - Create new file (or directory if input ends with a slash) at the given path, with ancestor directories created in the process
    • Tab - Replace input value with selected item

Open by git ref/revision

Browse and open files as they existed from any git branch, tag, or commit SHA via the quickOpener.showRevisionPicker command ("Quick Opener: Open by Revision").

This command is not bound to a keyboard shortcut by default, see Key bindings to set one up.

  • Lists all local/remote branches and tags, grouped by type
  • Type any commit SHA to use it directly without selecting from the list
  • Selecting a ref opens a file revision picker, enabling opening of any file that existed in that ref
  • Additional functionality available via item buttons for each ref:
    • Open changes — open a multi-diff view of all changes in the given ref (Ctrl-O)
    • Diff against HEAD — open a multi-diff view comparing that ref to HEAD (Ctrl-Shift-O)
  • Toggle visibility of additional metadata via the title bar buttons
    • Toggle description format — select between showing short SHA or custom metadata (Ctrl-D)
    • Toggle commit message visibility — show/hide most recent commit title (Ctrl-M)
  • Customize metadata format via quickOpener.refDescriptionFormat setting

Installation

  1. Navigate to the Quick Opener extension page within VS Code by either:
    • Visiting marketplace.visualstudio.com/items?itemName=mogelbrod.quickopener and pressing the Install button (this should open VS Code)
    • Searching for mogelbrod.quickopener from the VS Code Extensions sidebar
  2. Press the corresponding Install button
  3. (optional) Configure keybindings - see below for examples

Extension contributions

Key bindings

The default behaviour of the plugin is to take over the standard key binding to open a file/folder: Ctrl-O (Mac: ⌘-O).

You can configure key bindings from within vscode via "Open Keyboard Shortcuts", or by editing keybindings.json directly. If you wish to use another key binding you can append the following to it:

  {
    "key": "cmd+o", // Revert the binding back to the editor default
    "command": "-quickOpener.show"
  },
  {
    "key": "cmd+shift+o", // New binding to use
    "command": "quickOpener.show"
  },

Custom key bindings

Example of how to define custom key bindings:

  {
    "key": "ctrl+g o",
    "command": "quickOpener.showRevisionPicker",
  },
  {
    "when": "inQuickOpener", // when any quick picker is visible
    "command": "quickOpener.triggerItemAction",
    "args": 1, // trigger first visible action for item (depends on item type)
    "key": "ctrl+t",
  },
  {
    "when": "inQuickOpener == 'revision'", // when revision picker is visible
    "command": "quickOpener.triggerAction",
    "args": "toggleMessage", // toggle commit message visibility
    "key": "ctrl+m",
  }

Settings

  • quickOpener.fallbackDirectory: Directory to start in when there's no workspace/file open in the editor. Supports vscode variables.
    Default value: "${userHome}"

  • quickOpener.prefixes: Mapping of path prefixes to their expanded paths. A path starting with any of these strings followed by a directory separator will be expanded to the corresponding path. Supports vscode variables.
    Default value: { "~": "${userHome}", "@": "${workspaceFolder}" }

  • quickOpener.exclude: List of directory/file names to exclude from the results. Compared against the name of each path component.
    Default value: ["node_modules", ".git", ".DS_Store"]

  • quickOpener.icons: Show or hide icons in the quick picker.
    Default value: true

  • quickOpener.timeout: Maximum time (in ms) for scanner to run between input and showing results. Set to 0 to disable recursive search.
    Default value: 200

  • quickOpener.maxCandidates: Maximum number of paths to include in the list VS Code fuzzy matches against. Lower values improve UI responsiveness at the risk of fewer nested directories being included in the list.
    Default value: 10000

  • quickOpener.refDescriptionFormat: Format string for revision descriptions in the "Open by Revision" picker when the custom description style is active (toggled via the info button in the picker).
    Default value: "{commitDate} - {authorName}"
    Available placeholders:

    • {name}
    • {commit}
    • {message}
    • {authorName}
    • {authorEmail}
    • {authorDate}
    • {commitDate}

    Date keys support optional formatting, e.g. {commitDate:YYYY-MM-DD}. Supported date tokens:

    • YYYY / YY
    • MMM / MM
    • DD / D
    • HH / H
    • mm
    • ss

Commands

  • quickOpener.show: Show the Quick Opener picker.
  • quickOpener.showRevisionPicker: Show the "Open by Revision" picker, listing all git branches and tags. Selecting a ref opens the "Open File at Revision" picker for that ref.
    Accepts an optional options object argument:
    • initialValue = '' — pre-fill the search input
    • branches = true — include branches in the list
    • tags = true — include tags in the list
  • quickOpener.showRevisionFilePicker: Show a picker listing all files at a given git ref.
    Accepts two optional arguments:
    • ref = 'HEAD' — branch name, tag, or commit SHA to list files from
    • options:
      • initialValue?: string — pre-fill the search input

Commands available while the plugin window is visible:

  • quickOpener.triggerAction: Trigger a window action.
  • quickOpener.triggerItemAction: Trigger an action for the currently selected item.
  • quickOpener.triggerTabCompletion: Replace the input value with the selected item path.
  • quickOpener.popPath: Go upwards in the path by chopping off the last part of the input (if present), or by navigating to parent directory.

Disclaimer

The Create directory/file functionality will attempt to create directories when necessary. This should not cause any data to be lost or overwritten, but I can unfortunately not guarantee that it will never happen in every possible situation.

Credits

  • Icon: Created with the assistance of DALL·E 2
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft