Skip to main content
The code workbench puts the file tree, search, editor, Git diff, and content previews in one window. Every file operation is bounded by the current workspace. Open the file tree from the Files icon in the right sidebar:
  1. Expand workspace directories, or type a file name to jump straight to it (type-ahead).
  2. Use Search workspace files to search by content; you can toggle Match case, Match whole word, and regular expression mode.
  3. Click a file to open it in a preview tab. Several tabs can sit side by side or in splits.
The file tree context menu offers New File, New Folder, Cut, Copy, Paste, Copy Relative Path, Copy Absolute Path, Copy File Name, Rename, Delete, and the Open In submenu (Editor / Default App / Terminal / Native Terminal / File Manager). You can also drag and drop files to move them. Search never modifies files on its own. Large files, undecodable content, and paths outside the workspace are rejected by the file service.

Editing and saving

  • Edit text directly in the editor.
  • Use Save file to save the current file (cmd-s).
  • Autosave is on by default: an edited file is written back after a typing pause (1000 ms by default) and when the editor or window loses focus. In Settings → Workbench you can switch to Manual (the cmd-s shortcut is the only way to save) or On focus change, and adjust the idle delay.
  • The toolbar toggles soft wrap and whitespace display.
  • The status bar shows Ln N, Col N, the total line count, language, encoding (UTF-8 / UTF-8 BOM / Binary), line endings (LF / CRLF / Mixed EOL), and file size.
  • The title bar shows Modified (unsaved changes), Saving, or Saved.
The editor has no Save As: saving always writes back to the original path. There is also no in-file find bar — cmd-f opens Find in conversation.

Large files and read-only

These files open read-only and are marked Large file - read only or Binary - read only in the title bar:
  • Larger than 8 MiB
  • More than 50,000 lines
  • Truncated content
  • Content detected as binary

Editor protection and recovery

Each editor buffer tracks the saved content, the external revision, and the local revision at the same time. Save requests use optimistic concurrency control: if the content on disk has already changed, the save fails with file_external_revision_changed instead of overwriting silently. Tabs with unsaved changes prompt Save or discard the dirty editor before closing it when you close them; with autosave on, the pending edit is written first and the tab closes without interrupting you. Switching workspaces is blocked the same way. After the authoritative runtime restarts, Vibex restores unsaved buffers. They are still marked Modified, still need an explicit save, and never overwrite files on disk automatically. When the file has been deleted on disk, the title bar shows Deleted - recovery buffer.
Deleting a file changes the workspace. Check Git status before you delete, and copy the content or create a commit first if you need to.

Content preview

The Markdown preview offers a Contents outline, Copy document text, per-block Copy code / Copy diff, diagram source viewing, and full screen. Workspace-relative links open inside the preview; external links go to the system browser. Office previews are a read-only extracted view, not a faithful rendering:
  • docx — headings and paragraphs.
  • xlsx / odsthe first worksheet only, up to 80 rows × 20 columns.
  • pptx — slide text, up to 200 slides.
PDF previews are read-only too, with no search, annotations, or forms.

Formats that cannot be previewed

Syntax highlighting covers Rust, TypeScript/TSX, JavaScript, JSON, Markdown, TOML, YAML, Python, Go, Java, CSS, HTML, and Shell. Other languages display as plain text.

Image editing

The image editor is for annotating images you attach before sending them, not a general editor for image files in the workspace. Open it from Edit image in the Composer attachment area. Available tools: Crop, Brush, Text, Rectangle, Circle, Arrow, Mosaic, and Undo edit / Redo edit. Zoom runs from 25% to 400%, and you can pan by dragging.
  • macOS: cmd-z to undo, cmd-shift-z to redo.
  • Windows/Linux: ctrl-z to undo, ctrl-shift-z to redo.
Saving re-encodes the image as PNG; you cannot choose another format, and there is no rotate, scale, flip, or layers.

Preview tabs and splits

Drag a tab, or use Split right / Split down in the tab menu, to split the view; you can drag the split boundary to resize it. Code, diffs, terminals, and documents can all share one window. Pop out preview window in the panel header rehosts the whole multi-tab panel in a window of its own, and Dock preview into the main window brings it back. The panel entity never changes hands, so every open tab, editor buffer, and terminal moves with it, and exactly one panel exists at a time. Closing the detached window hands the panel back to the workbench column instead of taking it down; closing the panel closes its window. The detached window keeps the shell’s editor actions, so cmd-s and go-to-line still work there. Full screen gives the panel the workbench column, so the sidebar and the right rail keep their place, their width, and their activity bar, and the rail keeps its resize handle. Settings → Workbench has a Preview window option that chooses where the panel opens by default: Inline (the default, inside the workbench column) or Separate window. The header’s pop-out and dock controls write the same preference. Closing a tab does not delete a file or a terminal — it only closes the current view.

Tab actions

  • Hover a file or diff tab to see its full path.
  • Tab context menu: Close tab, Close other tabs, Close tabs to the left, Close tabs to the right, Close all tabs, Split right, Split down, Pin tab / Unpin tab, Reveal in Files, Open In.
  • A pinned tab must be unpinned before it can close. When you close other tabs, pinned tabs and unsaved tabs stay open.
  • cmd-w closes the current preview tab; cmd-tab / cmd-shift-tab and cmd-pageup / cmd-pagedown cycle through tabs. Terminal tabs do not use these shortcuts.
For the complete shortcut list, see Shortcut reference.