All Projects β†’ thisboyiscrazy β†’ Vscode Rsync

thisboyiscrazy / Vscode Rsync

Licence: gpl-3.0
rsync extension for visual studio code

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Vscode Rsync

Vscode Hack
Hack language & HHVM debugger support for Visual Studio Code
Stars: ✭ 45 (-33.82%)
Mutual labels:  vscode, vscode-extension
Vscode Csscomb
πŸ”Œ VS Code plugin for CSScomb β€” CSS coding style formatter.
Stars: ✭ 63 (-7.35%)
Mutual labels:  vscode, vscode-extension
Vscode Ruby Test Adapter
A Ruby test adapter extension for the VS Code Test Explorer
Stars: ✭ 50 (-26.47%)
Mutual labels:  vscode, vscode-extension
Vs Code For Node Js Development Pack
πŸƒ A VS Code Extension Pack to get up and running with Node.js Development
Stars: ✭ 41 (-39.71%)
Mutual labels:  vscode, vscode-extension
Vscode Sftp
Super fast sftp/ftp extension for VS Code
Stars: ✭ 1,121 (+1548.53%)
Mutual labels:  vscode, vscode-extension
Vscode Stylefmt
πŸ”Œ VS Code plugin for stylefmtβ€” Format your CSS using stylefmt.
Stars: ✭ 42 (-38.24%)
Mutual labels:  vscode, vscode-extension
Vscode Org Mode
Emacs Org Mode for Visual Studio Code
Stars: ✭ 1,096 (+1511.76%)
Mutual labels:  vscode, vscode-extension
Hashlink Debugger
Visual Studio Code Debugger for Haxe/HashLink applications
Stars: ✭ 35 (-48.53%)
Mutual labels:  vscode, vscode-extension
Vscode Git Semantic Commit
πŸ’¬ A Visual Studio Code extension which enables to commit simply by the semantic message conventions
Stars: ✭ 65 (-4.41%)
Mutual labels:  vscode, vscode-extension
Vscode Smoothtype
VS Code extension to add cursor transitions while typing, similar to MS Office and the Windows 10 Mail app.
Stars: ✭ 54 (-20.59%)
Mutual labels:  vscode, vscode-extension
Vscode File Templates Ext
Visual Studio code extenstion that allows to quickly create new files based on defined templates.
Stars: ✭ 39 (-42.65%)
Mutual labels:  vscode, vscode-extension
Vue Vscode Snippets
These snippets were built to supercharge my workflow in the most seamless manner possible.
Stars: ✭ 1,083 (+1492.65%)
Mutual labels:  vscode, vscode-extension
Markdown index
add index to your markdown title
Stars: ✭ 38 (-44.12%)
Mutual labels:  vscode, vscode-extension
Vscode Project Manager
Project Manager Extension for Visual Studio Code
Stars: ✭ 1,022 (+1402.94%)
Mutual labels:  vscode, vscode-extension
Vs Code Extension Doc Zh
VS Code插仢开发文摣-δΈ­ζ–‡η‰ˆ
Stars: ✭ 982 (+1344.12%)
Mutual labels:  vscode, vscode-extension
Vscode Openshift Tools
Microsoft Visual Studio Code extension for OpenShift
Stars: ✭ 51 (-25%)
Mutual labels:  vscode, vscode-extension
Dart Code
Dart and Flutter support for VS Code
Stars: ✭ 965 (+1319.12%)
Mutual labels:  vscode, vscode-extension
Vscode Extension
Red extension for Visual Studio Code
Stars: ✭ 34 (-50%)
Mutual labels:  vscode, vscode-extension
Tailwindcss Intellisense
Intelligent Tailwind CSS tooling for Visual Studio Code
Stars: ✭ 1,066 (+1467.65%)
Mutual labels:  vscode, vscode-extension
Vue Theme Vscode
+200.000 installs ⬇️ Theme for Visual Studio Code inspired by Vue.js, with support for more popular languages, trying to maintain a perfect harmony of colors.
Stars: ✭ 54 (-20.59%)
Mutual labels:  vscode, vscode-extension

