redhat-developer / redhat-developer/vscode-java
Organize imports enhancement
未关闭
还没有人认领这个 Issue。
code action
enhancement
- 主要语言
- TypeScript
- 星标
- 2.3k
- 派生
- 546
- 平均合并
- 20 小时 1 分钟
- 30 天内合并 PR
- 11
描述
Currently "Organize imports" will do three things:
- Add missing imports
- Remove all unused imports
- Sort existing imports
And there are serveral requests about feature "Organize imports":
Organize import without sorting:
- https://github.com/redhat-developer/vscode-java/issues/1575#issue-677597353
- https://github.com/redhat-developer/vscode-java/issues/1575#issuecomment-879667855
Organize imports (and other code actions) in multiple files:
- https://github.com/redhat-developer/vscode-java/issues/1107
- https://github.com/redhat-developer/vscode-java/issues/2282
- https://github.com/microsoft/vscode-java-pack/issues/1085
We can find rooms to improve. Although we have configuration java.completion.importOrder, it's not such visible and it's hard to "hardcode" a package list for some users. In this way, we can have serveral points to improve:
- Add "Remove all unused imports" quickfix for related warnings https://github.com/eclipse/eclipse.jdt.ls/pull/2280
- it just remove all unused imports, will not affect existing valid imports
- Add "Add all missing imports" quickfix for related errors https://github.com/eclipse/eclipse.jdt.ls/pull/2292
- it just add all missing imports, will not affect(sort) existing valid imports
- Support "Add all missing import" when pasting https://github.com/redhat-developer/vscode-java/pull/2795
- related API: https://github.com/microsoft/vscode/issues/30066
- Support code actions (and formatting maybe) in folder level
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
没有指定文件或测试。首先查看已链接的 issue 和 pull request,然后跟踪现有的 Organize imports 流程及其针对单个文件的 code actions;在不回归现有添加、移除和排序行为的情况下支持文件夹级别的 code actions,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, typescript, vscode
- 领域
- developer-experience, tooling
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100