升级到 2021-06 (4.20.0) 后,Eclipse 内容辅助在循环中失败

Eclipse content assist fails in loops after upgrade to 2021-06 (4.20.0)

有人问了类似的问题 here, with no answer yet and less of a code sample. I found and tried the deletion solution for a similar problem,但没有用。

最近将 Eclipse 升级到版本 2021-06 (4.20.0) 后,我注意到内容辅助功能 (ctrl-space) 在许多情况下无法正常工作。

import java.util.HashSet;
import java.util.Set;

public class ContentAssist {

    public static void main(final String[] args) {
        final Set<String> storedSet = new HashSet<String>();
        for (int i = 0; i < 500; i++) {

            System.out.println(i);
        }
    }
}

如果我们现在想访问 storedSet,首先键入 's',我们会看到 out 显示为编译错误:

内容辅助不足:

另外,当提供更多字符时:

注释掉 System.out 部分,Content Assist 再次起作用:

PC 中或前面有错误?

编辑:我刚刚使用 Eclipse Installer 2021-06 R 在 Windows x86_64 上测试了 Eclipse 2021-06 (4.20.0) Build id 20210612-2011 的全新安装。使用上面的代码创建了一个新的 Java 项目并发生了相同的行为。

不幸的是,这确实是 Eclipse 2021-06 (4.20) 的一个问题,已经在 Eclipse 2021-09 (4.21) 中修复(2021 年 9 月 15 日发布):

Eclipse bug 574338 - [content assist] [regression] no content assist for variables in conditional blocks

请注意,有一个 similar bug that has not yet been fixed。作为解决方法,您可以在使用内容辅助的位置后添加 ;