Morning, Workspaces!
One-click launcher for terminals and Codex tabs.
早安,工作区:在 VS Code 侧栏管理终端命令和 Codex 会话,保存启动组合,在下次工作时一键打开。支持本地窗口和 Remote SSH,命令在扩展所在的环境中执行。界面语言为简体中文。
安装
需要 VS Code 1.93 或更新版本。在扩展面板搜索 @id:SugerForU.morning-workspaces 并安装,或执行 扩展:从 VSIX 安装…,选择 morning-workspaces-0.3.0.vsix。在 Remote SSH 窗口中,请安装到远端,并使用需要的 VS Code 配置文件(Profile)。
安装后点击活动栏的 早安,工作区 图标,或执行 早安,工作区:打开启动清单。启动清单按工作区独立保存,首次安装时为空。
Codex 标签页需要在当前 VS Code 窗口安装并启用官方 openai.chatgpt 扩展。Codex 终端方式需要默认 shell 中可以运行 codex;普通终端命令无需安装 Codex。
使用
- 点击 添加,选择终端命令或 Codex,填写名称和启动参数。
- 用卡片右下角的开关选择随批次启动的条目,点击 一键启动。
- 下次打开工作区时,上次批量启动的条目会自动选中,点击 一键启动 即可再次打开。
每张卡片的 启动 / 切换 用于单独打开或定位已有终端、标签页。右上角 ⋯ 菜单提供编辑、另开一个、排序和移除。标题只用于显示名称;按住标题或卡片空白处可以拖动排序,插入线表示目标位置,松开后保存。按 Esc 取消拖动。
批次按清单顺序逐项启动,相邻条目之间等待 5 秒。已有终端和标签页直接复用;已手动安排的标签页保留所在组和位置。移除或编辑条目、关闭条目开关,都不会结束正在运行的终端。
终端命令
填写完整的单行 shell 命令。工作目录支持绝对路径、相对路径、~ 和 ${workspaceFolder};留空使用工作区根目录,未打开文件夹时使用用户主目录。新终端默认在底部面板打开,可通过 terminalLauncher.location 改为编辑区。
新终端通过 VS Code Shell Integration 等待 shell 就绪后提交命令。请启用 terminal.integrated.shellIntegration.enabled,并使用支持 Shell Integration 的 shell,例如 Bash、Zsh、Fish 或 PowerShell。若 30 秒内未就绪,会取消本次终端启动并报告原因;批次继续处理后续条目。
点击 保存当前终端,将当前窗口中正在运行的命令、名称和目录保存为启动组合。空闲终端和扩展的隐藏终端会跳过;重复保存按命令和工作目录匹配已有条目,同一命令在多个终端运行时分别保留。保存内容为启动参数,不包含终端输出或程序内部状态。
Linux 支持识别扩展启用之前已运行的前台命令;其他系统通过 VS Code Shell Integration 记录扩展启用后的命令。未获取到命令的终端会在保存结果中报告。运行命令和保存终端需要受信任的工作区。
Codex
Codex 条目可以选择两种打开方式:
- 标签页(官方界面):在当前编辑器组打开官方会话编辑器。填写对话 ID 打开已有会话,留空新建。已有标签页保留其位置。
- 终端(Codex CLI):填写对话 ID 时执行
codex resume <对话ID>,留空执行 codex。可设置工作目录,终端位置沿用 terminalLauncher.location。
在 Codex 标签页标题栏点击 +,或执行 早安,工作区:在当前组新建 Codex 对话,可在指定组新建临时会话。需要下次恢复时,请将对话 ID 填入启动项。保存终端时不会查询 Codex 对话 ID;已关联的 Codex CLI 条目保留手动配置的 ID、打开方式和目录。
单独连续新建标签页之间默认等待 5 秒,可通过 terminalLauncher.codexStartupInterval 调整。一键启动统一使用 5 秒间隔。该间隔用于错开启动时间,不检测页面是否已加载完成。
Codex 标签页依赖官方扩展的内部编辑器接口,官方更新可能影响兼容性。遇到不兼容时,可以将条目改为 终端(Codex CLI)。
配置
清单保存在工作区第一个文件夹的 .vscode/terminal-launcher.json;未打开文件夹时使用扩展的全局存储目录。点击界面底部的 配置文件 可打开实际文件,手动修改后自动刷新。
扩展本身不收集遥测,也不主动上传清单。以下示例仅用于说明配置格式,不会自动创建启动项。
{
"version": 1,
"entries": [
{
"id": "gpu-monitor",
"name": "GPU 监控",
"type": "terminal",
"command": "watch -n 10 nvidia-smi",
"cwd": "",
"enabled": true
},
{
"id": "codex-session",
"name": "Codex",
"type": "codex",
"codexMode": "editor",
"conversationId": "",
"enabled": true
}
]
}
id 在清单内唯一,编辑时保持不变。type 默认为 terminal;Codex 的 codexMode 默认为 editor,设为 terminal 使用 CLI。上次启动组合和终端关联保存在工作区扩展状态中。
| 设置 |
默认值 |
说明 |
terminalLauncher.location |
panel |
新终端的位置:panel 为底部面板,editor 为编辑区。 |
terminalLauncher.codexStartupInterval |
5000 |
单独连续新建 Codex 标签页的间隔,单位为毫秒,范围为 0–30000。 |
构建
需要 Node.js 22 或更新版本和 npm。在项目目录运行:
npm run package
构建使用官方 @vscode/vsce 工具,首次运行时由 npm 下载到其缓存目录,生成 dist/morning-workspaces-0.3.0.vsix。package.json 的 files 字段明确列出发布文件,构建工具和输出目录不进入安装包。扩展运行时无需安装第三方依赖。
许可证
MIT。完整条款见随附的 LICENSE 文件。