使用VSCode Remote SSH时如何在多设备间共享同一终端会话
多设备共享开发终端会话方案解答
VS Code Server 原生功能支持
VS Code Server 本身就内置了终端会话共享能力,不需要额外接入第三方工具即可满足你的需求:
- 核心逻辑:VS Code Server 是后端单实例运行架构,所有终端进程、项目服务都跑在你启动Server的宿主机上(你可以统一部署在办公用MacBook上,或者一台24小时在线的个人服务器上)
- 操作方式:三台设备统一通过本地VS Code的
Remote - SSH插件,或者直接通过浏览器访问VS Code Server的Web端口,连接同一个Server实例即可 - 效果:你在任意设备上打开的终端都是共享同一个后端会话,办公Mac上启动的带
--watch参数的构建任务、API服务,在切换家用台式机/便携本登录后都能直接看到运行状态,不需要重启服务,也不会出现端口占用冲突,因为所有进程都只在宿主机上运行一份
备选第三方方案
如果你的使用场景不允许将所有服务统一跑在单台宿主机上,可以选择以下成熟方案:
tmux/screen:类Unix系统通用的终端会话管理工具,是当前最主流的终端会话共享方案,学习成本极低,核心常用命令如下:- 新建命名会话:
tmux new -s dev-workspace - 暂时退出会话(保留后台进程):按下快捷键
Ctrl + b后松开,再按下d - 重新接入已有会话:
tmux attach -t dev-workspace
- 新建命名会话:
- 临时端口冲突解决:如果只是需要临时释放被占用的端口,避免
watch自动重启进程,可以先终止watch对应的父进程:- 查找占用目标端口的进程ID:
lsof -i:{{替换为你的服务端口}} - 查找该进程的父进程ID:
ps -o ppid= {{替换为上一步查到的进程ID}} - 杀死父进程即可完全终止watch自动重启逻辑
- 查找占用目标端口的进程ID:
内容的提问来源于stack exchange,提问作者Hoto Cocoa
相关产品推荐
相关产品推荐

