美文网首页
vscode远程linux编辑调试python

vscode远程linux编辑调试python

作者: jakHuang | 来源:发表于2018-09-08 14:04 被阅读0次

环境:
centOS
win7
vsCode

预期效果:
在win7上用vsCode远程编辑并断点调试linux上的python代码。

配置步骤:
1 在vsCode搜索并安装拓展插件ftp-sync。
2 在vsCode配置ftp-sync:
Ctrl+Shift+P 输入Ftp-sync: Init,配置服务器账号路径等信息。

{
  "remotePath": "要操作的远程linux文件夹路径(如:/home/hj)",
  "host": "远程linux的ip或域名",
  "username": "linux账号(root或其他)",
  "password": "密码",
  "port": 22,
  "secure": false,
  "protocol": "sftp",
  "uploadOnSave": true,
  "passive": false,
  "debug": false,
  "privateKeyPath": null,
  "passphrase": null,
  "ignore": [
      "\\.vscode",
      "\\.git",
      "\\.DS_Store"
  ],
  "generatedFiles": {
      "uploadOnSave": false,
      "extensionsToInclude": [],
      "path": ""
  }
}

配置完成后,检验ftp配置是否工作。
在linux上remotePath指定的文件夹新建文件

touch test.py

在vscode按下ctrl+shift+p,然后输入:
Ftp-sync: Sync Remote to Local
选择:
.choose this folder
full-sync
run
本地获取到test.py即说明ftp链接成功了。

3 在linux上用pip安装ptvsd,这里用3.0.0,高了一直报错,原因未知。

pip install ptvsd==3.0.0

安装完成后,在需要远程调试的代码上引入

import ptvsd

ptvsd.settrace(None, ('0.0.0.0', 8000))

即可开启远程调试。完整例子:test.py

# coding:UTF-8
 
import ptvsd

ptvsd.settrace(None, ('0.0.0.0', 8000))
 
from time import sleep
from random import random
 
for _ in xrange(0, 50):
  sleep(4)
  i = random()
  print(i)

此例可用vsCode编辑test.py保存后,使用命令:
ftp-sync: Sync current file to Remote
将文件同步到服务器。

4 在vsCode上配置launch.json.
在文件末尾添加如下配置:

{
      "name": "Attach",
      "type": "python",
      "request": "attach",
      "localRoot": "${workspaceFolder}",
      "remoteRoot": "要操作的远程linux文件夹路径(如:/home/hj)",
      "port": 8000,
      "host": "远程linux的ip或域名"
    }

以上步骤后,配置完成,开始调试。上面的配置中使用了linux的8000端口,要确认端口是否开放了。比如我的阿里云主机的8000端口,要在阿里云的安全组中设置出入规则。

调试
首先在linux上要运行python代码

python test.py

然后在vscode的调试面板选择Attach项,按f5开始远程调试。


调试截图

如图所示,断点已工作。

相关文章

网友评论

      本文标题:vscode远程linux编辑调试python

      本文链接:https://www.haomeiwen.com/subject/ieikgftx.html