Claude Code 桌面端:把 Diff/终端弹到第二屏
桌面端 Code 页本来就能在同一个窗口里拖面板:聊天、Diff、终端、浏览器、文件、计划、任务,按标题栏挪位置、拖边缘改大小。新的一步是:任意面板可以弹成独立系统窗口,拖到第二块屏上,主窗口里 Claude 继续干活;看完再拖回来停靠。
窗内拆分解决的是「这一屏怎么排」;弹窗解决的是「那块屏专门给人看」。两件事不要混。
弹出去,再拖回来
典型用法:
- 把 Diff 弹到第二屏,主屏盯聊天和任务进度,改动实时刷在旁边
- 把 终端 弹出去盯测试、日志、长命令,主窗口继续给 Claude 下指令
- 审完一段,把面板拖回主窗口停靠,布局回到单屏
Claude 不会因为面板离开主窗口就停。代理在主会话里跑,弹出去的只是你盯的那一块视图。随时停靠,没有「弹出之后就另开了一个互不相干的会话」这回事。
桌面应用请走官方更新通道升到带该能力的版本(macOS 用 Claude → Check for Updates,Windows 用 Help → Check for Updates)。面板本身从会话工具栏的 Views 菜单打开;终端用 Ctrl+`(macOS 与 Windows 相同),Diff 常用 Cmd+Shift+D(Windows 换 Ctrl)。
会话:并排或上下叠
面板弹窗管的是一个会话内部的视图。多个会话要同时看见,用侧边栏:
- 按
Cmd(Windows 为Ctrl)点另一个会话,会在当前窗口里再开一栏 - 拖面板标题栏,可以把两个会话改成左右并排或上下叠
- 拆分生效时,再点侧边栏会替换当前焦点那一栏
Cmd+\(Windows 为Ctrl+\)关掉焦点面板,回到单会话
需要隔离工作区时,开会话勾 worktree,各树文件互不踩,见 claude --worktree。弹窗不能替代 worktree:第二屏只是把视图挪走,不会给你单独一份 checkout。
双屏时真正好用的排法
| 场景 | 主屏留什么 | 第二屏弹什么 |
|---|---|---|
| 看它改、你审 | 聊天 / 任务 | Diff |
| 跑测同时继续下指令 | 聊天 | 终端 |
| 两个会话对照 | 会话 A | 会话 B(并排或另一窗口) |
| 单屏笔记本 | 不必弹 | 窗内拆分就够 |
实用习惯:
- 边看代理边读 Diff:主屏只留对话,Diff 独占第二屏滚动、点行、写评论,避免在窄栏里来回切
- 终端当监视器:长测试、安装、日志滚屏很占地方,弹出去之后主会话的聊天不会被挤没
- 权限卡点仍在主会话处理。弹到第二屏不等于绕过确认,规则见 权限与沙箱
什么时候 CLI 就够,不必上桌面
桌面端和 CLI 是同一套引擎,配置、CLAUDE.md、skills 共用。不是「上了桌面才算会用」。
更适合桌面:
- 要看可视化 Diff、边看边点行评论
- 多会话、多块屏,需要把终端或 Diff 钉在第二显示器
- 想在一个窗口里管并行会话,而不是开一排终端
CLI 仍然更合适:
- 脚本、CI、
claude -p/--bare,见-p与--bare - 你已经习惯 tmux / 终端分屏,并不需要图形 Diff
- 当前只有一个会话、改动很小,开桌面纯属换皮
同一台机器可以两个都开,会话历史不共用,但项目约定是共用的。从 CLI 把当前会话丢进桌面,用 /desktop(订阅登录、macOS / x64 Windows)。插件、技能在桌面里也能管,安装与结构仍以 插件指南 为准。
实操小结
- 更新桌面应用;Views 打开 Diff 或终端,把面板弹成独立窗口拖到第二屏
- 主窗口继续跟 Claude 对话,看完再把面板停靠回来
- 两个会话要同时看见:
Cmd/Ctrl点侧边栏并排,不必为每个会话各开一个应用 - 文件隔离靠 worktree,不靠弹窗
- 只要脚本化和终端流,继续用 CLI,别为了「有窗口」硬切桌面
第二屏值钱的地方是让「它在写」和「你在审」同时发生,而不是多一个装饰性窗口。