# 文件夹 (/zh/docs/workspaces/folders)

文件夹在边栏的请求树中对请求分组，并且带有设置：在文件夹上设置的认证、变量和脚本，适用于其中的每个请求。在磁盘上，文件夹是 `requests/` 下带有 `_folder.toml` 的目录。

## 创建文件夹 [#create-a-folder]

- 边栏显示**请求**时，选择**文件 › 新建文件夹**（<kbd>⇧</kbd><kbd>⌘</kbd><kbd>N</kbd>）。
- 点按边栏中**请求**旁的 **+**，然后选择**新建文件夹**。
- 按住 Control 键点按文件夹并选择**新建文件夹**，可在其中创建一个；按住 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>）。 |
| **上移**、**下移** | 在其文件夹内把项目移动一个位置。 |
| **在访达中显示** | 显示项目的文件或文件夹。 |
| **移到废纸篓…** | 先询问，然后把它移到废纸篓。 |

文件夹还有**新建请求**、**新建文件夹**、**文件夹设置…**、**链接到 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> 收起它或转到上一级文件夹。

拖移请求和文件夹即可移动它们：

- 项目将要落下的位置会出现一个空隙，下面的行会让出位置。
- 在已展开的文件夹下方，向左或向右移动指针来选择层级：放进文件夹内，还是放在它之后。
- 在已收起的文件夹上停留片刻，它就会展开，这样你就能放在其项目之间。以这种方式展开的文件夹，会在拖移于别处结束时再次收起。
- 拖移多个选中项目中的一个，会一起移动它们。

把文件从访达拖到树上，可将它们[导入](/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** 文件夹设置了使用 `{{token}}` 的 Bearer 认证，因此其中每个请求发送的，都是 **Auth › Sign in** 捕获的令牌。设置了自己认证的请求则改用它自己的。

## 工作区设置 [#workspace-settings]

工作区设置是链条的最顶端：工作区中每个请求继承的内容。用工作区切换器中的**工作区设置…** 打开它们，或按住 Control 键点按请求树中的空白处。

| 标签页 | 设置的内容 |
| --- | --- |
| **认证** | 每个请求的默认认证。 |
| **变量** | 工作区变量，即环境、文件夹和请求所覆盖的默认值。与[环境](/docs/workspaces/environments)页面上的**工作区**是同一份列表。 |
| **脚本** | 在每个请求前后运行的脚本。 |
| **智能体** | 此工作区中 AI 智能体的规则。见[智能体](/docs/ai/agents)。 |
| **代理** | **使用 App 的代理设置**，或为此工作区设置的代理，它会随工作区一起交给同事和命令行工具。见[请求设置](/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]

对文件夹选择**移到废纸篓…** 会先询问，并说明其中有多少个请求。文件夹、它的设置和其中的每个请求都会进入访达中的废纸篓。**编辑 › 撤销**可以把它们找回来。
