# Папки (/ru/docs/workspaces/folders)

Папки группируют запросы в дереве запросов на боковой панели и несут настройки: авторизация, переменные и скрипты,
заданные для папки, действуют на каждый запрос внутри неё. На диске папка — это каталог в `requests/` с файлом
`_folder.toml`.

## Создание папки [#create-a-folder]

- **Файл › Новая папка** (<kbd>⇧</kbd><kbd>⌘</kbd><kbd>N</kbd>), пока на боковой панели открыты **Запросы**.
- Кнопка **+** рядом с **Запросы** на боковой панели, затем **Новая папка**.
- Щёлкните папку, удерживая Control, и выберите **Новая папка**, чтобы создать папку внутри неё, или щёлкните так по
  пустому месту в дереве, чтобы создать папку на верхнем уровне.

Имя новой папки сразу доступно для правки. Введите имя и нажмите <kbd>↩</kbd>.

**Новый запрос** в контекстном меню папки создаёт запрос внутри неё. **Файл › Новый запрос** (<kbd>⌘</kbd><kbd>N</kbd>)
и остальные команды «Новый … запрос» создают запрос там, где вы находитесь в дереве.

## Переименование, дублирование и порядок [#rename-duplicate-and-reorder]

Щёлкните запрос или папку, удерживая Control, чтобы открыть меню:

| Команда | Что делает |
| --- | --- |
| **Запустить запрос** / **Запустить папку** | Запускает в [Прогоне](/docs/requests/runner) вместе с проверками. |
| **Переименовать** | Правит имя на месте. То же делает <kbd>↩</kbd> на выбранной строке; <kbd>Esc</kbd> прекращает правку. |
| **Дублировать** | Копирует запрос (<kbd>⌘</kbd><kbd>D</kbd>). |
| **Переместить вверх**, **Переместить вниз** | Сдвигает объект на одно место внутри его папки. |
| **Показать в Finder** | Показывает файл или папку объекта. |
| **Переместить в Корзину…** | Спрашивает, затем перемещает объект в Корзину. |

У папок есть также **Новый запрос**, **Новая папка**, **Настройки папки…**, **Связать со спецификацией OpenAPI…** (или
**Проверить изменения в спецификации OpenAPI…**, когда связь уже есть; см. [спецификации](/docs/specs)),
**Описать в спецификации OpenAPI…** (см. [спецификации по трафику](/docs/specs/specs-from-traffic)) и
**Экспортировать папку…** (см. [экспорт](/docs/workspaces/exporting)).

Заданный вами порядок объектов сохраняется в `_folder.toml` папки, поэтому он одинаков для всех, кто открывает
рабочее пространство.

## Перемещение клавиатурой и мышью [#move-items-with-the-keyboard-and-the-mouse]

В дереве запросов <kbd>↑</kbd> и <kbd>↓</kbd> двигают выделение, <kbd>→</kbd> открывает папку, а <kbd>←</kbd>
закрывает её или переходит к папке выше.

Перетаскивайте запросы и папки, чтобы переместить их:

- На месте, куда попадёт объект, открывается промежуток, и строки ниже расступаются.
- Под открытой папкой сдвиньте указатель влево или вправо, чтобы выбрать уровень: внутрь папки или после неё.
- Задержитесь на закрытой папке, и она откроется, так что можно бросить объект между её элементами. Папки, открытые
  таким способом, закрываются снова, если перетаскивание закончилось в другом месте.
- Если перетащить один из нескольких выбранных объектов, переместятся все.

Бросьте файлы из Finder на дерево, чтобы [импортировать](/docs/get-started/importing) их в эту папку: Postman,
Insomnia, OpenAPI, HAR и другие форматы, которые читает Echolot. Вставьте или бросьте команду cURL, чтобы создать из
неё запрос.

## Выбор нескольких объектов [#select-several-items]

<kbd>⌘</kbd>-щелчок добавляет объект к выбору или убирает его. <kbd>⇧</kbd>-щелчок выбирает всё между последним
объектом и этим. Щёлкните любой из выбранных объектов, удерживая Control, чтобы увидеть, что можно сделать со всеми
сразу:

| Команда | Что делает |
| --- | --- |
| **Запустить N объектов** | Запускает их в Прогоне. |
| **Изменить N запросов…** | Меняет заголовки, параметры и авторизацию сразу у всех выбранных запросов. |
| **Новая папка с N объектами** | Создаёт папку и перемещает в неё объекты. |
| **Переместить N объектов в** | Перемещает их в **Рабочее пространство (верхний уровень)** или в любую папку. |
| **Переместить N объектов в Корзину…** | Спрашивает, затем перемещает все в Корзину. |

Если выбраны и папка, и объекты внутри неё, команды действуют на папку.

<Shot id="workspaces-multi-select-menu" alt="Два запроса выбраны в папке Orders, рядом их контекстное меню: «Запустить 2 объекта», «Изменить 2 запроса», «Новая папка с 2 объектами», «Переместить 2 объекта в» и «Переместить 2 объекта в Корзину»" />

## Правка нескольких запросов сразу [#edit-several-requests-at-once]

**Изменить N запросов…** открывает лист с тремя вкладками: **Заголовки**, **Параметры** и **Авторизация**. Каждое
сделанное там изменение попадает в каждый выбранный запрос, когда вы нажимаете **Применить к N запросам**.

