簡體   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