在PyCharm调试器控制台中设置启动脚本

10
在PyCharm中,可以通过设置(“设置”->“构建,执行,部署”->“控制台”->“Python控制台”->“启动脚本”)来运行一个脚本,在打开新控制台时自动执行。
是否可以类似地将启动脚本应用于调试器控制台?我发现每次运行代码时都需要重复导入相同的包。
2个回答

4
当你在 PyCharm 中运行 Python Console 时,它会执行位于 /plugins/python/helpers/pydev/pydevconsole.py 的自定义 PyCharm 脚本。
另一方面,在调试时运行 PyCharm Debug Console 时,它会将命令行参数 --file 设置为要调试的脚本,并执行位于 /Plugins/python/helpers/pydev/pydevd.py 的自定义 PyCharm 脚本。
如果需要,你可以修改 pydevd.py 文件(根据 Apache 2 许可证),但更简单的方法是在 PyCharm Debug Console 内创建启动脚本,其中你可以导入需要的模块、函数等,并同时导入 ALL。这将把所有导入简化为一个。
操作步骤如下:
我们将创建 2 个文件:
- main.py:我们将要调试的主要脚本 - startup.py:我们想要导入的模块、函数或其他内容。
main.py 内容如下:
sentence = 'Hello Debugger'


def replace_spaces_with_hyphens(s):
    return s.replace(' ', '-')


replace_spaces_with_hyphens(sentence) # <- PLACE BREAKPOINT!


当断点被触发时,我们能够在当前作用域中看到以下内容: Stack 如果你总是需要导入一些模块并创建一些函数,你可以将所有这些定义放在startup.py脚本中,并使用from startup import *来导入所有内容。 startup.py文件内容:
# Example modules you always find yourself importing.
import random
import time

# Some function you always create because you need it.
def my_imported_function():
    print("Imported !")

在Python调试器控制台中,按照上述所述使用from startup import *,您将看到作用域内的所有模块和函数,准备好供使用。

Debug import


1

你可以创建一个新的调试配置(运行 > 编辑配置),并将其指向项目中的脚本(例如名为 debug.py 的文件,你可以在 gitignore 中忽略它)。然后当你点击调试时,它将运行该脚本并将你带入控制台。

个人而言,我更喜欢在嵌入式终端中启动 ipython 而不是使用调试控制台。在 Linux 上,你可以在 .bashrc 中创建一个 bash 别名,例如 alias debug_myproject=PYTHONSTARTUP=$HOME/myproject/debug.py ipython。然后调用 debug_myproject 将运行该脚本并将你带入 ipython 控制台。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接