在Notepad ++中调试Python代码

时间:2011-09-15 11:35:39

标签: python debugging notepad++

我使用Notepad ++编写和运行Python脚本。除了调试之外,它是一个很棒的文本编辑器。有没有办法在Visual Studio中逐步执行代码,使用断点,查看变量值等,就像在Visual Studio中一样?

5 个答案:

答案 0 :(得分:10)

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

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

在做了一些快速挖掘之后,我确实找到了一个看起来很有前途的插件Python Script。简而言之,它允许您运行可以访问NPP模块(文件菜单等...)的python脚本以及出现Scintilla Methods以访问诸如标记之类的内容页面。

为了实现这样的壮举,我可以看到任务被分成几个大块(我觉得一个新的开源项目正在进行......)

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

结束思考
虽然我认为可以创建这样的插件,但这将是一项艰巨的任务。沿着这条线,你可能最好不要试图找到一个已经内置它的不同编辑器,只需创建宏(或IDE调用它们),添加你最喜欢NPP的东西。

请注意,我是NPP的日常用户并且已经使用了很多年,所以我非常明白为什么你希望将功能添加到NPP中。关于NPP,我最喜欢的一件事就是它打开和搜索文件的速度......转移到一个膨胀的IDE,IMO,对我来说是不值得的。

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

答案 1 :(得分:8)

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

npp-plugins中也没有看到任何内容。

答案 2 :(得分:5)

我认为python debugger 如果编辑不提供设施,则是最佳选择:)

Quick guide:

from pdb import set_trace as bp

code
code
bp()
code
code

(Pdb)提示符下,输入s进行步骤,p foo打印foo,然后c继续执行代码,直到达到另一个断点。

答案 3 :(得分:2)

你有没有考虑过使用Komodo。 它是开源的,有Windows,Linux和MAC端口(我认为)。

这可能是另一种选择,如果您需要notepad ++用户的一些建议,请查看以下网站上的以下帖子:

Komodo Edit and Notepad++ ::: Pros & Cons ::: Python dev

这里的一些npp用户似乎已经开始运行python编辑...

个人对Komodo的调试知之甚少,但因为它是一个IDE所以如果你不能轻易做到就会感到惊讶

答案 4 :(得分:2)

我真的不明白为什么Shashi's answer没有被投票。对于他提供的链接,提供了一种在OP请求时逐步执行python脚本的方法。

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

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