而微软正致力于在vscode中正式实现这一点(请参见:
https://github.com/Microsoft/vscode-python/issues/79
)我个人正在使用中定义的以下任务
tasks.json
在我的远程机器上运行python。它包含两个任务:(1)使用rsync将代码同步到远程机器;(2)在远程解释器中通过ssh执行代码。注意执行任务
dependsOn
同步任务,以便始终从最新的本地副本执行代码。
{
"version": "2.0.0",
"tasks": [
{
"label": "Synchronize Code",
"type": "shell",
"command": "rsync -axv --exclude-from=rsync-exclude.lst --max-size=5MB \"${workspaceFolder}\" user@hostname:dev/code-sync/",
"problemMatcher": [],
"isBackground": true,
"presentation": {
"echo": false,
"reveal": "silent",
"focus": false,
"panel": "shared",
"clear": false
}
},
{
"label": "Remote Execute",
"type": "shell",
"command": "ssh -n user@hostname \"source ~/.profile && source /path/to/virtualenv/bin/activate && python ~/dev/code-sync/${workspaceFolderBasename}/${relativeFile}\"",
"dependsOn": [
"Synchronize Code"
],
"problemMatcher": []
}
]
}
注意,您还可以为执行任务分配一个keybinding,这样您就可以用一个keypress在远程执行python代码。添加到
keybindings.json
:
{
"key": "cmd+shift+r",
"command": "workbench.action.tasks.runTask",
"args": "Remote Execute"
}