2011-09-15 35 views
12

私はメモ帳++をPythonスクリプトの作成と実行に使用します。これは、デバッグを除いて素晴らしいテキストエディタです。あなたはVisual Studioでできるように、コードをステップ実行したり、ブレークポイントを使用したり、メモ帳で変数値などを表示する方法はありますか?メモ帳でのPythonコードのデバッグ++

答えて

10

それを行うことができなかった場合、それはIDEのように驚くだろうなプラグインをい存在する?私が知っていることではありません。私はそのメモのqor72と完全に同意します。

このようなプラグイン/機能を作成することはできますか?おそらく。

すばやく掘り下げた後、私は有望に見えるプラグイン、Python Scriptを見つけました。つまり、NPPモジュール(ファイルメニューなど)にアクセスできるPythonスクリプトと、Scintilla Methodsと表示され、と表示され、ページのマーカーのようなものにアクセスできます。

python debugger(PDB)などを統合し、Pythonのスクリプトを使用した

  • (...私が来る新しいオープンソースプロジェクトを感じる)私があることが、いくつかの大きなブロックに侵入したタスクを見ることができ、このような偉業を達成するためにシャシが言った。 Scintillaのメソッドを使用して
  • 、NPPマーカーは
  • リダイレクトPDBの出力を配置し、ファイルを(再度、Scintillaの方法を使用して)停止した場所を示すためにそれらを処理しているの呼び出しをトレースバック追加します。
  • 新しく作成されたブレークポイントとPDBを使用すると、現在の名前空間のすべての変数が決定されます。この情報を取り、CMDウィンドウにそれをダンプ、またはあなたが空想を取得したい場合は、いくつかのGUIは、Tk/wxPython

は思考を閉じると作成した
私はそれがこのようなプラグインを作成することは可能だと思うが、Iかなりの仕事になるでしょう。その行に沿って、すでに組み込まれている別のエディタを見つけて、NPPに関して最も好きなものに追加するマクロ(またはIDEがそれらを呼び出すもの)を作成する方が良いかもしれません。

私はNPPの日常的なユーザーであり、何年にもわたってNPPに機能的に追加したいと思っています。 NPPに関する私の好きなことの一つは、ファイルを開いて検索するスピードです。肥大化したIDEのIMOへの移行は、私にとって価値がありません。

私の現在の作業の流れは、すべての編集をNPPで行い、モジュールを実行するためにダブルクリックすることです。それが失敗するか、雑草で消えたら、私はそれをデバッグするIDLEを起動します。

8

誰かが私に間違っていると言いたいのですが(私はNotepad ++でその機能を使いたいと思っています)、Notepad ++はIDEではなくプログラマエディタとして設計されています。クールな機能がたくさんありますが、そのレベルのデバッグはコアツールの一部ではありません。

npp-pluginsのいずれも見えません。

5

私はpython debugger は、エディタがfooを印刷するには、ステップp foosを入力し、(Pdb)プロンプトで施設:)

Quick guide:

from pdb import set_trace as bp 

code 
code 
bp() 
code 
code 

を提供されていない場合、最良の選択肢だと思う、とcへ別のブレークポイントを打つまでコードの実行を続けます。

+0

使用方法については、http://stackoverflow.com/questions/6980749/simpler-way-to-put-pdb-breakpoints-in-python-codeを参照してください。 –

2

あなたはコモドを使用することを考えましたか? オープンソースで、Windows、Linux、MAC用のポートを持っています(私は思っています)。

これは、代替とすることができ、あなたはメモ帳++ユーザーからのいくつかのアドバイスをしたい場合は、この非常にサイトの次の記事を見ている:ここではいくつかの原子力発電所のユーザがなされているように見えた

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

など実行しているPythonの編集のためのスイッチ...

は個人的コモドでのデバッグについてあまり知らないが、あなたは簡単に

2

私は実際になぜShashi's answerがアップワードされていないのか分かりません。彼が与えたリンクのために、OPが要求したように、pythonスクリプトをステップする方法を提供します。

pdbモジュールについて知らない人にとって、それをインポートすると、pdb.set_trace()関数は、その後のコード領域を踏み越えることができます。ビジュアルスタジオのデバッグ方法と非常によく似ています。コードを進めていくうちに、さまざまなコマンドを入力することができます。

これらのうちの1つはp <expression>で、ユーザーはローカルスコープとグローバルスコープ内の変数の現在の状態を印刷できます。

+0

情報が不足しており、デッドリンクの危険性があります。 –