Search

Find text across the project, filter files by name, search inside a file, and let the agent search for you.

Embedr searches your project by exact text. There is no separate index to build or refresh: results always reflect the files on disk (or in the web project) at the moment you search. Datasheets are indexed separately when you import them; see Datasheets.

What you want Use Shortcut
Text in any project file Search palette Cmd+Shift+F (Windows/Linux: Ctrl+Shift+F), or Cmd/Ctrl+P
A file by name Search files... box in the file explorer Search icon (Toggle Search) in the explorer header
Text in the open file Find in file Cmd/Ctrl+F
Replace in the open file Replace in file Cmd+Option+F on macOS, Ctrl+H elsewhere
A line number Go to line Cmd/Ctrl+G
A chat thread Filter threads... in the Threads sidebar Search icon in the Threads header
A setting Search settings... at the top of Settings Cmd/Ctrl+, then type
A part on the board The search box in the BOM panel ("Search parts, references, packages, or MPNs")

Search palette

Open it with Cmd/Ctrl+Shift+F, Cmd/Ctrl+P, the magnifier in the editor toolbar (Search Codebase), or Search files on the empty editor.

  1. Type in Search codebase.... Results update as you type.
  2. Each result shows the file name, its folder, the line number and the matching line with the match highlighted.
  3. Use ↑ and ↓ to move, Enter to open the file at that line, Esc to close. Clicking a result also opens it.

How it matches:

  • literal text, not regular expressions (Serial.begin( finds exactly that),
  • case-insensitive (wifi.begin finds WiFi.begin),
  • up to 50 results; refine the query if the one you want is not shown.

Good queries are distinctive strings: a function name (readSensor), a macro (LED_PIN), an include (Adafruit_BME280.h), an error message, a net name in a .zen file (VBUS_5V0), a reference designator (U3).

What is searched

The palette searches text files in the project. It skips:

  • hidden files and folders (names starting with ., such as .git, .pio, .embedr),
  • files your .gitignore excludes.

In the desktop app, if ripgrep (rg) is not on your PATH, Embedr uses its own scanner, which also skips build, dist, out, target, node_modules, .pio and similar output folders, and files over 2 MB. In the browser, the search runs over the web project's files.

If the palette says No results found, check the spelling, try a shorter fragment, and remember that generated output in ignored folders is not searched.

Filter files by name

Click the search icon in the file explorer header (Toggle Search) and type in Search files.... The tree shrinks to files and folders whose names contain the text, with matching folders expanded. Esc or the x clears it. This matches names only, not contents.

Search inside a file

In the code editor, Cmd/Ctrl+F opens the find bar for the current file; replace is Cmd+Option+F on macOS and Ctrl+H on Windows and Linux. Cmd/Ctrl+G jumps to a line number.

The agent searches the project itself when it needs to. You see a Search project row in the timeline ("Searching project files…"); expand it for the pattern and the matching lines. It can use regular expressions and narrow to folders or file types.

Ask in plain words:

Find every place we write to the display buffer outside the render task.

Where is the I2C address of the IMU set, and is it the same in the firmware and the Zener source?

List the GPIOs used in src/ and check them against the pin table in pcb/board.zen.

For component facts, the agent searches imported datasheets with Search datasheets instead. To point it at a specific file, type @ in the composer and pick the file.