VCode home

Files as tabs in panes

Agents: claude, codex, opencode · On: desktop

On a wide window a file or image you open is a tab in a pane, after that pane's thread tabs. You can read two files side by side next to the agent that is changing them, and drag a file tab between panes like a thread tab.

Why you would use it

The agent is editing a file and you want to watch the file and the thread at the same time, or read the code it is changing beside the test that covers it. A sheet over the thread hides the thread. A tab in its own pane does not.

How to use it

File tabs need a window at least 760px wide, the width panes need. Below that a file opens in the viewer sheet, as on a phone.

  1. Click a file row in the explorer. The file opens as a tab in the focused pane's strip, after its thread tabs, and the pane shows it. The tab carries the file's icon and name, and its full path as a tooltip. Click a file that already has a tab and that tab comes to the front; no second tab is made. A file link in an agent's reply, the file name on a READ or WRITE card and Edit system prompt open a file tab the same way.

    Two panes beside a thread: a JavaScript file in the middle pane and a test file in the right pane, each with a minimap beside its text

  2. To put a file in the pane to the right, Ctrl+click its row (Cmd+click on a Mac). It goes to the pane to the right of the one it was opened from. With no pane there, the window splits right and the new pane holds the file. When no split fits, it opens in the focused pane. A file already open moves by dragging its tab (next step).

  3. Drag a file tab like a thread tab: along its strip to reorder it, onto another pane's strip or the middle of its body to move it there, or onto a pane's edge to split. File tabs stay after the thread tabs in every strip.

  4. Click a thread tab in the same pane to bring the thread back in front of the file. The file tab stays in the strip.

  5. Click the tab's × (Close <name>), middle-click the tab, right-click it and choose Close, or press Ctrl+W (⌘W on a Mac) while the pane shows the file, to close it. Ctrl+W works with the caret in the file's editor too. With unsaved edits a card asks Save changes? first: Save saves and closes, Discard drops the edits and closes, Cancel keeps the tab open (see edit-a-file). The viewer's own close button (#viewer-close) closes the tab the same way.

  6. The Tabs column and the tab drawer list each open project's file and preview tabs after its thread tabs, with the file's icon, name and folder. The one in front of the focused pane is lit, in place of the thread behind it. Click a row to bring that file to the front of its pane, in its project's window. Its × (Close <name>) closes the tab as the strip's × does; for a project not on screen it closes the tab without switching to that project. A search in the column leaves file rows out.

    The Tabs column's Worktop project: four thread tabs, then the file tabs ledger.js and format.js, format.js lit

What you see

Limits and known gaps