PyDev エディターに表示列を追加するPython でのライブ コーディング用の Eclipse プラグインを作成しました。その列には、コードの実行に伴って変数値がどのように変化するかが示されます。これには、ループや繰り返しの関数呼び出しの複数の列が含まれます。コードを編集すると、表示が更新されます。
私の質問は次のとおりです。PyDev エディターをきれいに拡張して、ソース コードで垂直方向にスクロールし、水平方向にスクロールして長時間実行ループで多くの列を表示するこの余分な列を追加するにはどうすればよいですか? 私のビジョンは、2 つのテキスト ファイルを比較したときに得られるウィンドウのようなものを作成することですが、それでもユーザーが Python コードを編集し、PyDev エディターの構文強調表示を使用できるようにすることです。今のところ、テキストのみを表示していますが、この列にグラフィックも表示できるようにしたいと考えています。
最初のリリースを機能させるための私の現在のハックは、行番号ルーラーをサブクラス化し、行番号を独自のテキストに置き換えることです。それは本当に醜いです。特に、水平スクロールを実装した方法はそうです。
PyDev チームの誰かが機能をマージしたり、機能を改善するためにいくつかの拡張ポイントを公開したりすることに興味がある場合は、喜んで簡単な作業を行い、プル リクエストを作成します。ただし、いくつかのガイダンスが必要です。
このアイデアは、Bret Victor の講演、Inventing on Principle、特に 17:30-21:30 のセクションから生まれました。これまでに実装したものを確認したい場合は、デモ ビデオとウォークスルーを投稿しました。
二分探索アルゴリズムの表示例を次に示します。(左がディスプレイ、右がコード)
# echo on
# echo width 40
n = 4 a = [1, 2, 4] def search(n, a):
low = 0 low = 0
high = 2 high = len(a) - 1
| while low <= high:
mid = 1 | mid = 2 mid = (low + high) / 2
v = 2 | v = 4 v = a[mid]
| if n == v:
| return 2 return mid
| if n < v:
| high = mid - 1
| else:
low = 2 | low = mid + 1
return -1
i = 2 i = search(4, [1, 2, 4])