redhat-developer / redhat-developer/vscode-java
Code action for static import doesn't work well in a specific case
未关闭
还没有人认领这个 Issue。
bug
- 主要语言
- TypeScript
- 星标
- 2.3k
- 派生
- 546
- 平均合并
- 20 小时 1 分钟
- 30 天内合并 PR
- 11
描述
Environment
- Operating System: Windows
- JDK version: 17.0.8
- Visual Studio Code version: 1.95.0
- Java extension version: 1.36.0
Steps To Reproduce
- Open https://github.com/junit-team/junit5-samples/tree/master/junit5-migration-maven
- Open FirstTest.java file
- Comment out
import static org.junit.jupiter.api.Assertions.assertEquals; - Add
import static org.junit.Assert.*; - Click quick fix before
assertEquals
Current Result
- It shouldn't show the option
Add static import for 'Assert.assertEquals'as it has been included inimport static org.junit.Assert.*;. And this option doesn't work if clicking it. - Without
import static org.junit.Assert.*;, code actionAdd static import for 'Assert.assertEqualsworks only at first time. After first clicking, it still shows this option even the import has been added.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先,使用列出的 VS Code 和 Java extension 版本(如果可用),在 junit5-migration-maven 示例的 FirstTest.java 中复现 quick-fix 行为。比较添加 import static org.junit.Assert.*; 后的建议,以及应用一次 static-import action 后的建议。当 wildcard import 已经覆盖 assertEquals 时不再提供该 action,并且添加 import 后该 action 不再存在,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, typescript, vscode
- 领域
- developer-experience, tooling
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100