# IDE

> Every file of your code in one editor in the admin panel - an explorer of the repository, search in all the files, go to file, tabs, go to definition in every language, back and forward, saves, the debugger, and the history of each file in git with its lines annotated.

Source: https://docs.apimaker.dev/v4/docs/features/ide.html

Every file of the code of your account in one editor : the custom APIs, utility classes, schedulers, events, hooks, migrations, test cases, auth providers, settings, schemas and internationalizations, laid out as your [Git repository](https://docs.apimaker.dev/v4/docs/Git/git.html) has them.

- **From the dashboard** : `APIs & Logic → IDE` opens it on the whole repository. **Dashboard** in its bar takes you back.
- **From any code editor** : the **IDE** button at the top right of the editor opens it around the code of the page, which stays its first tab and is saved by the page. **Close IDE** gives you the editor of the page again ; the IDE keeps its tabs for the next time.

| | |
|---|---|
| Explorer | The folders of `src`, one per kind of item, and the files of the projects of the languages at the root. The YAML files API Maker writes for each item are not shown. |
| Search | Every file at once, with match case, whole word and regular expressions. Right click a folder or a file : **Search in this folder**. |
| Go to file | The letters of a name, in order. |
| Tabs | Drag them, close them with the middle button of the mouse, right click for **Close others**, **Close to the right**, **Close saved**. |
| Go to definition | In every language : a name of the same file, a utility class, the declarations of API Maker. **Back** and **Forward** go through the places you went. |
| Saves | A file is saved into its item, with the checks of its page. A file saved elsewhere since you opened it asks what to keep. |
| Debugger | With debugging on, the panel below the editor has a **Debug** tab and the IDE opens the file where the code stopped. See [Debugging](https://docs.apimaker.dev/v4/docs/features/debugging.html). |

## The panel below the editor

Opened from the [API testing page](https://docs.apimaker.dev/v4/docs/features/developer-tools.html#api-testing-page), the IDE shows the tabs of its right side below the editor : **Response**, **Logs**, **Docs**, **API Docs** (a custom API) and **Index Maker**, with **Debug** while debugging is on. **Send** in the bar of the IDE sends the request. Drag the line above the panel to resize it.

## Git : who wrote each line, and the history of a file

Once the [Git page](https://docs.apimaker.dev/v4/docs/Git/git.html) connects a repository to the account :

- **Annotate with Git Blame** (`Alt + A`, the right click menu of the editor, of a tab or of a file of the explorer) shows, left of each block of lines, the day and the author of the commit which wrote it. The colour of the bar is the age of the commit. Hover it for the commit and its message ; click it for the history of the file at that commit. Lines changed since the last commit say **Not committed yet**. `Alt + A` again closes the annotations.
- **Git History of This File** (the same menus) opens every commit which changed the item of the file, compared with the version before or any other. A version can be put back in its tab, as changes you save or not.

A file API Maker writes from the items (`package.json`, `tsconfig.json`, the declarations) has no history of its own.

## Keys

None of the keys of the IDE is a key of the browser's tabs : `Cmd/Ctrl + W` and `Cmd + Option + Left / Right` of a Mac stay the browser's.

| Action | Mac | Windows / Linux |
|---|---|---|
| Go to file | `Cmd + P` | `Ctrl + P` |
| Search in the files | `Cmd + Shift + F` | `Ctrl + Shift + F` |
| Explorer | `Cmd + Shift + E` | `Ctrl + Shift + E` |
| Show or hide the side | `Cmd + B` or `Cmd + \` | `Ctrl + B` or `Ctrl + \` |
| Show or hide the panel | `Cmd + J` | `Ctrl + J` |
| Back, forward | `Ctrl + Option + Left`, `Ctrl + Option + Right` | `Alt + Left`, `Alt + Right` |
| Close the tab | `Option + W` | `Alt + W` |
| Annotate with Git Blame | `Option + A` | `Alt + A` |
| Save, save all | `Cmd + S`, `Cmd + Option + S` | `Ctrl + S`, `Ctrl + Alt + S` |

The back and forward buttons of the mouse go back and forward too.
