1. 程式人生 > >win10下vscode配置sftp以方便快捷傳送檔案到伺服器

win10下vscode配置sftp以方便快捷傳送檔案到伺服器

前言

本地是win10系統,程式碼需要在linux下跑,又不想裝虛擬機器或雙系統,恰好有個工作站(伺服器)。

  • 在工作站上搞了個使用者,一開始是用winscp傳送檔案的,甚覺麻煩
  • 後來在工作站上部署了gitlab,開始通過先把程式碼push到gitlab上,再通過xshell把程式碼pull到工程資料夾中,卻發現有可能一不小心寫錯了變數名就得重新push-pull,導致commit graph上滿滿的bug fixed

sftp配置

1.在vscode中下載sftp外掛
  • 在vscode中快捷鍵 ctrl+shift+P 開啟指令視窗,輸入extension:install
    ,回車,左側即開啟擴充套件安裝的介面
    extension:install
  • 在搜尋框中輸入sftp,第一個就是需要安裝的,點安裝
    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 [檔名]指令