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



参考资料


相关文章
|
2天前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
26 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
2月前
|
安全 网络协议 Linux
telnet在windows和linux上的使用方法
Telnet是一个简单且强大的网络工具,广泛用于远程管理和网络诊断。尽管存在安全风险,但在受控环境中,Telnet仍然是一个非常有用的工具。通过本文的介绍,您应该能够在Windows和Linux系统上安装并使用Telnet进行各种网络操作。
193 18
|
2月前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
205 8
|
2月前
|
自然语言处理 安全 Java
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
57 6
|
2月前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
62 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
2月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
3月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
143 4
|
3月前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
4月前
|
Linux 网络安全 虚拟化
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
309 0
|
4月前
|
Ubuntu 安全 Linux

热门文章

最新文章