sync-rsync

Basic sync using Rsync

Features

This extension syncs with a remote server using rsync

With these commands:

  • Sync-Rsync: Sync Local to Remote
  • Sync-Rsync: Sync Local to Remote (Single)
  • Sync-Rsync: Sync Remote to local
  • Sync-Rsync: Sync Remote to local (Single)
  • Sync-Rsync: Compare Local to Remote (dry run)
  • Sync-Rsync: Compare Remote to local (dry run)
  • Sync-Rsync: Kills the current sync

If no sync is running clicking the status bar item will show the output

If a sync is running clicking the status bar item will kill the running sync, see Windows Notes

Requirements

Rsync installed both locally and remotely

If you are using wsl, wslpath maybe required. (Windows 10 1803 or higher). Or you can install this https://github.com/laurent22/wslpath/blob/master/wslpath which requires php.

If using cygwin, cygpath maybe required.

Extension Settings

Overall Settings (all optional):

  • sync-rsync.notification: Show notifiactions for sync successes (failurers always show notifications)
  • sync-rsync.autoShowOutput: Auto show rsync output when rsync is working.
  • sync-rsync.autoShowOutputOnError: Auto show rsync output on error.
  • sync-rsync.autoHideOutput: Auto hide rsync output when rsync is done.
  • sync-rsync.onSave: syncs entire local on save.
  • sync-rsync.onSaveIndividual: syncs the changed file on save (onSave takes presedence). (note: rsync error 3 is ignored because it might be excluded).
  • sync-rsync.onLoadIndividual: syncs the opened file on load. (note: rsync error 3 is ignored because it might be excluded).
  • sync-rsync.executableShell: The executable shell to run rsync in (e.g. /bin/bash).
  • sync-rsync.executable: The rsync executeable (e.g. rsync, C:\cygwin64\bin\rsync.exe).
  • sync-rsync.cygpath: If using cygwin, this is the path to cygpath (e.g. C:\cygwin64\bin\cygpath.exe) used to translate windows paths to cywgin.
  • sync-rsync.watchGlobs: Enables file system watcher on given glob patterns (may cause high CPU usage - use carefuly).
  • sync-rsync.useWSL: Use WSL for executing rsync. See Windows Notes

