Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Doc ReaderNew to Visual Studio Code? Get it now.
Doc Reader

Doc Reader

Kennel

| (0) | Free
原文を主役にしたまま、詰まった箇所にだけ事前生成の解説をホバーで出す。要約は作らない。
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Doc Reader

1次資料を読んでいて詰まった箇所にだけ、事前に生成しておいた解説をホバーで出す VS Code 拡張。

考え方

要約を読むと「他人の言葉」で理解することになる。だから二次資料は作らない。 主役はあくまで原文で、解説は読む速度を落としている箇所(知らない語・意味の掴めないブロック) にだけ脇から出す。AIの出力を読ませないための、AIの使い方。

学術的には ScholarPhi (CHI 2021, Head et al.) が論文向けに実証した方向性で、 IDE のホバー機能をコード以外の資料にも一般化するもの。

責務の分離

この拡張は「中身を知らないレンダラ」である。

担当 中身
拡張機能(このリポジトリ) JSON を読む → 該当範囲に印をつける → ホバーで出す
説明データ (JSON) 別環境で生成する。業務知識はすべてこちら側
生成スクリプト 拡張には同梱しない。完全に別プロセス

拡張側に業務知識・ドメイン固有のロジックを一切入れないため、拡張は公開しても 業務情報が漏れない。またJSONスキーマが変わっても拡張を作り直さずに済む。

ホバー時にAIへ問い合わせることはしない。 事前生成した JSON を引くだけ。

表示方針

既定では下線を出さない。原文の見た目を完全に保つ。 Doc Reader: 下線の表示を切り替える(docReader.toggleUnderlines)を実行した間だけ、 解説のある箇所すべてに下線が浮かび上がる。

使い方

  1. ワークスペースに .docreader/ を作り、docs/schema.md の形式で JSON を置く (pool / anchors / notes の3種類。notes が最後に上書きする)
  2. コードを開くと、解説のある語にポインタを乗せたときだけホバーが出る
  3. PDF は右クリック →「エディターを選択」→ Doc Reader: PDF で開く。 既定のビューアは奪わないので、明示的に選ばないと従来どおりに開く

コマンド

コマンド すること
Doc Reader: 状態を表示 読み込んだエントリ数と、読めなかったファイルを出力チャンネルに出す
Doc Reader: 説明データを読み直す JSON を読み直す(ファイル変更時は自動でも走る)
Doc Reader: 下線の表示を切り替える 解説のある箇所の下線を出す/消す

設定

キー 既定 すること
docReader.dataPaths [".docreader"] 説明データを探す場所。後に書いたものほど優先
docReader.displayFields ["what","why","source"] ホバーに出す fields のキーと順序
docReader.requireSource true source が空のエントリを出さない
docReader.overlapOrder "narrowFirst" 重なったときの並び順
docReader.maxHoverEntries 5 1つのホバーに並べる最大件数
docReader.visibleLayers [] 表示する layer。空なら制限なし
docReader.minSalience 1 この値未満の salience を隠す

拡張は layer や fields のキーの意味を知らない。 JSON 側で使った名前をそのまま書く。

開発

npm install
npm run compile      # 1回ビルド
npm run watch        # 監視ビルド
npm run typecheck    # 型チェックのみ
npm test             # 単体テスト + VS Code 統合テスト

VS Code でこのフォルダを開いて F5 を押すと、拡張が読み込まれた2つ目のウィンドウ (Extension Development Host) が起動する。Marketplace への公開はテストには不要。

テスト用のワークスペースは sample/。 sample/docs/sample.pdf は node scripts/make-sample-pdf.mjs で作り直せる。

Webview(PDF側)の中身は外から触れないので、確かめたいことを Webview に計算させて 返させている(probe / hoverProbe)。本物の Electron・本物の CSP の上で測っている。

進捗

docs/plan.md が正。ここはその要約。

  • [x] Phase 0 — 拡張の雛形。F5 で起動する
  • [x] Phase 1 — データ層 + コード側ホバー
  • [x] Phase 2 — 範囲・入れ子・下線の制御
  • [x] Phase 3 — PDF ビューア。テキストレイヤーの文字座標検証
  • [x] Phase 4 — PDF 側の自前ホバー
  • [ ] Phase 5 — 配布(任意)

ライセンス

MIT。取り込んだ OSS のライセンスは third-party-licenses/ を参照。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft