# IDE Integration

Astro Editor is [built for writing, not coding](https://astroeditor.danny.is/getting-started/philosophy/), but sometimes you need to jump into a proper code editor — to tweak a component, fix a build, or edit something Astro Editor deliberately hides. Configure your editor once and Astro Editor can hand a file, a collection, or the whole project straight over to it.

## Configuring your IDE

Set your **IDE Command** in the [General preferences](https://astroeditor.danny.is/preferences/#general) (<Kbd mac="Cmd+," windows="Ctrl+," />). This is the command Astro Editor runs to launch your editor. If your editor's command-line launcher is on your `PATH`, the name alone is enough:

- `code` for Visual Studio Code
- `cursor` for Cursor
- `subl` for Sublime Text
- `zed` for Zed

Otherwise, give the full path to the executable (e.g. `/usr/local/bin/nvim`). A leading `~/` is expanded to your home directory.

Once a command is set, the "Open in IDE" features below become available. Until then, they stay hidden.
**Keep it to a single command:** The IDE Command must be a single executable — a name or a path, with no extra arguments or flags. `code` works, but `code --reuse-window` does not, because the whole string is treated as the name of one program. Astro Editor runs it directly rather than through a shell, so shell features like `&&`, `|`, and `;` won't work either, and the path being opened is checked for unsafe characters first.

## Opening from the context menu

With an IDE configured, [right-clicking a file](https://astroeditor.danny.is/file-management/overview/#the-context-menu) in the sidebar adds an **Open in IDE** item that opens that file directly in your editor.

## Opening from the command palette

The [command palette](https://astroeditor.danny.is/reference/commands/) (<Kbd mac="Cmd+P" windows="Ctrl+P" />) gains three commands when an IDE is configured:

| Command | Opens |
| --- | --- |
| **Open File in IDE** | The file you're currently editing |
| **Open Collection in IDE** | The folder for the current collection |
| **Open Project in IDE** | The entire project |