LingCode 窗口底部那一排标签——问题、输出、运行控制台、控制台、终端、调试控制台、测试结果、REST 客户端、端口——是 IDE 告诉你"刚刚发生了什么"的地方。难点不在于任何单个标签,而在于其中四个看起来都像"日志",导致人们经常点错。本文先讲心智模型,再用一句话说明九个标签各自的职责。
底部面板的每个标签回答的是一个不同的问题——我的代码编译通过了吗?、我的应用打印了什么?、操作系统在说什么?、执行停在哪里? 当你知道某个标签回答哪个问题,就不用再到处翻找了。面板本身是一个共享的停靠区:点击标签切换内容,拖动它上方的分隔线可以调整高度(在较矮和较高之间伸缩),这样既能给嘈杂的构建日志更多空间,又不会挤掉编辑器。
这是最值得先讲清楚的混淆点。输出、运行控制台、控制台、调试控制台都在向你滚动文本,因此感觉可以互换。其实不然——每一个连接的是不同的来源:
| 标签 | 回答 | 文本的来源 |
|---|---|---|
| 输出 Output | 我的代码编译通过了吗? | 构建——编译器 / xcodebuild / Gradle 的输出,并解析出错误和警告。 |
| 运行控制台 Run Console | 我的应用打印了什么? | 你正在运行的程序自己的 stdout / stderr——你的 print() 和崩溃信息。 |
| 控制台 Console | 系统在说什么? | 设备 / 模拟器的系统日志——iOS 模拟器、My Mac 或 Android Logcat——带有操作系统级别的严重程度。 |
| 调试控制台 Debug Console | 执行停在哪里? | 调试器——Apple 上的 lldb-dap、Android 上的 JDWP/DAP——外加底层诊断日志。 |
经验法则:输出里的红色错误意味着没编译过;运行控制台里的红色行意味着编译过了、然后你的应用报怨了;控制台里的噪声通常是操作系统而不是你;只有当你命中断点或在输入调试器命令时,才会待在调试控制台里。
项目中每一个错误和警告的单一、可排序列表——既包含上次构建的编译器诊断,也包含你边打字边产生的实时语言服务器(LSP)诊断。可按严重程度(错误 / 警告 / 信息)或来源(LSP 与构建)筛选,点击任意一行即可跳到出问题的那一行,把整个可见列表复制后粘进对话,或运行"清理未使用项"对未使用的符号应用 LSP 快速修复。可以把"问题"看作哪里出错的索引;"输出"则是它背后的原始记录。
功能完整的集成 Shell 终端——就是你在 Terminal.app 里用的那个 bash/zsh,只不过在 IDE 内部。它支持多标签,而且标签可以左右或上下分屏,这样你可以在一个窗格里盯着开发服务器,在另一个窗格里运行命令。选中任意文本,"添加到对话"操作会把终端输出交给 agent;右键点击选区可"用 AI 解释"。这个标签会一直挂载在其他标签下面,所以切走时长时间运行的进程仍会继续。
运行测试后,这个标签会把每个测试显示为通过 / 失败 / 跳过并附带耗时,可按状态筛选并显示实时计数。失败信息会把堆栈帧路径变成可点击的链接,直接跳到准确的源代码行,而覆盖率开关会叠加显示你的测试实际跑到了哪些行。详见下方的专门教程。
内置于 IDE 的可视化 HTTP 客户端——选一个方法、输入 URL、设置请求头和请求体、点击发送,然后读取带有状态、耗时和大小的响应。它会保留一小段最近请求的历史。这正是大多数"这个按钮是干什么的?"截图里出现的标签;下方的深度教程会带你走一遍真实请求。
本地端口的实时列表——你的开发服务器和转发端口——显示哪些正在监听、由哪个进程占用,以及一个一键在浏览器中打开 http://localhost:<端口> 的地球按钮。你也可以手动添加一个端口来盯着它。详见下方。
这九个标签里有三个值得细看。其余六个,你现在已经足够了解,能在需要时选对那一个了。