我的本地系统上有一个存储库,正在远程服务器上测试我的更改。我正在使用 VSCode 进行开发。我希望每次保存时,rsync 都应在后台运行,并将当前本地文件中的更改与远程同步。我如何使用 VSCode 实现这一目标?
每当我在 VSCode 中点击“保存”时,我都会使用“保存并运行”vscode 扩展在本地和远程服务器之间同步代码。以下是我正在使用的配置。
"saveAndRun": {
"commands": [
{
"match": ".*",
"cmd": "rsync -av --no-owner ${file} {destination folder}${relativeFile}",
"useShortcut": false,
"silent": false
},
]
}
运行
rsync
命令时生成的输出可以在 VSCode 终端中看到。您可以在
.vscode/settings.json
文件中添加上述配置。您可以了解有关编辑 settings.json 文件的更多信息此处
onDidSaveTextDocument
事件在保存文件后运行代码。该代码使用
exec
包的 child_process
函数来运行命令。在这种情况下,它会启动 Chrome 浏览器。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 ' );
});
}