我秘密的爱着你 却没有像他们那样有一定要拥有你的强烈希望
前几天,在PyCharm 2026.2 新版本中,终于将debugpy 设为所有 Python 项目默认调试器,这个决定可能看起来像是一个不起眼的技术选型变更。但这背后,是 JetBrains 对 Python 调试体验的一次深刻反思和重大升级。
从“可选”到“默认”
其实早在 2026.1 版本中,debugpy 就已作为可选后端引入。而 2026.2 将其设为默认,标志着一个明确的信号:基于 Debug Adapter Protocol (DAP) 的调试时代已经全面到来。
在此之前,PyCharm 的调试器经历了长期的发展,但其底层架构与新兴的 Python 语言特性和开发者工具生态之间,逐渐出现了摩擦。debugpy 的崛起,尤其是它被微软选为 Python 在 VS Code 中的官方调试器后,已成为事实上的标准。PyCharm 此次转向,可以看作是对这一生态现实的正式拥抱。
调试流程和过去保持不变
新默认调试器带来的三大核心优势
性能的飞跃,尤其对 Python 3.12+
:debugpy 默认集成了PEP 669 低影响监控 API。这意味着在 Python 3.12 及更高版本中,调试时的性能开销会显著降低。对于拥有大型代码库和频繁调试需求的开发者来说,这能直接提升日常开发的流畅度。
异步调试的“一等公民”支持
:随着asyncio成为 Python 异步编程的主流,调试协程和事件循环曾是痛点。debugpy 提供了对异步代码的完整支持,包括表达式求值和在asyncio上下文中的调试控制台交互。这让调试复杂的异步应用变得可行且直观。
一致的调试体验
:debugpy 现在也是 Jupyter 笔记本的默认调试后端。这种统一性减少了认知切换成本。
这个改变,在我看来,是 JetBrains 一次非常务实且具有远见的战略智慧。
承认生态的力量
:通过拥抱 debugpy,PyCharm 实际上是承认了在调试器领域,一个由社区和竞争对手(微软)共同塑造的开放标准(DAP)已经胜出。与其维护一个日渐孤立的专有调试器,不如将精力投入到对标准协议的深度集成和优化上。
降低用户的切换成本
:debugpy 也是 VS Code 等编辑器的默认调试器。这意味着开发者可以在 PyCharm 和其他工具之间更平滑地切换,因为他们面对的调试交互和核心行为是相似的。这对那些需要在多个 IDE 周旋的团队来说,尤其有价值。
当然,这次转变也可能存在过渡期。对于深度依赖旧调试器特定行为的极少数老项目,可能需要一些适配。但从长远看,debugpy 作为默认调试器,将使 PyCharm 的调试体验更现代、更快速、更统一。