feat: open local files via Quick Open in remote SSH sessions#208
Merged
Conversation
Add coderm.quickOpen.localFiles setting (default: true). When connected via SSH, typing an absolute path (e.g. /Users/...) in Quick Open now shows both the local (file://) and remote (vscode-remote://) candidates, so local files can be opened without leaving the remote workspace. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the ability to open local files via Quick Open (Ctrl/Cmd+P) while connected to a remote (SSH) workspace.
Background
In a remote SSH session, Quick Open resolves absolute paths against the remote filesystem (
vscode-remote://), so typing a local path like/Users/...either failed or opened the remote-side file. This made it impossible to open local files without disconnecting.Changes
coderm.quickOpen.localFiles(default:true)anythingQuickAccess.ts: new methodgetLocalAbsolutePathFileResultsresolves the typed absolute path as a localfile://URI and stats it via the always-registeredDiskFileSystemProvider(registered in the renderer even in remote sessions)getFilePicksnow resolves both remote and local absolute-path candidates in parallel (Promise.all) with dedup — both show up as Quick Open candidatesNotes
OS/posix/win32), not the remote one, to decide whether the query is an absolute path on the client machinequickOpenLocalFiles.tsfollows the existingquickOpenIncludeTerminals.tspattern (configuration-only registration) to keep the fork diff localized🤖 Generated with Claude Code