我如何配置VS Code以调试无业游民的容器中的代码?

问题描述 投票:1回答:1

我正在开发一个新的python / pyramid Web应用程序,并且我很难设置VS Code来调试一个无所事事的容器中的python代码。显然,这对于pycharm是可行的,但是我更喜欢使用VS Code。远程调试文档并没有太大帮助。如果有人有经验或有关于如何执行此操作的指示,我将不胜感激。

debugging visual-studio-code vagrant pyramid
1个回答
1
投票

我的环境

Windows 10,我正在Vagrant的Virtualbox中运行Ubuntu 16.04。在我执行vagrant up启动Virtualbox / Ubuntu之后,Vagrant提供的消息中包括SSH用户名和SSH地址(在我的情况下分别为vagrant127.0.0.1:2222)。确保除了腻子以外,还设置了SSH client(我有Openssh-Windows商店中提供了它,并且通常在C:\ Windows \ System32 \ OpenSSH \ ssh.exe中安装)。

首先,将Remote Development扩展名安装到VS Code中。然后按F1,键入remote以显示远程开发选项,然后选择Remote-SSH:Connect to Host ...

一个问题] >>

Vagrant默认将端口22转发到2222,这对于VS Code来说似乎是一个问题。我可以使用git-bash并在Windows命令行(使用Openssh)和SSH用户名和地址(如上)通过输入ssh [email protected] -p 2222来进入Virtualbox / Vagrant罚款模式(请注意,ssh [email protected]:2222将不起作用)。但是,如果您在VS Code中键入此内容以连接到主机,则它将不起作用-当使用-p指定端口时,它将无法连接。

解决方案>>

]

如果将Virtualbox与Vagrant一​​起使用,请打开VirtualBox GUI并打开正在运行的VM的设置。单击网络项,然后单击适当的适配器。单击高级,然后单击端口转发按钮。将2222更改为22(即,您只是将端口22转发至22-您可以使用config.vm.network "forwarded_port", guest: 22, host: 22将更改永久化在Vagrantfile中),然后退出设置。

现在正在连接...

] >>

更改端口转发后,Virtualbox会在默认的SSH端口22上进行侦听,然后只需使用ssh [email protected]就可以从VS Code连接。

[另一件事...] >>

在VS Code中按F1,键入remote

并选择Remote-SSH:Settings。在远程设置的底部,打开显示登录终端。 (您将在此处输入密码以完成SSH登录[默认密码为vagrant])。我尚未为基于密钥的登录设置任何东西。也许我会在回答时更新此答案。

Postscript

] >>

目前看来,设置remote debugging仍然很麻烦。

© www.soinside.com 2019 - 2024. All rights reserved.