前言
本地是win10系统,代码需要在linux下跑,又不想装虚拟机或双系统,恰好有个工作站(服务器)。
- 在工作站上搞了个用户,一开始是用winscp传送文件的,甚觉麻烦
- 后来在工作站上部署了gitlab,开始通过先把代码push到gitlab上,再通过xshell把代码pull到工程文件夹中,却发现有可能一不小心写错了变量名就得重新push-pull,导致commit graph上满满的bug fixed
sftp配置
1.在vscode中下载sftp插件
- 在vscode中快捷键
ctrl+shift+P
打开指令窗口,输入extension:install
,回车,左侧即打开扩展安装的界面
- 在搜索框中输入
sftp
,第一个就是需要安装的,点安装
2.在vscode的工程中配置sftp.json
然后快捷键
ctrl+shift+P
打开指令窗口,输入sftp:config
,回车,就会在当前工作工程的.vscode
文件夹下生成一个sftp.json
文件,不知道哪天似乎是插件更新了,默认的文件非常空,我们只能手动配置文件的参数了。配置好host, port, username, privateKeyPath, remotePath, ignore
这参数即可:- host:工作站的IP地址
- port:ssh的端口
- username:工作站自己的用户名
- privateKeyPath:存放在本地的已配置好的用于登录工作站的密钥文件。和下面的使用密码二选一(可以是openssh格式的,也可以是ppk格式的)
- password:工作站自己的用户密码。使用密钥和使用密码选用一种即可;使用密码的话工作站不用配置ssh,但使用密钥的话工作站上需要配置好ssh,password就可以填null
- protocol:协议类型,默认选
"sftp"
- remotePath:工作站上与本地工程同步的文件夹路径,需要和本地工程文件根目录同名,且在使用sftp上传文件之前要手动在工作站上使用
mkdir
生成这个根目录,根目录下的其他子目录会自动对应生成 - ignore:指定在使用
sftp: sync to remote
的时候忽略的文件及文件夹,注意每一行后面有逗号,最后一行没有逗号
这是一个例子:(记住不能有任何注释内容)
{ "host": "XX.XX.XX.XX", "port": 22, "username": "ubuntu", "protocol": "sftp", "privateKeyPath": "C:\\KEY\\private.ppk", "remotePath": "/home/ubuntu/myproject", "ignore": [ "**/.vscode/**", "**/.git/**", "**/log/**" ] }
配置完毕之后就可以在vscode中使用
sftp
的指令直接upload和download对应工程文件中的任何文件啦(对左侧文件目录中的文件或文件夹右键,菜单中可选),还可以配置自己的快捷键有一点需要注意的是:通过
sftp插件
上传的pickle文件,在工作站上打开会报inscure的错,如果是使用xshell连接工作站的且工作站是centos系统的(ubuntu也可以,但不知道怎么安装的,可以自行查一下),可以使用sudo yum install lrzsz
安装指令,然后就可以使用rz
指令来上传pickle文件;将工作站上的文件下载到本地则可以使用sz [文件名]
指令
更多信息可以参考vscode-sftp的github
博文内容更新时间:2018/7/16