VS Code使用sftp插件(废弃)

意义不大,我最后选择了在Linux提供上开一个smb服务,然后映射到Windows上,故作废该笔记

SFTP插件,真的是大大提升幸福感的一个插件呀,我VIM用不惯,还是比较喜欢用VS Code多一点,所以配置文件我基本都sz到我Windows机器上进行修改,然后再rz回去,rz回去的时候还需要删除旧文件,总之体验极差。

之前使用过git,结果windows机器和Linux机器都需要高频率的Pull和Push,操作起来有点繁琐,而且偶尔还会造成冲突,解决冲突大大影响了体验。

使用SFTP,这些问题都解决了,我在Windows上编辑,一个Ctrl + S,就将文件同步会Linux了,非常的舒服。

SSH开启SFTP

按照如下方式编辑/etc/ssh/sshd_config文件:


# 注释下面这一行
# Subsystem     sftp    /usr/libexec/openssh/sftp-server

# 新增下面这一行
Subsystem       sftp    internal-sftp

重新启动sshd服务:


service sshd restart

VSCode配置SFTP插件

  1. 安装sftp插件,安装的是liximomo的版本

  2. 编辑.vscode\sftp.json为如下内容:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

{
    "name": "node1",
    "host": "192.168.23.60",
    "protocol": "sftp",
    "port": 22,
    "username": "root",
    "remotePath": "/root/Kubernetes/",
    "password": "123456",
    "uploadOnSave": true,
    "syncOption": {
        "update": true
    },
    "watcher": {
        "files": "**/*",
        "autoUpload": false,
        "autoDelete": false
    },
    "ignore": [
        ".vscode",
        ".git",
        ".DS_Store"
    ]
}

  1. 新建一个文件保存测试一下

遇到的问题

  1. autoUpload不要配置成true,否则可能将一些半成品的文件同步到服务器上
  2. /root/Kubernetes/最后的斜杠一定好些,否则会提示找不到该文件

方案总结

这个方案并不是很完美,它不能自动双向同步,所以我决定我只进行VS Code到Linux的单向同步,绝对不从Linux上同步到VS Code上。如果以后有时间,我还会研究一些其他更好用的方案,比如挂载之类的(其实我已经掌握了Windows挂载Linux文件夹的技术)。

参考资料

  1. CentOS7配置SFTP(root用户登录版)
  2. 工具篇-vscode sftp代码同步

20211230后续

放弃这个方案了,感觉不是很好用,最后走了目录挂载。