name
A string to identify your configuration.
{
"name": "My Server"
}
context
A path relative to the workspace root folder.
Use this when you want to map a subfolder to the remotePath
.
Key |
Value |
Default |
context |
string |
The workspace root. |
{
"context": "/_subfolder_"
}
protocol
Protocol to be used.
Key |
Value |
Default |
protocol |
sftp or ftp |
sftp |
{
"protocol": "sftp"
}
host
Hostname or IP address of the server.
{
"host": "server.example.com"
}
port
Port number of the server.
{
"port": 22
}
username
Username for authentication.
Key |
Value |
username |
string |
{
"username": "user1"
}
password
[!WARNING]
Passwords are stored as plain-text!
The password for password-based user authentication.
Key |
Value |
password |
string |
{
"password": "Password123"
}
remotePath
The absolute path on the remote host.
Key |
Value |
Default |
remotePath |
string |
/ |
{
"remotePath": "/_subfolder_"
}
filePerm
Set octal file permissions for new files.
Key |
Value |
Default |
filePerm |
number |
false |
{
"filePerm": 644
}
dirPerm
Set octal directory permissions for new directories.
Key |
Value |
Default |
dirPerm |
number |
false |
{
"dirPerm": 750
}
uploadOnSave
Upload on every save operation of VSCode.
Key |
Value |
Default |
uploadOnSave |
boolean |
false |
{
"uploadOnSave": true
}
useTempFile
Upload temp file on every save operation of VSCode to avoid breaking a webpage when a user accesses it while the file is still being uploaded (is incomplete).
Key |
Value |
Default |
useTempFile |
boolean |
false |
{
"useTempFile": true
}
openSsh
Enable atomic file uploads (only supported by openSSH servers).
💡 Important |
If set to true , the useTempFile option must also be set to true . |
Key |
Value |
Default |
openSsh |
boolean |
false |
{
"openSsh": true,
"useTempFile": true
}
downloadOnOpen
Download the file from the remote server whenever it is opened.
Key |
Value |
Default |
downloadOnOpen |
boolean |
false |
{
"downloadOnOpen": true
}
syncOption
Configure the behavior of the Sync
command.
Key |
Value |
Default |
syncOption |
object |
{} |
syncOption.delete
Delete extraneous files from destination directories.
Key |
Value |
syncOption.delete |
boolean |
syncOption.skipCreate
Skip creating new files on the destination.
Key |
Value |
syncOption.skipCreate |
boolean |
syncOption.ignoreExisting
Skip updating files that exist on the destination.
Key |
Value |
syncOption.ignoreExisting |
boolean |
syncOption.update
Update the destination only if a newer version is on the source filesystem.
Key |
Value |
syncOption.update |
boolean |
{
"syncOption": {
"delete": true,
"skipCreate": false,
"ignoreExisting": false,
"update": true
},
}
ignore
Ignore can be used to ignore files and folders from sync, and even supports wildcards using *
.
This is the same behavior as gitignore, all paths relative to context of the current configuration.
Key |
Value |
Default |
ignore |
string[] |
[] |
{
"ignore": [
"/.vscode",
"/.git",
"/.cache",
"/_subfolder_",
".DS_Store",
"*.gz",
"*.log"
],
}
ignoreFile
Absolute path to the ignore file or Relative path relative to the workspace root folder.
Key |
Value |
ignoreFile |
string |
{
"ignoreFile": "/.vscode/sftp.json"
}
watcher
Configure the behavior of the watcher
command.
Key |
Value |
Default |
watcher |
object |
{} |
watcher.files
Glob patterns that are watched and when edited outside of the VSCode editor are processed.
💡 Important |
Set uploadOnSave to false when you watch everything. |
Key |
Value |
watcher.files |
string |
watcher.autoUpload
Upload when the file changed.
Key |
Value |
watcher.autoUpload |
boolean |
watcher.autoDelete
Delete when the file is removed.
Key |
Value |
watcher.autoDelete |
boolean |
{
"watcher": {
"files": "**/*",
"autoUpload": true,
"autoDelete": true
},
}
remoteTimeOffsetInHours
The number of hours difference between the local machine and the remote server (remote minus local).
Key |
Value |
Default |
remoteTimeOffsetInHours |
number |
0 |
{
"remoteTimeOffsetInHours": 3
}
remoteExplorer
Configure the behavior of the remoteExplorer
command.
Key |
Value |
Default |
remoteExplorer |
object |
{} |
remoteExplorer.filesExclude
Configure that patterns for excluding files and folders.
The Remote Explorer decides which files and folders to show or hide based on this setting..
Key |
Value |
remoteExplorer.filesExclude |
string[] |
remoteExplorer.order
Key |
Value |
remoteExplorer.order |
number |
{
"remoteExplorer": {
"filesExclude": [],
"order": 0
}
}
concurrency
Lowering the concurrency could get more stability because some clients/servers have some sort of configured/hard coded limit.
Key |
Value |
Default |
concurrency |
number |
4 |
{
"concurrency": 3
}
connectTimeout
The maximum connection time.
Key |
Value |
Default |
connectTimeout |
number |
10000 |
{
"connectTimeout": 15000
}
limitOpenFilesOnRemote
Limit open file descriptors to the specific number in a remote server.
Set to true for using default limit(222)
.
💡 Important |
Do not set this unless you have to! |
Key |
Value |
Default |
limitOpenFilesOnRemote |
mixed |
false |
{
"limitOpenFilesOnRemote": 15000
}