VS Code 远程开发
通过 Visual Studio Code 连接开发机,可获得完整智能感知、代码导航与断点调试、集成终端一体化,实现几乎本地般的开发体验。
先决条件
- 安装 VS Code(稳定版或 Insiders):https://code.visualstudio.com/download
- 本机有可用的 OpenSSH 客户端
- macOS 自带;Windows 推荐安装下列其一:
- Windows OpenSSH:https://learn.microsoft.com/windows-server/administration/openssh/openssh_install_firstuse
- Git for Windows:https://git-scm.com/download/win
- macOS 自带;Windows 推荐安装下列其一:
- 能用平台提供的 SSH 命令在本机成功登录远端一次(密码或密钥均可),详见开发机 SSH 远程登录。
添加开发机为 SSH 远程主机
以下介绍如何使用 VS Code 连接并开发 AI Studio 的开发实例。
Step 0 登录平台选择开机的实例
- 在智算云平台选择开发机,确保实例已开机且可 SSH。
- 访问开发机列表页面(或详情页面),复制平台提供的 SSH 连接命令(例如:
ssh -p 44851 root@111.51.90.14)。
注意
开发机支持 SSH 密码认证或密钥认证。若已启动密码认证,可从开发机详情页复制 SSH 密码。
Step 1 本地 VS Code 配置 Remote - SSH
打开本地的 VS Code 开发插件菜单,在扩展程序市场中搜索安装 Remote - SSH 扩展。
打开命令面板(Cmd/Ctrl+Shift+P),输入 "Remote - SSH: Add New SSH Host…" ,粘贴从平台复制的开发机 SSH 连接命令,选择要写入的 ssh_config 文件。扩展会在您指定的
ssh_config文件中生成以下等效配置(示例):textHost 111.51.90.14 HostName 111.51.90.14 Port 44851 User root首次连接时可直接连接或打开配置。强烈建议打开配置文件,手动修改 Host 字段为更有意义的名称,以避免后续 Host 名称冲突。
Step 2 SSH 连接并登录开发机实例
打开本地的 VS Code,点击左侧 Remote Explorer 图标,选择刚添加的 SSH 主机进行连接。
首次连接时会自动在远端开发机上安装 VS Code Server 于远端主机。如提示指纹确认、密码/密钥口令(passphrase),按提示完成。
注意
默认情况下,Remote - SSH 会尝试在远程主机上下载 VS Code Server;如果失败,则在连接建立后回退为先在本地下载 VS Code Server 并将其传输到远程。您可以通过 remote.SSH.localServerDownload 设置来更改此行为:可以调整为
always(始终在本地下载后再传输),或off(从不回退到本地下载)。连接成功后,左下角状态栏会显示远端主机名,窗口即为远程窗口。
Step 3 打开代码目录
在远程窗口中使用 File > Open Folder… 打开远端代码目录或工作区,开始像本地一样编辑、运行与调试。
手动安装 VS Code Server 端组件
部分可用区的开发机存在网络限制,无法访问公网。而下载 VS Code Server 要求 443 端口可访问以下域名:
- update.code.visualstudio.com
- vscode.download.prss.microsoft.com
默认情况下,如果 VS Code Server 下载失败,您可以采取以下方案。
方案一 强制本地下载 VS Code Server
默认情况下,Remote - SSH 扩展会在远程主机下载 VS Code Server 失败后自动回退,先在本地下载 VS Code Server,并将其通过 scp 传输到远程主机。
- 通过 remote.SSH.localServerDownload 设置来更改此行为,调整为
always,始终在本地下载后再传输。 - 确保您本地机器可正常访问 VS Code Server 相关域名。
- 由于传输过程依赖
scp,请确保您本地机器支持 scp 命令;请确保远程开发机镜像中已携带openssh-server。详见镜像基础组件要求。 - 如果 SSH 主机仅启用了密码认证(Password-based Authentication),在 scp 传输前 VS Code 将提示您再次输入 SSH 密码,如果未输入密码或密码错误,连接会直接失败。建议为开发机设置基于 SSH 密钥的认证。
完成以上步骤后,使用 VS Code Remote - SSH 扩展重试连接开发机。
注意
在开发机网络状况差、无法稳定下载 VS Code Server 时,也可以尝试修改 remote.SSH.localServerDownload 的方案。
方案二 手动传输和安装 VS Code Server
如果方案一仍无法解决问题,您需要在本地环境手动下载 VS Code Server,并传输到开发机中进行安装。
Step 0 获取 VSCode Commit ID
获取 VSCode Commit ID,以下两种方式可任选其一。
如果本地已安装 Code CLI,可直接获取 Commit ID。
~# code --version 1.105.1 7d842fb85a0275a4a8e4d7e040d2625abbf7f084 arm64其中
7d842fb85a0275a4a8e4d7e040d2625abbf7f084为 Commit ID。打开本地的 VS Code 编辑器,点击「关于 Visual Studio Code」,在弹窗中复制"Commit ID/提交 ID"。
Step 1 在本地机器上下载离线安装包,并上传开发机
在本地下载如下文件。
shellcommit_id=your_commit_id wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode-server-linux-x64.tar.gz curl -Lk 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64' --output vscode_cli_alpine_x64_cli.tar.gz将下载的两个文件通过
scp方式传到开发机上(请替换为自己的开发机 IP 和端口号)。shellscp -P 40350 vscode*.tar.gz root@122.228.252.26:/root/
Step 2 在开发机上安装离线安装包
登录到开发机,解压上传的离线安装包。
shelltar -zvxf vscode-server-linux-x64.tar.gz tar -zvxf vscode_cli_alpine_x64_cli.tar.gz解压后得到 1 个文件夹和 1 个文件,分别是
vscode-server-linux-x64和code,然后执行:shellcommit_id=your_commit_id mkdir -p /root/.vscode-server/cli/servers/Stable-${commit_id} cp -r vscode-server-linux-x64 /root/.vscode-server/cli/servers/Stable-${commit_id}/server cp code /root/.vscode-server/code-${commit_id}完成以上步骤后,使用 VS Code Remote - SSH 扩展重试连接开发机。
手动安装 Cursor Server 端组件
部分可用区的开发机存在网络限制,无法访问公网。而下载 Cursor Server 会遇到与 VS Code Server 组件类似的问题,导致 Server 下载失败,而无法通过 Remote - SSH 扩展与开发机建立连接。
方案一 强制本地下载 Cursor Server
默认情况下,Remote - SSH 扩展会在远程主机下载 Cursor Server 失败后自动回退,先在本地下载 Cursor Server,并将其通过 scp 传输到远程主机。
- 通过 remote.SSH.localServerDownload 设置来更改此行为,调整为
always,始终在本地下载后再传输。 - 确保您本地机器可正常访问 VSCode Server 相关域名。
- 由于传输过程依赖
scp,请确保您本地机器支持 scp 命令;请确保远程开发机镜像中已携带openssh-server。详见镜像基础组件要求。 - 如果 SSH 主机仅启用了密码认证(Password-based Authentication),在 scp 传输前 Cursor 将提示您再次输入 SSH 密码,如果未输入密码或密码错误,连接会直接失败。建议为开发机设置基于 SSH 密钥的认证。
完成以上步骤后,使用 Cursor 通过 Remote - SSH 重试连接开发机。
注意
在开发机网络状况差、无法稳定下载 Cursor Server 时,也可以尝试修改 remote.SSH.localServerDownload 的方案。
方案二 手动传输和安装 Cursor Server
如果方案一仍无法解决问题,您需要在本地环境手动下载 Cursor Server,并传输到开发机中进行安装。
Step 0 获取 Cursor Commit ID
获取 VSCode Commit ID,以下两种方式可任选其一。
如果本地已安装 Cursor CLI,可直接获取 Commit ID。
~# cursor --version 2.0.43 8e4da76ad196925accaa169efcae28c45454cce0 arm64其中
8e4da76ad196925accaa169efcae28c45454cce0为 Commit ID。打开本地的 Cursor 编辑器,点击「关于 Cursor」,记录弹窗中的版本号和提交 ID。
Step 1 在本地机器上下载离线安装包,并上传开发机
在本地下载如下文件。
shellcursor_version=2.0.43 commit_id=8e4da76ad196925accaa169efcae28c45454cce0 wget https://cursor.blob.core.windows.net/remote-releases/${cursor_version}-${commit_id}/vscode-reh-linux-x64.tar.gz将下载的文件通过
scp方式传到开发机上(请替换为自己的开发机 IP 和端口号)。shellscp -P 40350 vscode-reh-linux-x64.tar.gz root@122.228.252.26:/root/
Step 2 在开发机上安装离线安装包
登录到开发机,解压并安装上传的离线安装包。
shellcommit_id=8e4da76ad196925accaa169efcae28c45454cce0 mkdir -p ~/.cursor-server/bin/${commit_id} tar xvzf vscode-reh-linux-x64.tar.gz cp -r ~/vscode-reh-linux-x64/* ~/.cursor-server/bin/${commit_id}/完成以上步骤后,使用 Cursor 通过 Remote - SSH 重试连接开发机。