[Feature] 类型化 DebugAdapter Registry 与第三方 DAP 接入现有 Debug UI

クローズ
#1,210 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

関連するプルリクエストがすでにマージされています。

  • #1500 @xiaoyumuxi による — マージ済み
  • #1508 @xiaoyumuxi による — マージ済み

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
8/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
活発
技術スタック
typescript
領域
devtools

調査の方向性

This is design work that spans the whole debug subsystem, so start with the linked design note on the public extension contract and the Provider API, then inventory the existing DAP session, breakpoint, launch, and debugFactories code paths. Do not add a plugin-name special case or change pluginAPIVersion=2. Done means a third-party DAP adapter can launch, set breakpoints, stop, and clean up its session, with threads, stack, and variables shown in the existing Debug UI, and with Windows evidence.

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

説明

enhancement review: high

📦 迁移自 Lithe-IDEA/Lithe-IDEA#41
原作者 arkleselect · 创建于 2026-10-13 14:57 UTC · 原状态 OPEN


本任务来自 PR #1206 的架构定位审查,属于后续阶段,不要求在 #1206 实现。当前 pluginAPIVersion=2 的字段、校验和兼容性保持不变。总跟踪 #1183、迁移 #1186,端到端验收 #1184。

设计说明:公共扩展契约与原生 Provider 接入方向。

目标

内置和插件调试适配器共用领域 Provider 契约,将按语言建立的 debugFactories 逐步迁到类型化 Registry。第三方 DAP 进入现有 Debug UI。

工作范围与验收

  • 盘点当前 DAP 会话、断点、启动计划、终端、变量和停止链路,复用完整子系统;设计 DebugAdapter Provider 的声明、发现与优先级/冲突规则。
  • 原生内置适配器与第三方插件共用类型化注册目录,组合根不按新插件名称追加特判。
  • 纯 Debug 插件无语言/无 UI 也能声明能力,在新契约下验证权限、工具链和资源归属。
  • 第三方 DAP 完成启动、断点、停止、会话清理,在既有 Debug UI 展示线程/栈/变量。
  • 覆盖禁用期间启动、失败隔离、取消、晚到事件、重新启用和已有调试行为不回退。
  • Windows 独立适配共享声明/fixtures,并分别提供实机证据。

非目标

不重建 DAP 状态机或另一套 Debug UI,不把语言字符串工厂直接作为最终公共契约,不要求 #1206 同步实现。

主要言語
TypeScript
スター
1.8k
フォーク
151
平均マージ
11時間 47分
マージ済み PR(30日)
409

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

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

1lck/Lithe-IDEA のほかの issue

1lck/Lithe-IDEA の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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