【开发工具】【windows】Visual Studio Code(VS Code)远程Linux服务器环境搭建——SFTP篇

简介: 【开发工具】【windows】Visual Studio Code(VS Code)远程Linux服务器环境搭建——SFTP篇

引言



原理及特点


  • 首先本地要有一个项目文件夹,同时远程也有一个项目文件夹,然后通过配置文件来同步二者。


  • SFTP可以查看远程项目所有文件,但不能直接操作,必须先操作本地项目文件,再同步到远程项目。


操作步骤


安装SFTP扩展



使用VS Code打开某个项目


  • 后续的配置是基于项目(目录)的,所以必须要先打开项目;


修改配置文件


修改方式


  • 在当前项目中,输入ctrl + shift + p,之后输入 SFTP: config,会打开 sftp.json 文件,之后可在这个文件中修改配置;


在vscode中使用快捷键Ctrl+Shift+P ,会在所在的项目根目录中生成.vscode文件夹,输入 SFTP: config之后,.vscode目录下面会生成一个sftp.json配置文件。


配置模板


  • SFTP之单服务器配置


{
    "name": "自定义name",
    "context": "映射远程目录的本地目录地址",
    "host": "服务器IP",
    "protocol": "协议:[sftp/ftp]",
    "port": 22,
    "username": "username",
    "password":"password",
    "remotePath": "远程文件夹地址,默认/",
    "context": "本地文件夹地址,默认为vscode工作区根目录",
    "uploadOnSave": true, // 保存文件自动上传
     "useTempFile": false,
    "openSsh": false
    // 要忽略的文件夹/文件
    "ignore": [
        "**/.vscode/**",
        "**/.idea/**",
        "**/.git/**",
        "**/.DS_Store",
        "**/node_modules/**"
    ],
    // 监听器
    "watcher": {
        "files": "*"         //需要监听变化的文件
        "autoUpload": false //不自动上传
        "autoDelete": false //不自动删除
    }
}


  • SFTP之多服务器配置


{
    "name": "自定义name",
    "context": "映射远程目录的本地目录地址",
    "protocol": "协议:[sftp/ftp]",
    "port": 22,
    "remotePath": "远程文件夹地址,默认/",
    "context": "本地文件夹地址,默认为vscode工作区根目录",
    "uploadOnSave": false,
    "useTempFile": false,
    "openSsh": false
   // 要忽略的文件夹/文件
   "ignore": [
        "**/.vscode/**",
        "**/.git/**",
        "**/.DS_Store"
        "**/node_modules/**"
    ],
    // 监听器
    "watcher": {
        "files": "*"         //需要监听变化的文件
        "autoUpload": false //不自动上传
        "autoDelete": false //不自动删除
    }
    //上面这部分可沿用单服务器配置
  "profiles": { // 这里开始是多个服务器的配置信息
    "test_70": { // test_70 服务器name自定义
      "host": "服务器IP",  
      "username": "username",
      "password": "password"
    },
    "test_71": {
      "host": "服务器IP",
      "username": "username",
      "password": "password"
    },
    "test_72": {
      "host": "服务器IP",
      "username": "username",
      "password": "password"
    }
  }
}


配置例子


[
{
"name": "server11_mypri_libs",
"context": "libs",
"protocol": "ftp",
"port": 21,
"host": "11.11.11.11",
"username": "qxhgd",
"password": "12345678",
"remotePath": "/code/20221001/mypri/libs",
"uploadOnSave": true,
"useTempFile": false,
"openSsh": false
},
{
"name": "server11__mypri_main",
"context": "main",
"protocol": "ftp",
"port": 21,
"host": "11.11.11.11",
"username": "qxhgd",
"password": "12345678",
"remotePath": "/code/20221001/mypri/main",
"uploadOnSave": true,
"useTempFile": false,
"openSsh": false
}
]


注意事项


  • 配置文件中不要写注释,前面例子里加注释是为了说明字段的含义;


  • 虽然前面配置模板一节,提供了很多字段,实际上不需要全部加上,根据需要选用即可。


  • Linux系统和Windows系统中,context的格式有区别,需要格外注意;


  • 具体字段含义说明


  • name : 自定义,如果有两个以上目录,name必须不同


  • protocol: 可以是ftp,也可以是sftp;


  • privateKeyPath:存放在本地的已配置好的用于登录工作站的密钥文件,(可以是openssh格式的,也可以是ppk格式的),和password二选一;


  • port: 如果protocol选ftp,则port对应21,否则对应22;


  • context:本地路径(默认VSCode打开的文件夹为根目录)


  • remotePath: 远程服务器路径 uploadOnSave: 保存文件时自动上传


  • uploadOnSave: 本地更新文件保存会自动同步到远程文件(不会同步重命名文件和删除文件)


  • downloadOnOpen: 从远程服务器下载打开的文件


  • ignore:忽略的文件(匹配的文件不会同步)


  • watcher:监听器(可以监听重命名文件和删除文件等操作)


  • autoUpload:文件变更会自动同步(修改和重命名)


  • autoDelete:文件删除会自动同步


实际使用


多服务器切换


  • ctrl + shift + p 输入 SFTP: Set Profile 选择相应的服务器;


  • 选择成功后 VSCode 左下角会出现服务器name。



同步方式


  • 自动同步


  • autoUpload和autoDelete开启,则文件修改、重命名、删除会自动同步到服务器;


  • uploadOnSave:本地文件保存会自动同步到远程文件;


  • 手动同步


  • Upload Folder 和 Download Folder等在 uploadOnSave和 watcher都关闭的情况下才生效;如本地新增文件夹,则可选择Upload Folder,即可同步到远程服务器。


  • 同步某部分工程文件,可以在需要同步的文件夹上面右键:选择Sync Local -> Remote,即可同步到远程服务器;Sync Remote-> Local,将远程服务器同步到本地;sync both directions:将远程和本地的代码同步至二者一致;


  • 选中某一个文件,右键可以选Upload或Download对某个文件进行操作;



参考资料


相关文章
|
1月前
|
C++ Python Windows
在Visual Studio中使用Python(Windows)
在Visual Studio中使用Python(Windows)
|
10天前
|
Linux Windows
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
|
4天前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
16 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
28天前
|
Ubuntu Linux C语言
【opencv】opencv在windows和linux的应用
【opencv】opencv在windows和linux的应用
|
1月前
|
运维 Linux 网络安全
跨平台SSH文件传输:Linux与Windows环境下的实践指南
本文介绍了在Linux和Windows之间使用SCP、SecureCRT及PuTTY工具集进行文件传输的方法。在Linux中,利用SCP命令进行文件下载、上传及目录传输。在Windows环境下,PSFTP和PSCP提供类似功能,而SecureCRT作为SSH客户端,支持设置上传下载目录并进行文件传输。掌握这些工具的使用可提升跨平台运维效率。
|
13天前
|
Java Linux 开发工具
Windows环境下Android Studio v1.0安装教程
Windows环境下Android Studio v1.0安装教程
21 0
|
1月前
|
Ubuntu Linux Docker
windows 安装docker 安装Ubuntu linux
windows 安装docker 安装Ubuntu linux
79 3
|
17天前
|
Linux 数据安全/隐私保护 Windows
pscp 将Linux服务器上的文件同步到Windows服务器上
【6月更文挑战第28天】pscp 将Linux服务器上的文件同步到Windows服务器上
23 0
|
1月前
|
监控 Unix Linux
windows和linux实时监控文本内容的命令
windows和linux实时监控文本内容的命令
31 1
|
18天前
|
运维 网络协议 Linux
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
28 0