VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器

VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器

关于VSCode配置sftp,网上有很多贴,但是要配置多个sftp,并且能方便地切换各个sftp,让同一个文件能按需上传到多个sftp。这样的帖子,我很努力也找不到,最后我自己探索出来了,在这里总结下。

首先,打开VSCode,最左边栏选择扩展模块,如下图:
VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器
然后在输入框输入“sftp”,选择一个叫“sftp”的插件,作者是“liximomo”,如下图:
VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器
我这里刚好是搜出来的第一个,并且我这里已经安装了,还没安装的,找到安装按钮点击安装即可,安装后,就会有“reload”按钮,点击刷新一下VSCode让它生效。
有了这个插件之后,还要配置它才能用,因为鬼才知道你的服务器是哪个,端口是什么等等。
最左侧选择文件模块,现在当前目录文件,当然,sftp的配置都是针对某个目录的,说白了就是某个项目,是先有项目,然后才知道你要上传什么文件,在文件模块,找到“.vscode”,展开它,发现“sftp.json”这一项就是配置sftp的文件,没有的话自己新建一个,名字要一模一样,如下图:
VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器
现在来说说这个配置文件,插件的文档其实有介绍各个字段的意思,但是对于多个sftp的配置就没有介绍,
“context”是本地目录路径,这个路径跟服务器的路径对应起来,“ignore”就是要忽略的文件,或文件夹,这里这样写就会忽略这些文件夹,“port”是服务器端口,“remotePath”是跟“context”对应的服务器那边的目录路径。
最关键就是这个“profiles”,多个服务器就在它里面配置,“profiles”是一个对象,里面每一个属性代表一个服务器,这里“test_h5”就是其中一个服务器的名字,“real_m_240”就是另一个服务器的名字,“profiles”里面的服务器配置就是每个服务器的配置信息,而“profiles”外面的属性就是所有服务器的公共属性,比如“profiles”外面的“port”属性,就是里面所有服务器的公共属性,如果“profiles”里面某个服务器的配置属性跟“profiles”外面的某个属性名字一样,那么,里面的属性会覆盖外面的属性。
“host”就是服务器的ip地址,“username”和“password”就是登录服务器要用的账号名和密码。
配置好之后,保存这个文件,sftp的配置就生效了,重启一下VSCode也是比较稳的做法。
然后最左边选择sftp的图标,文件列表列上方可以刷新,这时候刷新右下方会报错,如下图:
VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器
报错说当前sftp的配置不完善,缺东西,这时候,VSCode左下方状态栏上有“SFTP”这个字符串。
现在打开“Command Palette…”,有快捷键,一时忘了,点击VSCode左下角那个像齿轮的设置按钮,展开的菜单就有这个“Command Palette…”,选择这个东西后,在VSCode的中上方就会弹出一个输入框,输入“sftp”,在弹出的列表项找到“SFTP: Set Profile”,当然,你也可以输入完整命令,如下图:
VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器
这里这个我想找的选项刚好在第一个是因为我最近用过它,你那边可能在下面某一个,选择这个指令后又弹出了一个列表,如下图:
VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器
这三个选项就是配置sftp时“profiles”对象里面的服务器名字,至于“UNSET”这个其实就是默认的那个,“profiles”外面的公共属性其实就是默认的那个,如果在“profiles”外面加一个“name”属性,配置一个名字,这个“UNSET”就是变成那个名字,因为sftp一开始是选择默认那个,而sftp默认那个就是“profiles”外面属性组成的一个服务器配置,而“profiles”外面我这里的配置确实是信息不齐全的,所以上文配置完sftp后会报错。
现在选择“test_h5”这个服务器,然后VSCode左下方状态栏的显示也变了,如下图:
VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器
这个时候再刷新服务器就能看到服务器的文件列表,如下图:
VSCode配置多个sftp,同一个文件可以分别上传到配置的sftp服务器
要上传文件,切换到要上传的文件,然后右键选择“upload”就可以上传,“upload”永远都是把当前文件上传到当前选择的sftp上,就是左下角状态栏显示的那个,配置上面说的切换服务器的方法,就能方便上传了。

对于sftp的使用,Webstorm这个IDE配置就要方便很多,因为它是把这个功能内置了并且是自己开发的,并且webstorm是付费软件,所以这个sftp配置要容易很多,但是VSCode的这个插件可以直接看到sftp服务器上的文件,还可以操作它们,这是webstorm没有的,但webstorm配置好服务器后,通过组合键,可以做到快速上传到指定服务器,这是两者的有缺对比,文章到此结束。