通过使用VSCode(Visual Studio代码),我在本地Python(Anaconda)解释器上执行Python代码。现在我想设置它,以便我能够在远程Python解释器上执行该代码。我有一个Linux设备,它有自己的Python,可以通过ssh访问。 是否可以配置它?如果是这样的话?谢谢。
虽然微软正在努力在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": []
}
]
}
请注意,您还可以为执行任务分配键绑定,以便您可以使用单个按键在远程执行Python代码。添加到keybindings.json
:
{
"key": "cmd+shift+r",
"command": "workbench.action.tasks.runTask",
"args": "Remote Execute"
}