【开发工具】【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对某个文件进行操作;



参考资料


相关文章
|
18天前
|
NoSQL Linux 测试技术
Linux开发工具——gdb篇
Linux开发工具——gdb篇
|
18天前
|
存储 Linux 开发工具
Linux开发工具——gcc篇
Linux开发工具——gcc篇
|
11天前
|
小程序 Linux 开发工具
【Linux】Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
【Linux】Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
|
18天前
|
iOS开发 MacOS Windows
|
5天前
|
存储 Linux 开发工具
Linux 基础(从环境搭建到基础命令)
Linux 基础(从环境搭建到基础命令)
|
11天前
|
NoSQL Linux 开发工具
【Linux】Linux开发工具(yum、gdb、git)详解
【Linux】Linux开发工具(yum、gdb、git)详解
|
12天前
|
人工智能 数据可视化 Linux
linux环境开发工具---yum与vim
linux环境开发工具---yum与vim
|
13天前
|
运维 Linux Shell
day02-Linux运维-系统介绍与环境搭建_硬件 系统核心 解释器shell 外围操作系统
day02-Linux运维-系统介绍与环境搭建_硬件 系统核心 解释器shell 外围操作系统
|
16天前
|
数据可视化 Unix Linux
Linux|基础环境开发工具使用(1)
Linux|基础环境开发工具使用(1)
|
18天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
35 0