# Console 窗口

> View error messages, warnings, and debug logs from your scripts and the Unity Editor.

**Console** 窗口会显示 Editor 生成的错误、警告和其他消息。这些错误和警告信息有助于在项目中查找问题，例如脚本编译错误。它们还会提醒您 Editor 已自动执行的操作，例如替换丢失的元文件，这些操作可能会导致项目其他地方出现问题。

为了帮助您调试项目，请使用 [Debug](/engine/6000.0/manual/scripting/debugging-and-diagnostics/class-debug.md) 类将自己的消息打印到 Console。例如，可以打印脚本中某些位置的变量的值，以查看它们的变化。

本页面介绍了在 Console 窗口下可以使用的选项，以及如何通过搜索特定关键字来过滤消息。

## Console 窗口界面

如要从 Unity 的主菜单中打开 Console，请选择 **Window (窗口)** > **常规 (General)** > **控制台 (Console)**。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/Console.png)

**A**.Console **工具栏**包含用于控制消息显示方式以及[搜索和过滤](#search)消息的选项。

**B**.Console 窗口菜单包含了用于[打开日志文件](#log-file)、控制列表中显示的[消息数量](#line-count)以及设置堆栈跟踪的选项。

**C**.Console 列表会显示每条已记录消息的条目。选中一条消息可在详细信息区域显示其整个文本。您可以选择在此处显示的每条消息的行数。请参阅下文的[调整行计数](#line-count)。

**D**.详细信息区域会显示所选消息的全文。如果启用堆栈跟踪，详细信息区域则会将代码文件中对特定行的引用显示为可单击的链接。

## Console 工具栏选项

Console 窗口的工具栏包含用于控制消息显示方式以及搜索和过滤消息的选项。

| **选项**：                 |                       | **功能**：                                                                                                                                                                                                               |
| ----------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Clear**               |                       | 移除从代码中生成的所有消息，但会保留编译器错误。打开包含清除选项的下拉菜单。                                                                                                                                                                                |
|                         | Clear On Play         | 每当进入播放模式时就会自动清空控制台。                                                                                                                                                                                                   |
|                         | Clear on Build        | 在构建项目时清空控制台。                                                                                                                                                                                                          |
|                         | Clear on Recompile    | 重新编译项目时清空控制台。                                                                                                                                                                                                         |
| **Collapse**            |                       | 仅显示重复消息的第一次出现。有时在每次帧更新时会生成运行时错误（例如 null 引用），此选项在这种情况下非常有用。                                                                                                                                                            |
| **Error Pause**         |                       | 每当从脚本调用 [`Debug.LogError`](/engine/6000.0/script-reference/unity-engine/debug/log-error.md) 时暂停回放。此选项可用于在执行中冻结特定点的回放并检查场景。从脚本调用 [`Debug.Log`](/engine/6000.0/script-reference/unity-engine/debug/log.md) 时，此选项不会暂停回放。 |
| **\[Attach-to-Player]** |                       | 打开一个下拉菜单，其中包含用于连接到在远程设备上运行的开发构建，以及在控制台中显示其播放器日志的选项。此选项标有目标开发构建（在 Console 窗口中显示的日志构建）的名称。如果控制台未连接到远程构建，则会将其标记为 **Editor**，以显示 Console 窗口中显示的日志来自本地 Unity Editor。                                                       |
|                         | Player Logging        | 如果控制台连接到远程开发构建，则会启用构建的播放器日志记录。禁用此选项会暂停日志记录，但控制台仍然保持连接到目标构建。禁用此选项还会隐藏此下拉菜单中的其余选项。选择**播放器日志记录 (Player Logging)** 下面列出的任何构建可在 Console 窗口中显示其日志。                                                                          |
|                         | Editor                | 如果控制台连接到远程**开发构建**，则选择此选项可显示来自本地 Unity Player 的日志，而不是来自远程构建的日志。                                                                                                                                                       |
|                         | `<Enter IP>`          | 打开**输入播放器 IP (Enter Player IP)** 对话框，可以在其中指定远程设备上的开发构建的 IP 地址。如要连接到该构建，请在对话框中选择**连接 (Connect)**，然后将其添加到下拉菜单底部的开发构建列表中。                                                                                                |
|                         | \[DEVELOPMENT BUILDS] | 列出可用的开发构建。这包括自动检测到的构建以及使用**输入 IP (Enter IP)** 选项添加的构建。                                                                                                                                                                |

## 搜索和过滤控制台输出

可以从控制台搜索栏中搜索包含特定关键字的控制台消息。在输入搜索词时，控制台将过滤消息以仅显示包含匹配文本的消息。控制台仅会高亮显示消息文本中的第一个匹配项，且仅当其是消息中的可见部分时才会显示（请参阅下文[调整行计数](#line-count)）。


**搜索“名称”时会突出显示每条消息中的第一个匹配项:**
![](/api/media?file=/engine/6000.0/media/images/ConsoleSearch.png)

可以搜索在任何控制台消息中显示的任何内容，包括数字和特殊字符。例如，您可以搜索控制台记录消息的时间。

搜索会查找与在搜索栏中键入的内容完全匹配的内容。不能同时搜索两个不同的词语，也不能使用常见的搜索引擎运算符。

还可以按类型来过滤控制台消息。单击搜索栏旁边的按钮以进行切换：

| **按钮**                                                                                                           | **功能**                  |
| ---------------------------------------------------------------------------------------------------------------- | ----------------------- |
| &#xA;**Frame:**&#xA;![](/api/media?file=/engine/6000.0/media/images/ConsoleFilterMessage.png)**Messages switch** | 显示控制台中的消息数量。单击可显示或隐藏消息。 |
| &#xA;**Frame:**&#xA;![](/api/media?file=/engine/6000.0/media/images/ConsoleFilterWarning.png)**Warnings switch** | 显示控制台中的警告数量。单击可显示或隐藏警告。 |
| &#xA;**Frame:**&#xA;![](/api/media?file=/engine/6000.0/media/images/ConsoleFilterError.png)**Errors switch**     | 显示控制台中的错误数量。单击可显示或隐藏错误。 |

## 调整行计数

每个控制台条目的最大长度为 10 行。

要控制每个条目在列表中显示多少行，请单击控制台的菜单按钮，然后从菜单中选择**日志条目 (Log Entry)**> **\[X] 行 (\[X] Lines)**，其中 **\[X]** 表示每个条目会显示的行数。


**日志条目行计数:**
![](/api/media?file=/engine/6000.0/media/images/ConsoleAdjustLineCount.png)

行数越大，每个条目显示的文本就越多，但会减少任何给定时间可见的条目数。行计数不会影响控制台搜索功能，该功能总是搜索完整的消息文本。如果匹配的文本位于隐藏的行中，则搜索将返回结果中的消息，但不会展开来显示或高亮显示匹配的文本。可以在详细信息区域看到完整的消息文本，但是匹配的文本不会高亮显示。

## 堆栈跟踪日志记录

Unity Console 消息和日志文件可以包含详细的堆栈跟踪信息。可以使用[堆栈跟踪日志记录](/engine/6000.0/manual/scripting/debugging-and-diagnostics/stack-trace.md)设置来控制堆栈跟踪信息的数量。

## 从控制台打开日志文件

Unity 或代码写入 Console 窗口的所有内容也会写入[日志文件](/engine/6000.0/manual/scripting/debugging-and-diagnostics/log-files.md)。可以从 Console 窗口菜单中打开日志文件。选择**打开播放器日志 (Open Player Log)** 或**打开编辑器日志 (Open Editor Log)**。
