Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open
#1,210 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
8/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
typescript
Domain
devtools

Research direction

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.

Written by the indexing model from the issue text.

Description

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 同步实现。

Dominant language
TypeScript
Stars
1.8k
Forks
151
Avg merge
12h 15m
Merged PRs (30d)
270

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from 1lck/Lithe-IDEA

All issues in 1lck/Lithe-IDEA

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.