繁体   English   中英

在Notepad ++中调试Python代码

[英]Debugging Python code in Notepad++

我使用Notepad ++编写和运行Python脚本。 除调试外,它是一个出色的文本编辑器。 是否可以像在Visual Studio中一样,在Notepad ++中逐步浏览代码,使用断点,查看变量值等?

是否存在这样的插件? 从来没听说过。 我完全同意那张纸上的qor72。

是否可以创建这样的插件/功能? 可能吧。

快速浏览后,我确实找到了一个看起来很有前途的插件Python Script 简而言之,它允许您运行可访问NPP模块(文件菜单等)的python脚本以及Scintilla方法 ,这些方法 似乎可以访问页面上的标记等内容。

为了完成这样的壮举,我可以看到任务被分解为几个大块(我感觉到一个新的开源项目即将来临...)

  • 如Shashi所述,使用Python Script集成python调试器(PDB)
  • 使用Scintilla方法,在放置NPP标记的位置添加回溯调用
  • 重定向PDB输出并对其进行处理,以显示文件在何处停止(再次使用Scintilla方法)。
  • 在新创建的断点处并使用PDB确定当前名称空间中的所有变量。 获取此信息并将其转储到CMD窗口,或者如果您想使用Tk / wxPython创建的一些GUI,

总结思想
虽然我认为有可能创建这样的插件,但这将是一项艰巨的任务。 沿着这条路线,您最好尝试找到一个已经内置了该编辑器的其他编辑器,然后创建宏(或IDE调用它们的任何东西)以添加您最喜欢的NPP内容。

请注意,我是NPP的日常用户,已经有很多年了,所以我绝对理解为什么您希望将功能添加到NPP中。 关于NPP,我最喜欢的事情之一是它打开和搜索文件的速度...迁移到膨胀的IDE,IMO,对我来说不值得。

我当前的工作流程是在NPP中进行所有编辑,只需双击即可运行模块。 如果它失败或在杂草中脱落,我启动IDLE进行调试。

我真的希望有人告诉我我错了(我很想在Notepad ++中拥有该功能),但是Notepad ++被设计为程序员编辑器,而不是IDE。 尽管它具有很多很酷的功能,但是该调试级别并不是核心工具的一部分。

npp插件中也看不到任何内容。

我认为,如果编辑器未提供工具,则python调试器是最佳选择:)

快速指南:

from pdb import set_trace as bp

code
code
bp()
code
code

(Pdb)提示下,输入s至步骤, p foo打印foo ,和c继续执行代码,直到击中另一个断点。

我真的不明白为什么Shashi的答案没有被认可。 对于他给出的链接,他提供了一种方法来按照OP的要求逐步执行python脚本。

因此,对于所有不了解pdb模块的人来说,在导入pdb.set_trace()函数后,它便可以逐步遍历其后的代码区域。 它与Visual Studio的调试方法非常相似。 在单步执行代码时,您可以输入各种命令。

其中之一是p <expression> ,它允许用户在局部和全局范围内打印变量的当前状态。

您是否考虑过使用Komodo。 它是开源的,并且具有Windows,Linux和MAC(我认为)的端口。

这可能是一种替代方法,如果您想从notepad ++用户那里获得一些建议,请查看此站点上的以下文章:

Komodo Edit和Notepad ++ :::优点和缺点::: Python开发人员

这里的一些npp用户似乎已经切换了python编辑运行等...

个人对在Komodo上进行调试不太了解,但是由于它是一个IDE,所以如果您做不容易,将会感到惊讶

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM