Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Push & Pull / File TransferNew to Visual Studio Code? Get it now.
Push & Pull / File Transfer

Push & Pull / File Transfer

Andreas Express

|
23 installs
| (0) | Free
FTP & WebDAV deploy interface for sending, uploading, and downloading files with buttons in the editor and context menus. Support for various protocols and cloud storages via rclone.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Push & Pull ⬆⬇

Push & Pull is a deploy interface for VS Code and JetBrains IDEs (under development).

It keeps the workflow simple: push files up, pull files down, and deploy without leaving the editor. Push & Pull adds upload/download context menus, editor toolbar icons, and shortcuts for fast file transfers. Use Ctrl+Up to push/upload the current file and Ctrl+Down to pull/download it. On macOS, use Cmd+Up and Cmd+Down.

It is meant to feel quick and practical inside VS Code, like a tiny deploy cockpit for the files you are already editing.

Push & Pull screenshot

Supported Protocols

Push & Pull can work with many production-friendly storage and deploy targets, including:

  • FTP
  • SFTP
  • FTPS
  • SSH
  • WebDAV
  • S3
  • S3-compatible storage
  • SMB
  • Swift
  • Azure Blob Storage
  • Google Cloud Storage
  • Backblaze B2
  • Many others

IDE Actions

Push & Pull adds visible IDE actions, not just command palette commands.

For files, you can use:

  • Explorer file context menu
  • editor right-click context menu
  • editor title toolbar up/down icons
  • keyboard shortcuts

File actions:

  • Push (Upload)
  • Pull (Download)

For folders, right-click a folder in the Explorer:

  • Push Folder (Upload)
  • Pull Folder (Download)

In VS Code, the editor title toolbar shows the up/down arrow icons for the current file when there is enough room in the editor header. If VS Code hides one of them, it is usually available in the editor title ... menu.

In JetBrains IDEs, the plugin is still under development. The planned actions are Project View context menu, editor context menu, Tools menu, and main toolbar actions.

Editor shortcuts:

  • Ctrl+Up: push/upload the current file
  • Ctrl+Down: pull/download the current file
  • macOS uses Cmd+Up and Cmd+Down

In VS Code, the extension runs transfers internally. It does not need to open the integrated terminal for upload or download.

Settings

Open IDE Settings and search for Push & Pull.

Available settings:

  • Push Pull: Transfers: rclone --transfers, default 4
  • Push Pull: Checkers: rclone --checkers, default 8

These control how many transfers and checks rclone runs in parallel. They work across deploy protocols such as FTP, SFTP, SSH, WebDAV, S3, and others, but the best value depends on the server. The defaults are conservative for shared hosting. If your backend is fast and stable, you can raise the numbers.

Config and Setup

Put rclone.conf in the project root.

If you run Push & Pull on a file that is outside the currently opened IDE project or workspace, the extension walks upward from that file until it finds the nearest rclone.conf. That folder is treated as the project root for the transfer, and the internal rclone process uses full local paths so it can run correctly from any location.

Do not forget to add rclone.conf to your .gitignore, especially if it contains passwords, tokens, or pass-visible.

Create a config file for your server in rclone.conf. The name inside brackets is your remote name. Users should choose their own names. In this example, the server remote is called [my-server]:

[my-server]
type = ftp
host = example.com
user = my-user
port = 21
explicit_tls = true
passive = true
no_check_certificate = true
pass-visible = my-password
pass = generated-by-rclone

If your website files live inside a deploy folder, you can also create an alias that points directly there. Use your own project name here too:

[my-project]
type = alias
remote = your-real-remote:/httpdocs

For example:

[my-project]
type = alias
remote = my-server:/httpdocs

[my-project] is only an example. You can call it [deploy], [website], [client-site], or any name that makes sense for your project.

Push & Pull always uses my-project: as the project deploy remote, so create a [my-project] alias in rclone.conf.

Then the extension can use clean paths like:

my-project:/test/1.html

instead of requiring the deploy folder in every command.

Password Handling

If rclone.conf contains:

pass-visible = your-password

Push & Pull silently runs:

rclone obscure

through an internal process before every push or pull action. It then writes the generated rclone password under pass-visible:

pass-visible = your-password
pass = generated-by-rclone

Command Examples

Upload a file:

Requirement

In VS Code, Push & Pull downloads the latest rclone build automatically on first use and stores it inside the extension's internal storage.

The extension detects the current OS and CPU architecture, maps that to the matching official rclone build name, and downloads that version internally.

When you click upload or download, the extension:

  • checks the latest rclone version
  • downloads the correct build if needed
  • shows status while downloading, uploading, or downloading files
  • shows a finish or fail message at the bottom of VS Code

Contributing

This section is for people who want to help with the programming of Push & Pull.

The main idea is intentionally simple: Push & Pull does not implement its own deploy logic. We do not crawl directories, compare files, upload chunks, or re-create sync behavior ourselves. That work belongs to rclone.

Push & Pull is the IDE layer around that workflow. It adds icons, context menu actions, shortcuts, and settings inside the editor, then runs rclone with the project's rclone.conf so files and folders can be pushed and pulled from the IDE.

The extension backend should stay small:

  • handle pass-visible by generating the correct pass value with rclone obscure
  • build the correct rclone copy command for the selected file or folder
  • download the latest compatible rclone build for VS Code when needed
  • run rclone internally for upload and download
  • show transfer status and finish or fail notifications

Everything after that should be handled by rclone.

The VS Code extension is the active implementation. The JetBrains plugin files are currently in construction and have not been tested yet with runIde or a packaged plugin build.

License

Push & Pull is licensed under the GNU General Public License v3.0 or later.

Bug Reports and Feedback

https://ceres-assistant.com/web/contact.php

Privacy Policy Page

https://ceres-assistant.com/web/privacy-policy.php

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft