1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【开发环境搭建】7. Vscode使用SFTP远程文件同步

【开发环境搭建】7. Vscode使用SFTP远程文件同步

时间:2019-07-19 17:55:03

相关推荐

【开发环境搭建】7. Vscode使用SFTP远程文件同步

文章目录

1、插件下载2、打开配置文件3、多种配置文式3.1 本地代码同步单台远程服务器3.2 本地代码同步多台服务器4 查看远程文件

建立SFTP远程同步是为了构建开发最常用的应用场景之一,就是在本地开发,完成开发后将代码上传到服务器中。另一种场是在本地直接打开远程服务器的项目文件,直接进行开发、运行、调试。这两种场景VScode都是支持的。本文将对第一种场景的构建做说明,满足最基本、最常用的开发。

1、插件下载

打开vscode,接着找开资源管理(ctrl+shift+x),输入sftp,

选择这一插件进行安装,这样就完成使用Vscode对本地与远程服务器同步文件的插件。

下载完成后,使用Vscode打开一个文件夹,作为项目文件夹。

该插件在github上的地址为:/liximomo/vscode-sftp,更加详细的说明参请参见该github.

2、打开配置文件

输入Ctrl+Shift+P,打开命令面板,输入sftp,会有很多选项,选择SFTP:Config,通过对该文件的编辑来设置相关配置。

此时,会在项目文件夹中自动新建一个.vscode的文件夹,新建sftp.json并打开,初始的sftp.json内容,如图所示。当重新起一行,输入双引号后,系统会自动进行内容提示。

当重新起一行,输入双引号后,系统会自动进行内容提示,如下图所示,所以不用把这些内容都给记住,只要有个印像就行。

3、多种配置文式

我们有多种代码的同步方式和应用场景,

3.1 本地代码同步单台远程服务器

如sftp.json初始内容所示,使可以实现与单台远程服务器的同步,具体有:

{"name": "My Server", "host": "localhost","protocol": "sftp","port": 22,"username": "username","remotePath": "/","uploadOnSave": true}

name:随便写,为自己要连接的服务器起个名字;

host:主要写要连接主机的ip地址;

protocol:传输协议,使用sftp;

port:连接的端口号,使用默认的22就行;

username:用户名,进行远程连接需要的用户名;

remotePath:远程服务器的路径,如果没有会自动新建,与本地对应关系为如:/local/test 与/remote/not_test,那么test下的内容将完全上传到not_test里,如果not _test原来没有,会自动新建(随着Vscode版本的改进,也不一定会总是自动创建,需提前创建)。本地路径默认为打开的该项目的路径。

uploadOnSave:默认是true,我们可以改成false,否则每次修改后保存的同时就会上传到远程服务器。

编辑好后,ctrl+s保存sftp.json,然后在资源管理器中,鼠标右键单击,会有如下图所示,会有几个常用功能:

更多的功能还是要在命令板中输入sftp,右键的功能全部都有:

通常的操作是第一次要从服务器上下载代码。

第一次点击右键并上传到服务器,会弹出框让输入密码,然后按enter即可,

sftp.json中还有个参数是password,可以把密码输入,这样就不会弹窗输密码(sftp.json每次修改再上传文件都要再次输入密码)

另外还有两个参数ignoreignoreFile:

"ignoreFile": ".gitignore","ignore": [".vscode",".git",".gitignore",".DS_Store","__pycache__",".remote-sync.json","*.zip","*.pptx","*.msg"]

个人感觉,有ignore就可以了,把所有不想要同步的文件或文件夹全部放到ignore中。

context是一个可以相对当前vscode workspace的路径来具体指定使用workspace那个文件(夹),与remotePath是一对,决定如保上传的路径。

3.2 本地代码同步多台服务器

我们有一个应用场景,那就是一份代码需要在不同的远程机器上进行测试、运行,在本地可视化开发,然后同步到远程服务器并运行,或者上传到远程服务器,直接用vscode在远程服务器上开发。这里讲一下,如何将本机单个项目同步到多台服务器上。有点类似单台的,具体看一下配置。

"profiles": {"profileName1": {},"profileName2":{}}"defaultProfile": "profileName1"

上段代码中,有两个核心的参数,profiles中指定两参服务器,每一台的配置和上文单台的是相同的,defaultProfile是指定默认本地服务器要同步的远程服务器,所以一个时刻本地只与一台远程服务器同步。

总的配置为:

{"name":"myproject","port":22,"protocol": "sftp","ignore": [".vscode",".git",".DS_Store"],"profiles": {"server1": {"host": "ip1","username": "user1","password": "user1passwd","remotePath": "/path1"},"server2":{"host": "ip2","username": "user2","password": "user2passwd","remotePath": "/path2"}},"defaultProfile": "server1"}

要说明的是,profiles中每个server中设置与profiles外头的是可以一样的,此时,会将外头的覆盖。

本文就写到这里,将来有新的应用场景再加。

4 查看远程文件

设置完sftp.json后,该文件保存在如下文件:

打开侧边栏的资源管理器,在项目文件的.vscode文件中,事实上,有关本项目文件的所有Vscode的配置文件都在.vscode中存放。

将项目文件按照上文方法上传到服务器,并查看服务器上文件:

侧边栏上的SFTP图标,点击:

文件夹名My Server是由sftp.json中参数name决定的,而不是远程服务器上项目文件夹的名称。可以看来上传的文件a.py。有时并不能立即显示文件内容,需要点击右上解的刷新标志进行刷新。

鼠标放到a.py上会显示在远程服务器上的位置路径,左击可以打开并查看该文件,如图中,前带一个波浪号。该文件是只读文件,不能进行修改。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。