microsoft / microsoft/vscode-java-debug

Feature request: Allow reference to previous expression evaluations in debug console

オープン
#579 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

evaluation feature request
主要言語
TypeScript
スター
591
フォーク
429
平均マージ
1日 9時間
マージ済み PR(30日)
19

説明

It's often generally useful to be able to refer to the results of an earlier expression when exploring the state of a program. This is related to #281, but different. And possibly possible to implement.

result.getBlob("details")
> JDBCBlobClient (id=108)
result.getBlob("details").toString()
> "org.hsqldb.jdbc.JDBCBlobClient@63611043" (id=111)
Utils.fromJson(result.getBlob("details").getBinaryStream())
> BuildRequest (id=119)

This could be changed to

result.getBlob("details")
> JDBCBlobClient ($id_108)
$id_108.toString()
> "org.hsqldb.jdbc.JDBCBlobClient@63611043" ($id_111)
Utils.fromJson($id_108.getBinaryStream())
> BuildRequest ($id_119)

This would allow exploring the results from calls where repeating the call would return different results, and would also allow use of APIs that require objects as parameters, for example,

new byte[10000]
> byte[10000] ($id_120)
result.getBlob("details").getBinaryStream().read($id_120, 0, 10000)
> 200
new String($id_120)
> "The string result is displayed here..."

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

デバッグコンソールのエントリポイントから始め、式がどのように評価され、表示されるかを調べます。以前の結果が $id_108 のような参照を受け取り、それらの参照を後続の式に渡せる方法を定義します。呼び出しを繰り返さずに結果を再利用でき、オブジェクトや配列の引数としても使用できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java, typescript
領域
devtools
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。