[vscode]本地与服务器远程同步代码

本文介绍如何使用VSCode进行远程开发,包括配置SFTP插件实现本地与服务器代码同步、解决常见连接问题等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


参考这一篇博客

作者本人平时开发是这样的:

我的代码是在本地,然后平时是作为外部挂载在docker容器里面进行本机调试.然后调试好了之后,通过vscode同步到服务器,进行模型训练,训练好了之后,把模型权重文件下载到本地,在本地进行模型下一步测试.

现在这个教程主要记录一下通过vscode同步到服务器这一过程

准备工作

需要首先再本地生成私钥和公钥.私钥放在本地,公钥放在服务器上.具体的方法参考:配置vscode 远程开发+ 免密登录

1 下载插件

这一步就直接搜索SFTP下载就好了.

2 配置插件

ctrl + shift + p呼出命令行,运行SFTP:config,创建文件.vscode/sftp.json

然后按照下面的模板填写:

{
    "name": "My Server",
    "host": "服务器ip",
    "protocol": "sftp",
    "port": 22,
    "username": "服务器用户名",
    "password": "服务器密码",
    "remotePath": "远程代码路径",
    "ignore": [
        "**/.vscode/**",
        "**/.git/**",
        "**/logs/**",
        "**/__pycache__/**"
    ],
    "watcher": {
    "files": "*",
    "autoUpload": true,
    "autoDelete": true
    },
    "uploadOnSave": true,
    "downloadOnOpen":false,
    "useTempFile": false,
    "openSsh": false
}

3 使用插件

设置完毕之后,在程序的EXPLORER栏上空白处右键点击sync local -> remote可以把代码同步到服务器上

当修改本地代码时,ctrl + s 会触发该代码同步

可以通过左侧工具栏倒数第二个插件查看服务器的代码
在这里插入图片描述

服务器代码在本地是只读的,无法修改.

当需要修改服务器代码时,使用ssh插件新开一个窗口进行修改.

修改完服务器代码,需要同步回来时,可以在本地程序的EXPLORER栏空白处上右键点击sync remote ->local 可以把代码同步到本地

通过工具栏图表查看服务器文件时,需要点击右上角的更新才能看到最新的结果.

4.单独修改服务器代码

有小伙伴对如何使用vscode编辑服务器的代码有疑惑,这里增加以下内容:

首先,我们需要下载一个拓展Remote Development,
在这里插入图片描述
安装完毕之后,左下角就会出现一个图标:
在这里插入图片描述
然后选择Connect to Host,输入服务器的ip地址即可.
在这里插入图片描述

问题处理

如果遇到连不上ssh的情况,可以把~/.ssh/config删除后,重新生成.

Host 服务器ip
  HostName 服务器ip
  User 服务器登陆用户名
  IdentityFile 私钥所在文件地址

### 使用VSCode本地代码上传至远程服务器 #### 方法一:通过SSH链接远程服务器同步代码 为了简化开发流程,可以利用VSCode内置的Remote - SSH功能来连接远程服务器,并实现在编辑器中直接操作远程文件。这不仅能够实时查看更改效果,还减少了手动传输文件的需求[^2]。 ```bash ssh username@your.server.ip.address ``` #### 方法二:借助SFTP插件实现自动化上传 另一种高效的方式是安装专门用于处理文件传输的任务管理工具——如`SFTP`扩展,在完成基本配置之后,每当保存文档时都会触发一次向指定路径发送最新版本的操作,确保两端数据保持一致[^3]。 对于具体的设置过程如下: 1. **安装SFTP插件** 打开VSCode中的Extensions视图(Ctrl+Shift+X),搜索`sftp`关键字找到对应的官方推荐项后点击Install按钮完成加载。 2. **创建配置文件** 利用快捷键组合Ctrl+Shift+P调出Command Palette窗口输入`sftp:config`指令启动交互式引导程序自动生成所需的JSON格式设定条目;或者也可以手动编写`.vscode/sftp.json`文件内容参照下述模板调整参数匹配个人环境需求: ```json { "name": "Your Project Name", "host": "server_ip_address_or_hostname", "protocol": "sftp", "port": 22, "username": "your_username_on_remote_server", "password": "your_password_for_the_account_above", // 或者使用私钥认证方式替代明文密码存储 "remotePath": "/path/to/project/on/server/", "uploadOnSave": true, "ignore": [ ".vscode", ".git" ] } ``` 以上两种方案都能很好地解决频繁切换工作区带来的不便之处,提高工作效率的同时也降低了因人为疏忽而造成的错误风险。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值