Skip to content

Code View ​

Code View is a full-screen file explorer and editor for the files in an intent's working workspace. The Monaco editor is read-only — editing is done through the Artifact Modal in chat.


Opening Code View ​

Click the Code icon in the top navigation bar while an intent is active. The activeView state switches to code-view, replacing the main workspace panel. Click any other navigation icon to switch to a different view.


Layout ​

Code View has two main panels:

┌──────────────────┬─────────────────────────────────────────┐
│  File Explorer   │         Tabbed Editor                   │
│  (left panel)    │         (right panel)                   │
│  250–500px wide  │                                         │
│  [Files]         │  Open file tabs                         │
│  [Search]        │  Monaco editor (READ-ONLY)              │
│  [Git]           │  or image preview                       │
│  Changes section │  or a commit diff (from the Git tab)    │
│  + file tree     │                                         │
└──────────────────┴─────────────────────────────────────────┘

Drag the resize handle between the panels to adjust their relative widths. The file explorer has a minimum width of 250px and a maximum of 500px.

The chat column beside Code View cannot be collapsed. Selecting a commit in the Git tab shows its diff in the code pane and does not resize or replace the chat column. A file's View diff from the Changes list or the file tree, or a file link in the chat, works differently: that diff takes over the chat column at the same width, and Back to chat returns you to the conversation where you left it.

Collapsing the explorer ​

Use the Collapse explorer button at the top right of the explorer's tabs to shrink the explorer to a narrow rail with a Files, Search and Git icon. Click an icon to reopen the explorer on that tab. The editor takes the freed width.

Whether the explorer is collapsed is remembered in this browser only. It is not synced across devices or accounts.


File Explorer (Left Panel) ​

The file explorer shows the contents of the intent's working directory. It has three tabs:

Files Tab (default) ​

Shows a hierarchical file tree. Click any file to open it in the editor. Folders can be expanded and collapsed, and a folder you collapse stays collapsed while the tree refreshes.

  • A SQL model shows a database icon; other files show a file icon.
  • The currently open file is selected in the tree, and its folders open to show it.
  • A changed file shows its status in words: Added, Modified or Deleted. Its View diff button opens the file's diff against the base branch in place of the chat column, at the same width as the chat.
  • A deleted file stays in the tree, struck through, and cannot be opened.

Changes section ​

When the intent has changed files, a Changes section sits above the full tree. It lists every added, modified and deleted file as a flat list with its full path, so you do not have to open folders to find them. The section is hidden when nothing has changed.

  • The header shows a count for each status that has files, for example Added 2 and Modified 3. A status with no files is left out.
  • Click the header to collapse or expand the list. The full tree below stays as it was.
  • Drag the separator under the list, or focus it (Resize changes list) and use the Up and Down arrow keys, to change the list's height. Home and End jump to the smallest and largest height.
  • Click a file to open it. Your expanded folders in the tree are not collapsed or reset. The folders that contain the opened file open to reveal it.
  • Each file has the same View diff button as in the tree, named with the file's full path, for example View diff for models/marts/fct_orders.sql. It opens the same diff in place of the chat column.

The list's height and whether it is collapsed are remembered in this browser only. They are not synced across devices or accounts.

The tree is one stop in the Tab order. Use the Up and Down arrow keys to move between rows, Right and Left to open and close a folder, Home and End to jump to the first and last row, and type a name's first letters to jump to it. Enter or Space opens a file. On a changed file, Right moves to its View diff button, and Left or Escape returns to the row.

Search Tab ​

Search file contents across the working directory (grep-style). Type a search term to find matching lines in all files.

Results are grouped by file. Each file row shows the file name first, then its folder in a dimmer colour, then the match count. Open a file row to see its matches, each with the line number and the line with the matched text highlighted.

  • Click a match to open the file at that line. The line is scrolled to the centre of the editor and the matched text is highlighted. This also works for a file that is already open in a tab.
  • Every match can be reached. A file shows its first 50 matches, and Show N more reveals the next batch.

Git Tab ​

Shows one header row with the current Git branch name and how many commits it is ahead of the base branch, then the commit history, newest first. A long branch name is shortened, and hovering it shows the full name.

Each commit is one line, the same height as a row in the intent list: the message, and the lines added and removed at the end. A long message is shortened. Hover the row, or focus it with the keyboard, to see the author, how long ago it was made and the short hash; a shortened message also shows in full above them. The commit's diff header shows the same author, time and hash.

  • Click a commit to select it. Its changed files are listed under it, each with its status as a word and a mark (Added, Modified, Deleted or Renamed), the file name, and its folder in a dimmer colour. Click the commit again to clear the file filter; the commit stays selected.
  • A file renamed in the commit shows as Renamed under its new path, and selecting it shows its diff.
  • A merge commit lists the files it brought in relative to its first parent, the same files its diff shows.
  • Click a file under the commit to show only that file's diff. Without a file selected, the diff shows every file in the commit.
  • The diff opens in the code pane in place of the editor, not in the chat column. See Commit diff in the code pane.
  • Switch to the Files or Search tab, or open a file, to return to the editor. There is no Back button.

