VS Code可通过Remote-SSH扩展直接远程调试Linux服务器(或WSL、容器)中的Python代码,无需复制项目或手动启停进程;需在远程环境安装debugpy、配置launch.json并选择远程Python解释器。
vs code 支持通过 ssh 远程连接 linux 服务器(或 wsl、容器等)并直接调试 python 代码,无需把项目复制到本地,也不用手动启停远程进程。关键在于正确配置 launch.json 和确保远程环境已安装必要组件。
远程环境准备:Python + ptvsd(或 debugpy)
VS Code 当前默认使用 debugpy(原 ptvsd 已弃用),它必须安装在远程 Python 环境中:
- 登录远程服务器,激活目标 Python 环境(如 venv 或 conda)
- 运行:
pip install debugpy - 验证是否可用:
python -m debugpy --help(应显示帮助信息)
注意:不要在本地装 debugpy,VS Code 会自动把调试器“注入”到远程进程,但前提是远程有它。
VS Code 连接远程主机
安装官方扩展 Remote - SSH(由 Microsoft 提供):
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入 “Remote-SSH: Connect to Host…” - 选择或输入 SSH 配置(如
user@host),首次连接会提示输入密码或选择密钥 - 连接成功后,VS Code 窗口右下角显示远程标识(如 “SSH: host”),文件资源管理器和终端自动切换为远程上下文
此时打开的文件、运行的终端、启动的调试器,全部作用于远程机器。
立即学习“Python免费学习笔记(深入)”;
配置 launch.json 实现断点调试
在远程项目根目录下,打开命令面板 → “Python: Select Interpreter”,选中远程环境中的 Python 解释器(如 /home/user/venv/bin/python),VS Code 会自动生成 .vscode/launch.json。
用eclipse开发android程序的时,跟VS一样是可以断点单步调试的。 Eclipse Java编辑器不但能够为开发者提供代码编写、语法纠错和实时编译等常用功能,而且还能够对Java源代码进行快速修改、重构等高级操作。感兴趣的朋友可以过来看看
确保配置类型为 python,且 module 或 file 指向你要调试的入口(例如 "module": "main" 或 "program": "${workspaceFolder}/app.py"):
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"module": "main", // 或用 "program" 指定 .py 文件
"console": "integratedTerminal",
"justMyCode": true
}
]
}设置断点后按 F5,VS Code 会在远程执行并停在断点处,变量、调用栈、调试控制台全部可用。
常见问题与提醒
路径映射不是必须的 —— 因为代码就在远程,VS Code 直接读取远程文件系统,不需要像旧版那样配 pathMappings(除非你用的是容器或挂载卷且路径不一致)。
- 如果 F5 没反应,检查远程终端是否报错(比如找不到 debugpy 或权限不足)
- 调试 Flask/Django 等 Web 服务时,建议加
"justMyCode": false方便进入框架源码,或设"subProcess": true捕获子进程 - WSL 用户可直接用 “Remote - WSL” 扩展,体验更轻量,配置逻辑完全一致
基本上就这些。整个过程不依赖本地 Python,也不需要同步代码,真正实现“写哪调哪”。









