search
LoginSignup
83

More than 1 year has passed since last update.

posted at

updated at

Visual Studio Codeでリモート開発環境と完全同期する

この記事は以下の条件に当てはまる人向けに書いています。

  • 開発環境が共用のリモートサーバー
  • リモートにssh(sftp)でログインできる
  • VimじゃなくてVSCodeを使いたい
  • gitrsync samba lsyncdの併用は遅すぎて無理
  • 更新だけじゃなく削除されたファイルも同期したい
  • ローカル→リモートの一方通行でOK (でも削除は検知したい)
  • 純正のリモート同期が使えない事情がある

ショートカットキーやパスなどMac仕様なのでWindowsの人は適宜読み替えてください。

拡張機能のインストール

sftpを入れる。sftpで検索すると一番上に出てきます。
スクリーンショット 2018-11-09 13.28.28.png

sftpの設定

Command + P>sftp で設定ファイルを作成する。

sftp.json
{
    "name": "foobar",
    "protocol": "sftp",
    "host": "foobar",
    "port": 22,
    "username": "foo",
    "privateKeyPath": "/Users/foo/.ssh/foobar_rsa",
    "remotePath": "/home/foo/bar",
    "ignore": [
        ".vscode",
        ".git",
        ".DS_Store"
    ],
    "sshConfigPath": "/Users/foo/.ssh/config",
    "syncOption": {
        "delete": true,
        "skipCreate": false,
        "ignoreExisting": false,
        "update": false
    },
    "uploadOnSave": true,
    "watcher": {
        "files": "**/*",
        "autoUpload": true,
        "autoDelete": true
    }
}
項目(key) 意味 説明
name 設定名 任意の設定名。省略可能。
protocol プロトコル ftpかsftp。最近はほとんどsftpなのでよく分からなかったらsftpで。
host ホスト リモートサーバーのホスト名。
port ポート リモートサーバーのポート名。sftpならふつうは22。
username ユーザー名 リモートサーバーにログインするユーザー名。
privateKeyPath 秘密鍵のパス リモートログイン用の秘密鍵のパス。パスワードログインの場合はprivateKeyPathではなくpasswordキーに値としてパスワードを直接書く。
sshConfigPath ssh設定のパス こだわり設定がある場合は指定しよう。
syncOption.delete 同期オプション(delete) 削除を同期するか。
syncOption.skipCreate 同期オプション(skipCreate) 新規作成ファイルをスキップするか。
syncOption.ignoreExisting 同期オプション(ignoreExisting) 既存ファイルの更新をスキップするか。
syncOption.update 同期オプション(update) ローカル側が新しい場合のみ上書き更新する。
uploadOnSave 保存時にアップロード trueを指定するとファイル保存時にアップロードが行われる。
watcher.files 監視するファイル VSCode以外からのファイル変更を監視する対象。
watcher.autoUpload 自動更新 VSCode以外から変更された場合にリモートを自動で更新する。
watcher.autoDelete 自動削除 VSCode以外から削除された場合にリモートを自動で削除する。

よきVSCodeライフを♡

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
83