Tabbed Editor (Right Panel) ​

The editor displays open files as tabs at the top and the active file path in the breadcrumb. Click a tab to switch files, or use Left/Right arrow keys when a tab has focus. Use its Close button or press Delete on the focused tab to close the file.

Close code view (×) at the top right of the editor closes Code View and returns to the workspace. It stays there when no file is open, including after you close the last tab and while a file is still loading, and above a commit's diff from the Git tab.

Monaco Editor (Read-Only) ​

Text files (SQL, YAML, Markdown, Python, TypeScript, JSON, etc.) open in the Monaco editor with full syntax highlighting. Features:

  • Line numbers
  • Syntax highlighting for all supported languages
  • Word wrap (toggleable)
  • Find and replace (Cmd+F / Ctrl+F)

Python files also connect automatically to the Intent's Python language server. While it is active, Code View provides inline diagnostics, hover details, and semantic highlighting for the packages available in the agent's data-engineering environment.

The editor is read-only. To edit a file, open it in the Artifact Modal from the chat (where an Edit button is available for unlocked artifacts).

If Python code intelligence is unavailable, the file still opens and all normal read-only Code View actions continue to work.

Image Preview ​

Image files (PNG, JPG, JPEG, GIF, WebP, SVG, BMP, ICO) are rendered as a visual <img> preview rather than showing raw binary or base64 content.


Selecting Code and Acting On It ​

When you select text in the editor or a Markdown preview, a Reference button appears near the selection. Choose it to add the selected snippet and file path to the chat composer. The composer receives focus so you can type what you want the agent to do.

The message is a draft: review or edit it, then send it when ready. Referencing code does not send a message automatically. Press Escape or click outside the toolbar to dismiss it. With a selection active, press Shift+F10 to reach the button from the keyboard.


Go to Chat Message ​

The Go to chat message for this file button scrolls the chat panel to the message whose tool call last referenced the currently open file. If no matching message is found, a brief "not found" indicator is shown.


Commit diff in the code pane ​

Selecting a commit in the Git tab replaces the editor with that commit's diff. The chat column keeps its width and stays in place.

  • A modified file's diff is side by side: the previous version is on the left and the new version on the right. Long lines wrap inside their side, so the diff does not scroll sideways.
  • A new or deleted file has nothing to compare, so its lines show in one column across the full width.
  • Each changed file is its own card that you can collapse or expand. For a commit of more than 5 files, only the first card is expanded.
  • When the code pane is narrower than about 720px, the diff switches to a single column.
  • To return to the editor, switch to the Files or Search tab, or open a file.

Commit Diff View ​

The commit-diff view (a separate activeView state value) shows the diff of one commit. It opens from the View branch action on the notice that reports the agent session stopped, when that notice knows which commit the session stopped at — the view shows that commit's diff. It displays:

  • The list of files changed in the commit
  • For each changed file: its diff

It is separate from the diff the Git tab shows in the code pane, which is described above.


States ​

StateWhat you see
Empty workspaceFile explorer shows an empty tree or "No files yet" message
Loading filesSpinner in the file explorer while the file tree is fetched
Files loadedFile tree populated; click any file to open it
File loadingBrief spinner in the editor tab while file content is fetched
Image fileImage rendered visually as <img> instead of code
No intent selectedCode View may show empty state until an intent with a workspace is selected
Python language server activePython code intelligence is available in the editor
Python language server unavailableThe file remains available without code-intelligence features

Quick Reference ​

ActionHow
Show or hide Working FolderClick the Code icon in the navigation bar
Open a fileClick file name in the Files tab
Search file contentsClick Search tab → type search term
Jump to a search matchClick the match; the editor opens at that line
See only changed filesUse the Changes section above the file tree
View commit historyClick Git tab in file explorer
View a commit's diffClick a commit in the Git tab; click a file to narrow it
Collapse the explorerClick the collapse button at the top right of the explorer tabs
Close a file tabClick × on the tab
Close Code ViewClick Close code view (×) at the top right of the editor
Switch open filesClick the tab
Go to chat message for fileClick Go to chat message for this file in the editor header
Act on selected codeSelect text in editor → click Reference → write your request in chat
Resize panelsDrag the vertical divider (250–500px range for left panel)
Edit a fileMust use the Artifact Modal in chat (Code View is read-only)