VS Code 怎么连接远程 Mac:2026 新手开发教程
先看结论:本周先完成一次六项验收
微软官方文档对 Remote - SSH 远程主机给出的最低内存要求是 1 GB,并建议远程主机至少具备 2 GB 内存和 2 核 CPU;这说明 VS Code 远程开发的关键不是本机一定要有 Mac,而是远程主机能否稳定运行 SSH、VS Code Server 和开发工具。查看 VS Code Remote - SSH 官方要求
本周建议先做一件事:用 VS Code 的 Remote - SSH 打开远程 Mac 上的项目,并在远程终端运行一条版本检查命令。代码编辑、文件保存和多数命令可以交给 VS Code;但 Xcode、iOS 模拟器等图形化工具,仍然需要通过 VNC 或网页控制台操作。最稳妥的方式是 VS Code 负责代码与终端,图形界面负责 Mac 专属软件。
谁适合看这篇
这篇文章适合只有 Windows 或 Chromebook、需要临时使用 macOS 开发环境的学生,也适合第一次接触 SSH 和远程开发的编程小白。
如果需要在学校公用电脑与个人设备之间继续同一份课程作业,远程项目目录、登录凭据和断线恢复方式尤其值得先弄清楚。
先把“代码到底在哪运行”弄明白
可以把本机理解成一张课桌,把远程 Mac 理解成学校实验室。VS Code 窗口出现在本机屏幕上,但通过 Remote - SSH 打开的文件夹、远程终端以及大多数工作区扩展,实际连接的是实验室里的远程 Mac。
微软说明,Remote - SSH 会在远程系统中安装并运行 VS Code Server,远程文件夹不需要先复制到本机;连接后,命令和其他远程扩展也直接在远程主机运行。查看 Remote - SSH 的工作方式
这会带来三个容易被忽略的区别:
- 在本机打开一个 Windows 文件夹,不等于打开了远程 Mac 上的项目。
- 在远程窗口中新建的终端,通常执行的是 Mac 上的命令,而不是 PowerShell 命令。
- 在远程项目中安装 Python、代码分析或调试扩展,不一定会安装到本机。
如果误把本地文件和远程文件当成同一份,最常见的后果不是“连接失败”,而是修改了错误副本、运行了错误环境,最后提交的作业并不是刚刚调试过的版本。
连接能力:先验证 SSH,再让 VS Code 接手
开始前需要准备以下信息:
| 项目 | 需要准备什么 | 用途 |
|---|---|---|
| 远程地址 | IP 地址或主机名 | 找到目标 Mac |
| 用户名 | 远程 Mac 的登录用户 | 确定登录身份 |
| 认证方式 | 密码或 SSH 密钥 | 证明有权登录 |
| 项目目录 | 远程 Mac 上的文件夹路径 | 打开正确的作业 |
| 本机工具 | VS Code、Remote - SSH、OpenSSH 客户端 | 发起连接并编辑 |
Apple 的官方说明显示,Mac 开启“远程登录”后,可以通过 SSH 或 SFTP 从另一台电脑访问;基本命令格式是 ssh 用户名@主机名。查看 Apple 的远程登录说明
在 Windows 上,先打开 PowerShell,输入下面的命令。这里的命令必须在本机 PowerShell 中输入,作用是验证基础 SSH 登录是否成立。
ssh 用户名@远程Mac地址
预期表现是出现密码输入、密钥确认或远程 Shell 提示符。第一次连接时,如果系统询问是否信任主机指纹,应先核对服务商提供的主机信息,确认无误后再接受;不要为了省事关闭主机验证。
如果出现连接超时、拒绝连接或认证失败,先停止在 VS Code 中反复点击连接。此时问题更可能出在地址、账号、网络、远程登录权限或 SSH 配置,而不是编辑器本身。
Windows 的 OpenSSH 工具通常提供 ssh、ssh-keygen、sftp 和 scp 等命令,但具体是否已经启用,仍要以本机系统设置为准。查看 Windows OpenSSH 官方说明
文件能力:用一个最小项目确认没有打开错地方
基础 SSH 成功后,再打开 VS Code:
- 在本机安装 VS Code。
- 在扩展面板中安装 Remote - SSH。
- 按
Ctrl + Shift + P打开命令面板。 - 选择
Remote-SSH: Connect to Host...。 - 输入与 PowerShell 测试完全相同的
用户名@远程Mac地址。 - 首次连接时按提示选择远程平台。
- 连接完成后,从状态栏确认当前主机名称。
- 使用“文件”菜单打开远程 Mac 上的项目文件夹。
微软官方流程也要求先用外部终端测试 SSH,再从命令面板连接主机;连接成功后可以像打开本地工作区一样打开远程文件夹。查看官方连接步骤
建议不要一上来就打开整块用户目录,而是先打开明确的课程项目目录,例如:
~/Documents/python-practice
然后新建一个低风险文本文件,例如 remote-check.txt,写入:
This file was created in the remote workspace.
保存后关闭,再重新打开该文件。验收标准是:文件能保存、能关闭、能重新打开,而且路径显示在远程 Mac 的项目目录中。
可以用下面这条命令进一步确认文件位置。该命令要在VS Code 连接成功后的远程终端中输入:
pwd
预期结果是显示远程 Mac 上的当前路径,例如用户目录或项目目录。若看到的是 Windows 路径,说明当前打开的可能仍是本地窗口,应先检查状态栏中的远程主机名称。
注意: Remote - SSH 不会把本地项目和远程项目自动保持成两份同步副本。若同时在 Windows 文件夹和远程 Mac 文件夹中修改同名文件,后续提交时很容易出现版本混乱。
终端能力:项目运行位置决定结果是否可信
连接远程主机后,在 VS Code 中选择“终端 → 新建终端”。这个终端应当运行在远程 Mac 上,而不是本机 PowerShell。微软文档明确说明,连接后打开的集成终端会自动在远程主机运行。
建议依次执行下面三条命令,每条命令都在远程终端中输入:
whoami
uname -a
python3 --version
它们的用途分别是:
whoami:确认当前使用的是哪个远程用户。uname -a:确认终端所在的系统环境。python3 --version:确认远程 Mac 是否已有 Python 3,以及当前调用的是哪个版本。
如果某条命令不存在,不要立刻在本机安装软件。先确认终端位置,再根据课程要求配置远程环境。比如 Python 练习需要的是远程 Mac 上的 Python;在 Windows 本机安装 Python,并不能替代远程环境中的 Python。
| 任务类型 | VS Code 远程窗口能完成什么 | 仍可能需要图形界面什么 |
|---|---|---|
| 网页练习 | 编辑 HTML、CSS、JavaScript,运行开发服务器 | 浏览器预览可通过端口转发或本机浏览器完成 |
| Python 练习 | 编辑脚本、运行命令、查看输出、调试 | 某些依赖图形窗口的程序需要远程桌面 |
| iOS 学习 | 编辑代码、管理文本文件、执行部分命令 | Xcode 项目操作、模拟器、签名和设备选择 |
Xcode 的官方文档将编译、运行和模拟器测试放在 Xcode 与 Device Hub 的工作流中;模拟器运行在 Mac 上,并通过 Mac 的界面进行交互。查看 Xcode 运行模拟器的官方说明
因此,VS Code 不能替代所有 Mac 图形软件。若课程只要求写代码、运行脚本和提交文件,SSH 工作流通常足够;若课程要求点击 Xcode 界面、选择模拟器或查看 SwiftUI 预览,就需要同时打开远程 Mac 的图形桌面。
扩展能力:本地扩展和远程扩展不是一回事
Remote - SSH 连接成功后,VS Code 扩展通常会分为本地安装和远程安装两类。主题、图标和部分界面类扩展可能留在本机;Python、代码分析、调试器等需要接触工作区文件的扩展,通常需要安装到远程主机。
官方扩展 API 文档把扩展运行位置区分为本地 UI 扩展和远程工作区扩展;具体扩展最终安装在哪里,应以 VS Code 扩展面板显示的分类为准。查看 VS Code 远程扩展机制
可以按下面方式判断:
- 扩展显示在远程主机名称下:它面向远程工作区。
- 扩展显示在本地已安装区域:它主要服务本机界面。
- 扩展变灰或提示安装到远程:当前工作区需要远程版本。
- 扩展安装失败:先检查远程主机是否能访问扩展下载服务,不要直接删除整个项目。
对于学生来说,扩展的“安装成功”还不够,应该马上做一次功能验收。例如打开 Python 文件,确认代码补全是否出现;设置一个简单断点,确认调试器是否能启动;运行一条格式化命令,确认它作用于远程文件。
恢复能力:断线不等于项目消失,但状态要分开检查
远程开发至少有四类故障,处理顺序不要混在一起:
| 故障表现 | 优先检查 | 不要先做什么 |
|---|---|---|
| PowerShell 中 SSH 都失败 | 地址、网络、账号、远程登录权限 | 不要反复重装 VS Code |
| SSH 成功但 VS Code Server 启动失败 | Remote - SSH 日志、远程主机空间、下载条件 | 不要直接删除项目目录 |
| 扩展无法安装或启动 | 扩展安装位置、远程网络、扩展日志 | 不要把所有扩展都装到本机 |
| 校园网络限制连接 | 防火墙、代理、端口和学校网络政策 | 不要私自关闭安全验证 |
VS Code 官方故障排查文档建议先查看 Remote - SSH 输出日志;对于 VS Code Server 启动失败,可以使用 Remote-SSH: Kill VS Code Server on Host 作为针对性排查动作,但这不是删除项目文件的命令。查看 Remote - SSH 故障排查路径
如果只是短暂断线,重新连接后按这个顺序恢复:
- 重新连接同一个远程主机。
- 打开原来的项目目录。
- 检查刚刚保存的文件是否仍在。
- 在远程终端重新运行
pwd和whoami。 - 检查开发服务器或脚本进程是否还在。
- 重新启动调试会话,不要默认它会自动恢复。
VS Code Server 或扩展下载还可能需要本机和远程环境具备外连 HTTPS 条件;校园网络、代理或受限公共电脑可能导致 SSH 登录成功,但远程窗口初始化失败。查看官方连接要求与常见问题
独立 FAQ:新手最容易卡住的几个判断
Windows 版 VS Code 能否把 Mac 当作远程开发机?
可以,但远程 Mac 必须提供可用的 SSH 服务,本机也要有 OpenSSH 客户端。Windows 端的 VS Code 只是显示编辑界面,真正的项目文件、终端命令和远程工作区扩展会根据连接状态运行在 Mac 上。
首次连接前,本机和远程端分别要准备什么?
本机通常需要 VS Code、Remote - SSH 扩展和 OpenSSH 客户端;远程 Mac 需要开启远程登录,并准备可访问的用户和项目目录。Windows 用户可以先检查 PowerShell 中是否能直接运行 ssh,Chromebook 用户则不能默认把浏览器编辑器当成完整桌面版 Remote - SSH 环境。
远程窗口打开的文件会落到哪一台设备?
如果是在远程窗口中打开远程 Mac 的文件夹,保存位置就是该 Mac 上的文件夹。VS Code 不会因为窗口出现在 Windows 上,就把文件自动保存到 Windows 的“文档”目录中;提交作业前应在远程终端用 pwd 确认路径。
集成终端里的程序究竟使用哪台机器的环境?
在 Remote - SSH 连接成功后,从 VS Code 打开的新终端通常属于远程 Mac。可以使用 whoami、uname -a 和语言版本命令检查环境;如果终端输出与预期不符,先确认当前窗口是否真的连接到了远程主机。
网络中断后,已经保存的课程文件还在不在?
已经保存到远程 Mac 的文件通常不会因为一次断线自动消失,但未保存内容、运行中的程序和临时服务需要分别确认。重新连接后,应先检查文件,再检查终端任务,最后重新启动调试或开发服务器。
最终验收:决定继续用 VS Code 还是双轨操作
完成第一次连接后,可以逐项勾选:
- [ ] PowerShell 或终端能够单独执行
ssh 用户名@地址。 - [ ] VS Code 状态栏显示了正确的远程主机。
- [ ] 打开的文件夹路径确认位于远程 Mac。
- [ ] 新建文本文件后能够保存、关闭并重新打开。
- [ ] 远程终端中的
whoami和uname -a输出符合预期。 - [ ] 课程需要的语言命令能够在远程终端运行。
- [ ] 所需扩展已经安装到正确的远程工作区。
- [ ] 断线重连后,项目文件仍然存在。
- [ ] 已判断课程是否需要 Xcode、模拟器或其他图形界面。
- [ ] 已准备作业备份或文件迁移方式,而不是只依赖单一远程副本。
验收结果可以这样解释:
- 全部通过,且课程只涉及代码与终端:继续使用 VS Code 远程开发。
- 代码、终端和扩展通过,但需要 Xcode 或模拟器:采用 VS Code 加 VNC/网页控制台的双轨方式。
- 基础 SSH 就失败:先换网络或修正远程账号,不要把问题归咎于 VS Code。
- 公用电脑无法安装客户端或保存密钥:优先使用学校允许的设备,避免在公共电脑留下私钥、密码或登录令牌。
如果需要了解远程 Mac 的连接入口、账号使用和常见操作,可以先查看 JexMac 帮助中心;如果只是为了完成一次课程项目验收,也可以先对照 远程 Mac 方案与价格 判断按需使用是否合适。
当前方案与远程 Mac:学生该怎么选
如果一直依赖学校公用电脑,常见问题是软件安装权限受限、环境每次重置,以及作业文件分散在本地硬盘、U 盘和网盘中;如果在 Windows 上强行模拟 macOS,则可能遇到兼容性、图形性能和系统维护成本,且不能自然替代真实 Mac 上的 Xcode 图形工作流。
对只需要完成一段课程作业、测试一套 macOS 工具或确认 iOS 项目能否运行的学生来说,先租用一台具备完整权限的远程 Mac,通常比立即购买实体设备更容易控制成本和试错范围。代码部分用 VS Code 的 Remote - SSH 完成,Xcode 和模拟器再通过 VNC 或网页控制台打开,这种分工比试图用单一工具解决所有问题更稳妥。
但如果需要长期高强度运行、连接实体 iPhone 调试,或必须拥有稳定的本地物理接口,租赁就不一定是最佳长期方案。先完成上面的六项验收,再决定短期使用 JexMac、购买自己的 Mac,还是继续使用现有电脑,判断会更可靠。
常见问题
Windows 上的 VS Code 能不能连接 Mac 写代码?
可以,前提是远程 Mac 已开启 SSH 远程登录,并且本机有可用的 OpenSSH 客户端。安装 VS Code 和 Remote - SSH 后,使用远程 Mac 提供的用户名与地址连接,项目文件和运行命令都可以放在 Mac 上完成。
第一次连接远程 Mac,需要准备哪些东西?
至少需要远程 Mac 地址、登录用户名、密码或 SSH 密钥,以及项目目录的访问权限。本机还要有 VS Code、Remote - SSH 扩展和 OpenSSH 客户端。建议先在 PowerShell 中单独运行 ssh 命令,确认账号与网络没有问题。
Remote SSH 连接后,项目文件到底保存在哪里?
如果是在远程窗口中选择并打开文件夹,项目就保存在远程 Mac 的对应目录中,不会自动复制到 Windows 或 Chromebook。VS Code 界面虽然显示在本机,但文件树、保存动作和大多数开发扩展会围绕远程目录工作。
VS Code 远程终端执行代码时,用的是哪台电脑?
连接成功后,通过 VS Code 打开的新终端通常运行在远程 Mac 上。可以执行 pwd、whoami 或 uname -a 检查当前位置和系统身份;如果终端显示的是 Mac 环境,Python、Node.js 或其他命令就在远程主机上执行。
远程连接突然断开,课程项目会不会消失?
短暂断线通常不会自动删除已经保存到远程 Mac 的文件,但未保存编辑内容、正在运行的进程和本地临时状态需要分别确认。重新连接后先检查文件是否存在,再检查终端任务和开发服务器,不要直接重复初始化项目。
没有 Mac,也能快速开始远程开发
JexMac 提供独享裸金属 Mac mini M4,Windows 或 Linux 电脑通过 SSH 即可连接完整 macOS 开发环境。