Global site options (they will be used as the default for each site):

  • sync-rsync.local: the local location defaults to workspace.
  • sync-rsync.remote: the rsync remote location e.g. [email protected]:path.
  • sync-rsync.delete: true or false if you want rsync to delete files.
  • sync-rsync.flags: rsync flags.
  • sync-rsync.showProgress: show progress during rsync, by adding --progress.
  • sync-rsync.exclude: rsync exclude patterns e.g. [".git",".vscode"] (includes happen before excludes) See Includes / Excludes.
  • sync-rsync.include: rsync exclude patterns e.g. ["/","**/.php] (includes happen before excludes) See Includes / Excludes.
  • sync-rsync.shell: Rsync's -e option e.g. ssh -p 1234.
  • sync-rsync.chmod: Rsync's --chmod option.
  • sync-rsync.options: Array of extra rsync options, set each element using rsync.set. See Extra Options.
  • sync-rsync.args: Array of extra arguments to append to rsync e.g. ["--exclude=venv/", "--include=*/", "--include=**/*.py", "--exclude=*"].

Sites (Completely Optional, If no sites are defined Sync Rsync creates one using defaults):

Workspaces

For workspaces you have to define localPath and remotePath for each folder you want synced. e.g.

{
	"folders": [
		{
			"path": "/home/user/project/s1"
		},
		{
			"path": "/home/user/projects/t2"
		}
	],
	"settings": {
		"sync-rsync.sites": [
			{
				"localPath": "/home/user/project/s1/",
				"remotePath": "[email protected]:/var/www/s1/"
			},
			{
				"localPath": "/home/user/projects/t2/",
				"remotePath": "[email protected]:/var/www/s2/"
			}
		]
	}
}

Multiple Sites

Sites have these options, they are all optional sync-rsync will use the defaults if they are not defined:

  • name: a Nickname for single site sync.
  • upOnly: this site only sync Local to Remote.
  • downOnly: this site only sync Remote to Local.
  • localPath: the local location defaults to workspace.
  • remotePath: the rsync remote location e.g. [email protected]:path.
  • deleteFiles: true or false if you want rsync to delete files.
  • flags: rsync flags.
  • exclude: rsync exclude patterns e.g. [".git",".vscode"] (includes happen before excludes) See Includes / Excludes.
  • include: rsync exclude patterns e.g. ["/","**/.php] (includes happen before excludes) See Includes / Excludes.
  • shell: Rsync's -e option e.g. ssh -p 1234.
  • preSyncUp: a command to run before sync up (e.g. clear cache). First item in array is the command the rest are arguments. e.g. ['ssh','[email protected]','~/cr.sh'].
  • postSyncUp: a command to run after successful sync up (e.g. clear cache). First item in array is the command the rest are arguments. e.g. ['ssh','[email protected]','~/cr.sh'].
  • preSyncDown: a command to run before sync down (e.g. clear cache). First item in array is the command the rest are arguments. e.g. ['ssh','[email protected]','~/cr.sh'].
  • postSyncDown: a command to run after successful sync down (e.g. clear cache). First item in array is the command the rest are arguments. e.g. ['ssh','[email protected]','~/cr.sh'].
  • chmod: Rsync's --chmod option.
  • options: Array of extra rsync options, set each element using rsync.set. See Extra Options.
  • args: Array of extra arguments to append to rsync e.g. ["--exclude=venv/", "--include=*/", "--include=**/*.tpl", "--exclude=*"].

localPath and remotePath will replace ${workspaceRoot} with the current Workspace Path

Example :

{
    "sync-rsync.delete": true,
    "sync-rsync.sites": [
        {
            "remotePath":"[email protected]:/path1/",   // Sync sync-rsync.local to [email protected]:/path1/ using port 1234
            "shell":"ssh -p 1234"
        },
        {
            "remotePath":"[email protected]:/path2/",  // Sync sync-rsync.local to [email protected]:/path2/
        },
        {
            "localPath":"project/static/",
            "remotePath":"user3server3:/static/", // Sync project/static/ to [email protected]:/static/
        }
    ]
}

Extra Options

The options array is an array of arrays rsync.set is call with each array spread as paramamiters e.g:

"sync-rsync.options": [
    ['progress'],
    ['exclude-from', '/path/to/exclude-file'],
    ['delete'],
]

Includes / Excludes

Includes happen before Excludes, this is important because rsync handles a file based on first match, so for example to only upload php files:

{
    "sync-rsync.exclude":[
        "*"
    ],
    "sync-rsync.include": [
        "*/",
        "**/*.php"
    ],
}

if you need more control use sync-rsync.args

Windows Notes

If using cywgin, sync-rsync.cygpath is needed for things like onSaveIndividual to work because cygwin uses diferent paths as windows.

Here is as example config:

{
    "sync-rsync.executable": "/bin/rsync",
    "sync-rsync.shell": "/bin/ssh -p 2222",
    "sync-rsync.remote": "[email protected]:/root/test/",
    "sync-rsync.local": "c:\\Users\\root\\sync_test\\",
    "sync-rsync.onSaveIndividual": true,
    "sync-rsync.cygpath": "C:\\cygwin64\\bin\\cygpath.exe",
    "sync-rsync.executableShell": "C:\\cygwin64\\bin\\bash.exe"
}

Here is and example config for WSL:

{
    "sync-rsync.remote": "[email protected]:/root/folder/",
    "sync-rsync.local": "/mnt/c/Users/root/folder/",
    "sync-rsync.useWSL": true
}

Mac OS Notes

If you are using the shell option to do something like ssh -p 123 you will most likely have the set sync-rsync.executableShell to /bin/bash

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].