I have a repository on my local system and am testing my changes on a remote server. I am using VSCode for development. I want that on every save, rsync should run in background and sync the changes in the current local file with remote. How can I achieve this with VSCode?
Asked
Active
Viewed 6,800 times
3 Answers
9
I am using Save and Run vscode extension for syncing code between local and remote server whenever I hit save in VSCode. Following is the configuration I am using.
"saveAndRun": {
"commands": [
{
"match": ".*",
"cmd": "rsync -av --no-owner ${file} {destination folder}${relativeFile}",
"useShortcut": false,
"silent": false
},
]
}
The output generated when the rsync
command is run can been seen in VSCode terminal. You can have add the above configuration in .vscode/settings.json file. You can learn more about editing setting.json file here

Abhay Gupta
- 786
- 12
- 30
1
Here is extension code which uses the onDidSaveTextDocument
event to run code after a file is saved. The code uses the exec
function of the child_process
package to run a command. In this case, it launches the chrome browser.
import * as vscode from 'vscode';
import * as path from 'path';
import * as cp from 'child_process';
export function activate(context: vscode.ExtensionContext)
{
vscode.workspace.onDidSaveTextDocument((d) =>
{
vscode.window.showInformationMessage("Document saved:" + path.basename(d.fileName));
const start = (process.platform == 'darwin' ? 'open' : process.platform == 'win32' ? 'start' : 'xdg-open');
cp.exec(start + ' chrome ' );
});
}

RockBoro
- 2,163
- 2
- 18
- 34