microsoft / microsoft/vscode-java-debug

Refactor: Extract common code from LaunchRequestHandler's delegate

未关闭
#373 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

ai-triaged debt enhancement
主要语言
TypeScript
星标
591
派生
429
平均合并
1 天 9 小时
30 天内合并 PR
19

描述

See ILaunchDelegate.java#L25-L27

    CompletableFuture<Response> launchInTerminal(LaunchArguments launchArguments, Response response, IDebugAdapterContext context);

    CompletableFuture<Response> launchInternally(LaunchArguments launchArguments, Response response, IDebugAdapterContext context);

There is common logic in implementation for both interfaces. The main differences in implementation for debug/noDebug are:

  • launchInTerminal: It constructs different command string, and then take different actions according to response.
  • launchInternally: It starts debuggee process in different ways.

Refactor work should be done to make code clean and readable.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 ILaunchDelegate.java 第 25-27 行开始,然后检查 LaunchRequestHandler 的 delegate 中 launchInTerminal 和 launchInternally 的实现。比较共享逻辑以及 issue 中描述的 debug/noDebug 差异;完成的标准是整合公共行为,同时保持 delegate 易于阅读,而不改变这些不同的启动行为。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
devtools
Issue 类型
重构
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。