Add VS Code tunnel editor support#3721
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Needs human review This PR introduces a new VS Code remote tunnel feature with external process invocation, new streaming events, new settings, and UI changes across multiple packages. The scope and new integrations warrant human review. You can customize Macroscope's approvability policy. Learn more. |
There was a problem hiding this comment.
Effect service convention: consume the local ProcessRunner service module through its namespace rather than importing the service tag directly.
Posted via Macroscope — Effect Service Conventions
b2f1cdb to
2236c9d
Compare
What Changed
Support for VSCode tunnels was added. VSCode tunnels allows a user to access a remote VSCode instance over the internet. This makes it possible to use T3Code on a remote machine and open a VSCode window like the code was local.
Why
To make remote workflows easier for VSCode users
UI Changes
Editor dropdown:


Settings:
Checklist
Note
Medium Risk
Runs external
codeCLI on the server and widens desktop external URL rules for a specific vscode-remote tunnel pattern; otherwise mostly additive UI and config streaming.Overview
Adds VS Code remote tunnel support so remote environments can expose a connected tunnel and open the current workspace in VS Code (browser or desktop).
The server runs
code tunnel status(when enabled), parses noisy CLI output into tunnel + status fields, and includes them on server config snapshots andvscodeTunnelUpdatedstream events (on setting changes and ~1 minute refresh). Contracts and client projection gainvscodeTunnel,vscodeTunnelStatus, and settingsenableVSCodeRemoteTunnels/openVSCodeRemoteTunnelsInDesktop.Open in can show a tunnel option (including when local editors are hidden), building
vscode.devorvscode://vscode-remote/tunnel+...URLs via the desktop shell API. Connections settings add toggles for enabling checks and desktop vs web open. ElectronopenExternalnow allows only tunnel-shapedvscode://URLs, not arbitraryvscode://links.Reviewed by Cursor Bugbot for commit 146c285. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add VS Code remote tunnel editor support to the open-in picker and settings
resolveVSCodeTunneleffect invscodeTunnel.tsthat runscode tunnel status, parses its JSON output, and returns tunnel presence, machine name, and connection state.subscribeServerConfigstream to emitvscodeTunnelUpdatedevents when the enable setting changes or on a 1-minute refresh interval.ServerConfigsnapshots and a newvscodeTunnelUpdatedstream event to the RPC contracts inserver.ts.enableVSCodeRemoteTunnels,openVSCodeRemoteTunnelsInDesktop) with toggles in the Connections settings UI.OpenInPickerto show a 'VS Code Tunnel' option that opens the current directory via avscode://vscode-remote/tunnel+…orvscode.devURL, with the primary button and keyboard shortcut tracking the last chosen option.parseSafeExternalUrlinElectronShell.tsto allowvscode://vscode-remote/tunnel+…URLs foropenExternal.Macroscope summarized 146c285.