- В **Заголовки** и **Параметры** перечислены все заголовки и параметры, которые есть хотя бы у одного из запросов.
  Значение, по которому запросы расходятся, показывается как «Разные» и остаётся у каждого как есть, пока вы не введёте
  новое. Строка, которой нет у части запросов, сообщает, у скольких она есть, и предлагает **Добавить во все**, чтобы
  дать её каждому запросу. Удалите строку, чтобы убрать её у каждого запроса.
- В **Авторизация** есть варианты **Оставить у каждого запроса свою**, **Наследовать от папки**, **Без авторизации**
  или та же авторизация, что у одного из выбранных запросов (**Как у «List orders» (Bearer Token)**). Чтобы задать всем
  новые учётные данные, укажите их у папки и выберите **Наследовать от папки**.

Всё изменение — один шаг: **Правка › Отменить** возвращает его для каждого запроса.

<Shot id="workspaces-bulk-edit" alt="Лист «Изменить 3 запроса» на вкладке «Заголовки»: один заголовок есть у всех трёх запросов, другой — у части" />

## Настройки папки [#folder-settings]

Щёлкните папку, удерживая Control, и выберите **Настройки папки…**. В листе такие вкладки:

| Вкладка | Что задаёт |
| --- | --- |
| **Авторизация** | Авторизацию для каждого запроса внутри, у которого нет своей. **Наследовать** (по умолчанию) передаёт вниз авторизацию папки выше или рабочего пространства. |
| **Переменные** | Переменные для каждого запроса в этой папке. Они переопределяют переменные рабочего пространства и окружения. |
| **Скрипты** | Скрипт перед запросом и скрипт с тестами, которые выполняются вокруг каждого запроса в этой папке. |
| **Документация** | Заметки о папке, хранящиеся в её `_folder.toml`. Здесь же **Предлагать эти запросы агентам как инструменты**: см. [агенты](/docs/ai/agents). |

Нажмите **Готово**, чтобы сохранить. Если закрыть лист иначе или закрыть окно, правки тоже сохраняются.

<Shot id="workspaces-folder-settings" alt="Настройки папки Orders на вкладке «Авторизация»: авторизация Bearer Token с токеном {{token}}" />

В Alpenglow папка **Orders** задаёт авторизацию Bearer с `{{token}}`, поэтому каждый запрос в ней отправляет токен,
который захватил **Auth › Sign in**. Запрос со своей авторизацией использует её.

## Настройки рабочего пространства [#workspace-settings]

Настройки рабочего пространства — вершина цепочки: их наследует каждый запрос в рабочем пространстве. Откройте их
командой **Настройки рабочего пространства…** в переключателе рабочих пространств или щёлкните пустое место в дереве
запросов, удерживая Control.

| Вкладка | Что задаёт |
| --- | --- |
| **Авторизация** | Авторизацию по умолчанию для каждого запроса. |
| **Переменные** | Переменные рабочего пространства — значения по умолчанию, которые переопределяют окружения, папки и запросы. Тот же список, что **Рабочее пространство** на странице [«Окружения»](/docs/workspaces/environments). |
| **Скрипты** | Скрипты, которые выполняются вокруг каждого запроса. |
| **Агенты** | Правила для ИИ-агентов в этом рабочем пространстве. См. [агенты](/docs/ai/agents). |
| **Прокси** | **Использовать настройку прокси приложения** или прокси для этого рабочего пространства, который передаётся коллегам и инструменту командной строки. См. [настройки запроса](/docs/requests/settings). |
| **Сертификаты** | Сертификаты CA, которым нужно доверять, и клиентские сертификаты, которые предъявляются, по хостам. См. [настройки запроса](/docs/requests/settings). |

## Как запросы наследуют [#how-requests-inherit]

Для авторизации запрос использует первый из этих уровней, где что-то задано: сам запрос, его папка, папки выше (от
ближайшей наружу), затем рабочее пространство.

Переменные, наоборот, складываются: запрос видит переменные всех уровней, а если на двух уровнях есть одно и то же
имя, побеждает ближайший. Порядок описан в разделе [«Окружения»](/docs/workspaces/environments#which-value-wins).

Скрипты выполняются по порядку вокруг запроса: сначала скрипты рабочего пространства, затем скрипты каждой папки
снаружи внутрь, затем собственные скрипты запроса. См. [скрипты и тесты](/docs/requests/scripts-and-tests).

Заголовки из папок не наследуются; общие заголовки задавайте командой **Изменить N запросов…** или в скрипте перед
запросом.

## Перемещение запроса меняет то, что он наследует [#moving-a-request-changes-what-it-inherits]

Запрос берёт авторизацию, переменные и скрипты папки, в которой лежит. Переместите его в другую папку, и он возьмёт
настройки той папки. Если запрос полагался на авторизацию прежней папки, после перемещения проверьте его вкладку
**Авторизация**.

## Удаление папок [#deleting-folders]

**Переместить в Корзину…** для папки сначала спрашивает и сообщает, сколько запросов в ней лежит. Папка, её настройки
и все запросы внутри попадают в Корзину в Finder. **Правка › Отменить** возвращает их.
