redhat-developer / redhat-developer/vscode-java

Autocompletion doesn't work well within lambda expressions

未关闭
#2,324 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

bug content-assist upstream
主要语言
TypeScript
星标
2.3k
派生
547
平均合并
20 小时 1 分钟
30 天内合并 PR
11

描述

Issue Type: Bug

[Error - 7:12:19 PM] Feb 17, 2022, 7:12:19 PM Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".

java.lang.IllegalArgumentException:
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:66)
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:50)
at org.eclipse.core.internal.jobs.JobManager.setRule(JobManager.java:1400)
at org.eclipse.core.internal.jobs.InternalJob.setRule(InternalJob.java:486)
at org.eclipse.core.runtime.jobs.Job.setRule(Job.java:771)
at org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.triggerValidation(BaseDocumentLifeCycleHandler.java:154)
at org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.triggerValidation(BaseDocumentLifeCycleHandler.java:138)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.visit(WorkspaceDiagnosticsHandler.java:180)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:67)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:51)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceDiagnosticsHandler.resourceChanged(WorkspaceDiagnosticsHandler.java:103)
at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:381)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1503)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2327)
at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(NotificationManager.java:44)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Extension version: 1.3.0
VS Code version: Code 1.64.2 (f80445acd5a3dadef24aa209168452a3d97cc326, 2022-02-09T22:02:28.252Z)
OS version: Windows_NT x64 10.0.19042
Restricted Mode: No

System Info
Item Value
CPUs Intel(R) Core(TM) i7-10610U CPU @ 1.80GHz (8 x 2304)
GPU Status 2d_canvas: unavailable_software
gpu_compositing: disabled_software
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
opengl: disabled_off
rasterization: disabled_software
skia_renderer: enabled_on
video_decode: disabled_software
vulkan: disabled_off
webgl: unavailable_software
webgl2: unavailable_software
Load (avg) undefined
Memory (System) 31.73GB (16.09GB free)
Process Argv --disable-gpu --disable-gpu-compositing --log error
Screen Reader no
VM 0%

贡献指南

打开贡献指南

从这里开始

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

调研方向

首先复现 lambda 表达式中的 Java 自动补全,然后检查经过 BaseDocumentLifeCycleHandler 和 WorkspaceDiagnosticsHandler 的报告路径。完成的标准是补全功能在 lambda 上下文中正常工作,并且在验证期间不会出现报告的 IllegalArgumentException。

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

评估

技术栈
java, typescript, vscode
领域
developer-experience, tooling
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
30/100

把新 issue 发到你的邮箱

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