Editor and Files
Open projects, switch between the Agent and IDE views, work with the file explorer and tabs, and open Embedr's built-in views.
The editor opens when you open a project. It combines the agent chat, a file explorer, a tabbed editor area and a toolbar along the bottom of the window.
Open a project
Projects start on the home page.
| Button | What it does |
|---|---|
| Create Blank Project | Creates a new project in Embedr's project folder. |
| Import KiCad | Brings an existing KiCad project into Embedr. See Board and KiCad. |
| Open Folder (desktop) / Import Folder (browser) | Opens an existing folder as a project. On desktop the folder stays where it is on disk. |
| Clone Repository (desktop) | Clones a Git repository and opens it. See Version control. |
You can also describe a project in the prompt box at the top of the home page and send it; Embedr creates the project and hands your brief to the agent.
Recent projects
Recent Projects lists every project Embedr knows about, with a count and a relative time.
- Filter projects... narrows the list by name.
- The sort menu switches between Last opened and Recently created.
- Hover a row for its actions: Rename project, and the trash icon.
The trash icon behaves differently depending on where the project lives:
| Project | Trash icon | What happens |
|---|---|---|
| Created inside Embedr | Delete project | The project folder is deleted. This cannot be undone. |
| Opened with Open Folder or cloned | Remove from Embedr | Only the list entry goes. The folder stays where it is on disk. |
Folders you opened with Open Folder cannot be renamed from the list; rename them on disk instead.
Legacy Arduino sketches
If you open a folder with a root .ino sketch and no embedr.yaml, the toolbar shows Migrate Project instead of Compile and Flash. Migrating creates src/main.ino and embedr.yaml, then removes the old root .ino. Compile and Flash appear once the project is migrated. See Project anatomy.
Agent and IDE views
The Agent / IDE switch sits in the middle of the title bar. Your choice is remembered.
| Area | Agent view | IDE view |
|---|---|---|
| Left panel | Chat history (threads) | File explorer |
| Centre | Agent chat | Editor tabs |
| Right panel | Editor tabs | Agent chat |
Two title-bar buttons show and hide the side panels:
- The left button (Toggle Chat History in Agent view, Toggle File Explorer in IDE view).
- The right button (Toggle Editor Panel in Agent view, Toggle Chat with Agent in IDE view).
The same title bar has Keyboard shortcuts and Settings. Drag the dividers between panels to resize them.
Use the Agent view when the agent is doing most of the work and you mainly review. Use the IDE view when you are editing code yourself and want the agent alongside.
The bottom toolbar
The toolbar along the bottom of the editor holds, from left to right:
| Control | Purpose |
|---|---|
| Back arrow | Back to Home. If files have unsaved changes, Embedr asks whether to save them first. |
| Target, device and environment pickers | What to build for and where to flash. See Targets and environments. |
| Share | Publishes a link to the project. See Sharing projects. |
| Branch button | Opens the Git menu. See Version control. |
| Compile and Flash | Build and upload firmware. See Build, upload and serial. |
| Search icon | Opens project search (Cmd/Ctrl+Shift+F). |
Electronics-only projects hide the target, device, environment, Compile and Flash controls.
File explorer
The file explorer shows the project folder as it is on disk. Its header has five buttons: Toggle Search, New File, New Folder, Refresh and Collapse All. Toggle Search shows a Search files... box that filters the tree by name.
Right-click a file or folder for its menu:
| Item | Notes |
|---|---|
| New File, New Folder | Creates the item inside the folder you clicked. |
| Copy, Cut, Paste | Works on one item or a multi-item selection. |
| Rename | One item at a time. |
| Delete | Asks for confirmation. Deletion cannot be undone from Embedr. |
| Reveal in Finder | Shows the item in your system file manager (desktop). |
Selection and keyboard:
- Cmd/Ctrl+click adds an item to the selection; Shift+click selects a range.
- Arrow keys move through the tree; Right expands a folder, Left collapses it, Enter opens the item.
- F2 renames, Cmd/Ctrl+C, Cmd/Ctrl+X and Cmd/Ctrl+V copy, cut and paste.
- Cmd+Backspace (macOS) or Ctrl+Delete (Windows and Linux) deletes.
Drag files from your desktop onto the explorer to copy them into the project root.
The explorer also has a Datasheets section for the PDFs you have added to the project. See Datasheets.
Changes made outside the editor, by the agent, a terminal command, Git or another editor, appear in the tree automatically. Use Refresh if something looks out of date.
Tabs
Each open file or view is a tab above the editor area.
- An amber dot on a tab means unsaved changes.
- Drag tabs to reorder them.
- Cmd/Ctrl+W closes the active tab.
- Right-click a tab for Save (when it has unsaved changes), Close, Close Others, Close Tabs to the Left, Close Tabs to the Right and Close All.
The Add tab menu
The + button at the end of the tab strip (Open Tab when no tabs are open) opens the views that are not files:
| Group | Views |
|---|---|
| Workspaces | Schematics, Board, Mechanical |
| Tools | Terminal, Serial Monitor, Output, BOM, Manufacturing |
| (below a divider) | Review Changes, Settings |
Where each one is covered:
- Schematics and Board: Schematics and PCB, Board and KiCad
- Mechanical: Mechanical design
- BOM and Manufacturing: Manufacturing and ordering
- Terminal: Terminal and setup
- Serial Monitor and Output: Build, upload and serial
- Review Changes: Version control
- Settings (also Cmd/Ctrl+,): Settings and privacy
When no tabs are open, the editor area offers shortcuts to Search files, Terminal, Schematics, Board, Mechanical and Settings.
Pinned tabs in shared projects
When you open someone else's shared project in the browser, the README and any views the owner chose under Opens with are pinned at the start of the tab strip. They have no close button and other tabs cannot be dragged in front of them. See Sharing projects.
How files open
Embedr picks an editor or preview from the file name.
| Files | Opens as |
|---|---|
Source and config: .c, .h, .cpp, .hpp, .ino, .py, .ini, .json, .yaml, .toml, .s, .ld, CMake, Makefiles and more |
Code editor with syntax highlighting |
embedr.yaml, platformio.ini |
Code editor, with their own file icons |
.zen (Zener hardware source) |
Code editor with Zener highlighting, completions, hover help, go to definition and inline problem markers |
KiCad text files: .kicad_sch, .kicad_pcb, .kicad_sym, .kicad_mod, .kicad_pro, .kicad_dru, fp-lib-table, sym-lib-table |
Code editor with KiCad highlighting |
.md |
Markdown preview (editable), with a source view |
.png, .jpg, .gif, .svg, .webp, .bmp |
Image preview |
.pdf |
PDF viewer |
.step, .stp, .stl, .glb, .3mf and other 3D models, firmware binaries (.bin, .hex, .elf), archives |
View only |
The KiCad source files open as text. To see a board or schematic drawn, open the Board or Schematics tab. To see a 3D model, use the Mechanical tab.
The bar under the code editor shows the cursor line and column; click it (or press Cmd/Ctrl+G) to go to a line.
Saving
- Cmd/Ctrl+S saves the active file; Cmd/Ctrl+Shift+S saves all files.
- Compile and Flash save every open file first.
- Settings → Editor → Auto Save on Focus Loss saves when you click away from the editor.
- If a save fails, a Retry save link appears under the editor.
Markdown preview
Markdown files open in preview. The preview is editable: type into it directly, and images referenced with relative paths load from the project. Press Cmd/Ctrl+Shift+V to switch between preview and the source editor.
In a read-only shared project, Markdown always shows as preview.
Search
- Cmd/Ctrl+P or Cmd/Ctrl+Shift+F opens Search codebase..., which searches the text of every file in the project. Use the arrow keys and Enter to open a result, Esc to close.
- Cmd/Ctrl+F finds in the current file; Cmd+Option+F (macOS) or Ctrl+H replaces.
- Cmd/Ctrl+= and Cmd/Ctrl+- change the editor text size.
The full list is under the keyboard icon in the title bar and in Keyboard shortcuts.
Add a selection to chat
Select text and an Add to Chat button appears next to the selection. It adds the exact text to your next message for the agent. It works in:
- the code editor,
- the Output tab,
- the Serial Monitor,
- the Terminal (also in its right-click menu).
Keep selections tight: the failing compiler error rather than the whole build log, the ten serial lines around a fault rather than an hour of output.
Add to Chat (Output tab):
src/main.cpp:42:5: error: 'dht' was not declared in this scope
Prompt:
Fix this build error. The sensor is a DHT22 on GPIO 4.
