A plugin that makes it easy to open files outside the VS Code workspace
(or relative to the current file) using a
quick pick window.
Keybindings on Mac use ⌘ in place of Ctrl.
- 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
~/) 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
- Navigate to the Quick Opener extension page within VS Code by either:
- Press the corresponding Install button
The default behaviour of the plugin is to take over the standard key binding to open a file/folder:
Ctrl-O (Mac: ⌘-O).
If you wish to use another key binding you can append the following to
"key": "cmd+o", // Revert the binding back to the editor default
"key": "cmd+shift+o", // New binding to use
Custom key bindings
Example of how to define custom key bindings:
"when": "inQuickOpener", // limit binding to when plugin is visible
"args": 1, // trigger first visible action for item (depends on item type)
// "args": 2, // OR trigger second visible action for item (depends on item type)
"args": ["create"], // create file/directory
quickOpener.fallbackDirectory: Directory to start in when there's no directory/file open in the editor.
quickOpener.exclude: List of directory/file names to exclude from the results.
Compared against the name of each path component.
["node_modules", ".git", ".DS_Store"]
quickOpener.timeout: Maximum time (in ms) for scanner to run between input and showing results.
Set to 0 to disable recursive search.
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.
quickOpener.show: Show the Quick Opener picker.
Commands available while the plugin window is visible:
quickOpener.popPath: Go upwards in the path by chopping off the last part of the input (if present), or by navigating to parent directory.
quickOpener.triggerAction: Trigger an action using the current input as path.
quickOpener.triggerItemAction: Trigger an action using the currently selected item as path.
quickOpener.triggerTabCompletion: Replace the input value with the selected item path.
- The contents of nested subdirectories are sometimes not included in the
suggestions. This is due to a limitation of the current scanner, and will be
addressed in a future release.
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.
- Icon: Created with the assistance of DALL·E 2