VS Code 与服务器文件同步 (SFTP) 配置教程
目标: 配置 Visual Studio Code,实现本地项目文件与 AutoDL 服务器之间的高效、自动同步,让你可以在本地舒适地编写代码,同时代码能够即时在服务器上更新,为运行和调试做好准备。
核心技术栈:
- 编辑器: Visual Studio Code (VS Code)
- VS Code 扩展:
Remote - SSH
(用于在 VS Code 中打开服务器终端)SFTP
(by Natizyskunk) (用于文件同步)
第一步:在本地 VS Code 中安装必备扩展
- 打开你的本地 VS Code。
- 点击左侧的扩展图标。
- 搜索并安装以下两个由 Microsoft 和 Natizyskunk 发布的扩展:
Remote - SSH
: 提供远程连接和终端功能。SFTP
: 负责文件的上传、下载和同步。
第二步:在本地项目文件夹中配置 SFTP
这个配置是针对特定项目的,你需要为你希望同步的每一个本地项目都进行一次配置。
-
用 VS Code 打开你的本地项目文件夹 (例如,包含你的 PyBullet 代码的那个文件夹)。
-
生成 SFTP 配置文件:
- 按
Ctrl+Shift+P
(或者Cmd+Shift+P
on macOS) 打开命令面板。 - 输入
SFTP: Config
并回车。 - 这会在你的项目根目录下自动创建一个
.vscode
文件夹,并在其中生成一个名为sftp.json
的文件。
- 按
-
编辑
sftp.json
文件:
将文件内容修改为以下模板,并根据你的 AutoDL 实例信息填写。
{
// --- 核心连接配置 ---
"name": "AutoDL Server", // 连接的别名,可自定义
"host": "ssh.autodl.com", // AutoDL 的 SSH 主机名
"protocol": "sftp", // 使用 SFTP 协议
"port": 12345, // 你的实例的 SSH 端口号
"username": "root", // 用户名
"password": "your_server_password", // 你的服务器密码 (见下方安全提示)
"remotePath": "/root/my_pybullet_project", // 你希望代码同步到服务器的哪个目录
// --- 自动化与同步配置 ---
"uploadOnSave": true, // 关键!在本地保存文件时,自动上传。
"watcher": {
"files": "**/*",
"autoUpload": true,
"autoDelete": true
},
// --- 忽略文件配置 (非常重要!) ---
// 避免上传不必要或敏感的文件
"ignore": [
"**/.vscode/**", // 忽略 VS Code 自身的配置文件
"**/.git/**", // 忽略整个 Git 仓库历史
"**/__pycache__/**", // 忽略 Python 缓存文件
]
}
安全提示:
- 直接在
sftp.json
中明文存储密码虽然方便,但有安全风险。 - 更安全的替代方案是使用 SSH 密钥对进行免密登录。配置好免密登录后,你可以从
sftp.json
中移除"password": "..."
这一行。SFTP 扩展会自动尝试使用你的 SSH 密钥。
第三步:日常开发工作流
配置完成后,你的开发流程将变得非常顺滑。
-
编写代码:
- 在本地 VS Code 中像往常一样打开、编辑你的项目文件。
- 当你按下
Ctrl+S
(或Cmd+S
) 保存文件时,SFTP
扩展会在右下角状态栏显示一个小的加载动画,并在几秒内将修改过的文件自动上传到你在remotePath
中指定的服务器目录。
-
运行与调试 (结合 VNC 教程):
- 在SFTP插件中右键在本界面打开SSH终端,或新打开一个VScode使用
Remote - SSH
扩展连接到你的 AutoDL 服务器,在 VS Code 中打开一个服务器终端。 - 在这个终端里,
cd
到你之前配置的remotePath
(例如cd /root/my_pybullet_project
)。 - 现在,你可以运行你的 Python 脚本了。因为本地文件已自动同步,所以你总是在运行最新版本的代码。
# 激活环境 conda activate myenv # 设置显示器 export DISPLAY=:1 # 直接运行(因为你的环境已原生支持硬件加速) python your_updated_script.py
- 切换到你的 TurboVNC 客户端窗口,观察程序的图形化输出。
- 在SFTP插件中右键在本界面打开SSH终端,或新打开一个VScode使用
-
手动同步与下载结果:
- 上传整个项目: 如果你想一次性上传整个项目,可以在 VS Code 的文件浏览器中右键点击项目根目录,选择
SFTP: Upload Folder
。 - 下载训练结果:
- 在 VS Code 左侧边栏找到
SFTP
视图并展开。 - 浏览到服务器上存放结果的文件夹(如
results/
或checkpoints/
)。 - 右键点击该文件夹,选择
Download
。文件将被下载到你本地项目的对应位置。
- 在 VS Code 左侧边栏找到
- 上传整个项目: 如果你想一次性上传整个项目,可以在 VS Code 的文件浏览器中右键点击项目根目录,选择