ローカルのファイルを編集したらリモートホストのファイルも同時に修正が反映されるようにするやつです。時折環境上の理由で(つまりPCのローカル上に開発環境が作れない場合など)この方法使うことが結構頻繁にある。
SFTPという拡張機能のインストールをします。拡張ツールの検索ですぐに出てくるのでインストールしていない場合はインストールしましょう。
Command + P → >sftp
で設定ファイルを作成する。
プロジェクトディレクトリ直下に.vscodeというディレクトリが作成されて(すでに作成されている場合もあります)、sftp.jsonが作成されてます。初期設定はこんな感じ。
{
"name": "My Server",
"host": "localhost",
"protocol": "sftp",
"port": 22,
"username": "username",
"remotePath": "/",
"uploadOnSave": true
}
しかしこのデフォルトのファイルのパラメータだと全然足りないので自分でパラメータを追加します。
{
"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
}
}
設定が完了するとすぐに同期が始まるのでご注意ください。vscodeの下部のコンソールの「出力」から通信の様子が確認できます。