Trails for VS CodeOpen Trails beside your code and toggle its terminals without stopping them. VS Code handles terminal rendering, input and resizing. There are no runtime dependencies or custom terminal renderer. Use
These shortcuts use Control on macOS too. Both commands are available in the Command Palette; the editor title-bar Trails icon also toggles the terminals. There is no Activity Bar icon or launcher sidebar. The first terminal opens beside your code. New Trail adds another terminal tab to the same group, initially named Trails 2, Trails 3, and so on. With the default command, each opens the Trails picker, where you can create or attach to a trail. Toggle hides all extension terminals together and restores the last-used session. Empty Trails groups are removed when their terminals hide or exit. If only one empty group remains, it is unlocked so files from Explorer can open there. Groups containing files are preserved. If a terminal is behind another editor tab, Toggle brings Trails to the front. Hiding preserves the running processes. VS Code cannot hide editor terminals in place, so the extension moves them to the native terminal panel and hides that panel. Showing moves those same processes back to an editor group beside your code. Known limitation in v0.1.0: VS Code reveals the shared Terminal panel during these moves. It can flash briefly, hide a panel you had open, or leave the bottom panel visible after restoring Trails. Other terminal processes are not stopped. Manually opening the Terminal panel can reveal the parked sessions. Exiting or killing the foreground command closes its terminal without leaving a shell prompt. The next Toggle starts a new one if all sessions have ended. Closing a terminal tab terminates its terminal process; Trails' agent sessions remain in tmux when its client disconnects. These are editor terminals. Closing all other editor groups lets them expand into the available editor area. They are not a dedicated sidebar terminal. Terminal titlesAfter attachment, tabs use the codebase label and stable Trails ID: The picker and commands without an attached trail keep their original terminal name. The extension matches tmux clients to each terminal's process tree, so it does not guess from the working directory or from unrelated running sessions. Workspace attachments resolve through their trail metadata; maps and standalone tool windows keep a generic name because they have no single attached trail. Both current four-digit IDs and older eight-digit IDs are supported. It checks the active terminal periodically; inactive tabs keep their last title and refresh when activated, without switching tabs or stealing focus. Hide/show preserves titles and process identity. Title lookup runs on the extension host, including Remote SSH, WSL and containers.
It uses the tmux server selected by that terminal's environment. Missing tmux,
missing trail metadata or ambiguous matches keep the fallback name. A transient
lookup timeout preserves the last title. A custom command that SSHes to another
machine, or explicitly selects a different socket with PreferencesTrails: Command is the single extension setting, defaulting to
For example, set it to The shortcuts override VS Code's default Control+backslash bindings. Remap them in
Keyboard Shortcuts if needed. The extension defaults add its commands to
Install the configured command on the machine running the extension. Trails also requires tmux and its other CLI dependencies. For Remote SSH, WSL or containers, install the extension and command on the remote host. Use an absolute command path if it is unavailable on PATH. Workspace Trust must be enabled. InstallInstall from the Visual Studio Marketplace (listed as Preview while the editor-terminal host is still evolving):
Or search for Trails for VS Code in the Extensions view. Reload VS Code if prompted. Install Trails and its CLI dependencies separately when using the default command. GitHub Releases are for the Trails CLI only. To build a VSIX yourself from a version tag:
VersioningThe extension version lives in DevelopFrom this directory:
To launch a development window from the repo root:
The launch helper in The isolated VS Code tests check single and multiple session toggles preserve the same process IDs, and successful exits, errors and kills close terminal tabs. Before publishing, check the physical shortcuts, resizing and keyboard input locally and in Remote SSH. The live title tests additionally require tmux. |