VSCodeを使って開発を行う際に、筆者はvagrantを使って環境構築をしているのですが
sftpを使ってファイルを同期する際に若干苦戦したので備忘録的に書きます。
sftpダウンロード
VSCodeの拡張機能を追加します。
執筆時点での最新版は1.7.5のようです。
構築した環境情報を確認
既にvagrant sshで接続できる状態であることを前提に書いています。
まだ環境構築ができていない場合は↓
Vagrantfileが置いてあるディレクトリ直下で下記コマンド
terminal
$ vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/***/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
この情報をもとにVSCode上のsftp情報を編集していきます。
sftp.jsonの編集
Shift+Command+pでSFTP:configを選択後、sftp.jsonを次のように修正します。
sftp.json
{
"protocol": "sftp",
"host": "localhost",
"port": 2222,
"username": "vagrant",
"privateKeyPath": "/Users/***/virtualbox/private_key",
"remotePath": "/home/vagrant/",
"password": null,
"agent": null,
"passphrase": null,
"passive": false,
"interactiveAuth": false,
"uploadOnSave": true,
"syncMode": "update",
"downloadOnOpen": true,
"watcher": {
"files": false,
"autoUpload": false,
"autoDelete": false
},
"ignore": [
"**/.vscode/**",
"**/.git/**",
"**/.DS_Store"
]
}
これで通信可能となりました。
remotePathは初期状態では"/"となっているのですが、vagrantで作った環境と通信するには
"/home/vagrant/"としておくのが良いです。