在断点上下文中将多行代码发送到PyDev交互控制台

1 投票
1 回答
1183 浏览
提问于 2025-04-18 18:52

我正在使用Eclipse Luna 4.4.0和PyDev 3.7.0。

我的目标是执行一个Python脚本,并且在代码停在断点时能够向控制台发送命令,同时可以选择多行代码,甚至这些代码的缩进不同,比如for循环、if语句等等。我希望这种调试方式能和MATLAB类似(选择代码后按F9),我觉得这样非常有用。

如果我在没有选择任何代码的情况下按ALT+CTRL+Enter,脚本会在交互式控制台中执行。执行确实会在第一个断点处停止。我可以查看变量,但控制台并不会提示我输入任何内容。我可以用ALT+CTRL+Enter选择并发送命令,但这些命令是灰色的,根本没有被解释。如果我没有在断点处停止,这种方法也不支持不同缩进的代码块,比如for循环,在提示输入命令时。

如果我进行一个正常的调试会话,而不按ALT+CTRL+Enter,我可以在断点处停止并进行一些交互,比如输入单个命令(显示为绿色,而不是灰色),但我不能发送多条命令,而且这些命令必须有正确的缩进。在这个时候启动一个交互式控制台会导致出现一个新的控制台,新的上下文。

有没有办法在停在断点时,选择并发送一段代码到交互式控制台,并使用当时的上下文?有没有其他IDE可以做到这一点?

我在Stack Overflow上看到过类似的问题,比如这个问题,或者这个回答,但我还是不太明白。

1 个回答

2

现在这个功能就像一个互动控制台,所以缩进必须正确,使用 Ctrl+Alt+Enter 时特别重要。不过如果你用 F2 来代替的话,效果会更好,因为 F2 是用来修正缩进的,应该能满足你的需求...

参考链接:http://pydev.org/manual_adv_interactive_console.html

撰写回答