File Operations

Context menu actions, drag-and-drop, and transfer behavior

Right-click on a FILE
📄 server.lua
Open
Rename
Copy
Cut
Download to local…
Delete
Right-click on a FOLDER
â–¾ resources/
New File…
New Folder…
Rename
Copy
Cut
Upload file here…
Upload folder here…
Download folder…
Delete
Copy / Cut / Paste (remote → remote)
Copy/cut marks the item in memory. Paste on a folder writes it to that remote path.
// Copy: sftp.get → buffer → sftp.put
copy
: read file → write to new path
move
: copy → delete original
// ssh2 has no server-side copy — all
// transfers go through extension memory
NOTE Large file copies buffer through the extension process — show a progress notification for files >1 MB
Upload / Download
Upload
Opens a native OS file picker → streams selected file(s) to the target remote folder via SFTP. Multi-file supported.
Download
Opens a native OS folder picker → streams file/folder from remote to chosen local path. Folders download recursively.
Drag from local Explorer
Dragging a local file onto the SFTP tree triggers an upload to the hovered folder.
Uploading server.lua… [████████░░] 80%
VS Code progress notification (cancellable)