【问题标题】:Parameters displayed as arg0 but only the first time?参数显示为 arg0 但只是第一次?
【发布时间】:2015-12-16 08:59:17
【问题描述】:

一段时间以来,我一直是 eclipse mars 的快乐用户。但是有一点让我有点不爽:

当我早上开始 eclipse mars 并开始输入例如:

list.add

(列表是一个数组列表)

然后参数显示为arg0和arg1。这只是第一次发生。因为当我再次键入“list.add”时,会显示参数名称,因此不再显示 arg0 和 arg1。

但是当我去另一个班级并通过键入 hash.put 来使用它时,参数再次为 arg0。但是当我第二次尝试时,参数名称正确显示,不再有 arg0。

我确实有一个配置和选择源的 jdk (1.8 60)(安装了 jres 并用于项目)。

第一次尝试,你会得到 arg0:

第二次尝试参数名称:

已解决:

(感谢 francesco Foresti 为我指明了正确的方向)

找到了!右键单击“jre system library”,属性,选择“execution env”单选按钮,单击“environment”按钮,选择“javase-18”并在“compatible jre”列表中启用jdk复选框。现在 rt.jar 具有源附件,而不仅仅是 javadoc 附件。即使在 maven “更新项目”之后,它也会保留它。

【问题讨论】:

  • 你想让我们根据你没有显示的代码猜测?
  • 我认为他没有要显示的代码...我相信他指的是 Eclipse 的自动完成/建议。或许他可以发个截图让意思更清楚
  • 我认为,您应该转到以下菜单,Window -> Preferences -> Java -> Editor -> Content assistant 并查看选项 Fill method arguments 和显示猜测的参数 被选择为你所看到的。
  • @dagandlerx 我添加了一个屏幕截图以使其更清晰。

标签: java eclipse


【解决方案1】:

在这里胡乱猜测,所以对这个答案持保留态度..

您第一次请求自动完成时,Eclipse 可能会使用反编译的类(来自您的项目依赖项)填充参数名称,因此您会看到 arg0 arg1 等等。同时 Eclipse 触发了一个源码下载请求(可能是 Maven,我不知道),所以下次你想要自动完成时,你会看到参数的真实姓名。这个“自动完成缓存”似乎也有一个有限的生命周期,所以当你第二天早上打开 Eclipse 时,它​​会重新开始。如果您想更改此行为,我建议您尝试深入研究 Eclipse 自动完成配置。

【讨论】:

  • 这个问题也一直困扰着我,我自己也想出了同样的解释。我也在猜测,但这听起来很合理。
  • 嗯,奇怪,我确实使用 maven 并且在 Package explorer 结构中有一个 JRE 系统库,我右键单击并将“jre 系统库”设置为我的 jdk 之一。现在 arg0 第一次没有出现。但似乎当我执行“maven > 更新项目”时,“jre 系统库”会重置并再次指向 jre。 arg0 再次出现。这可能是一个 Maven 问题。我再搜索一下。
  • 找到了!右键单击“jre 系统库”,属性,选择“执行环境”单选按钮,单击“环境”按钮,选择“javase-18”并在“兼容 jre”列表中启用 jdk 复选框。现在 rt.jar 具有源附件,而不仅仅是 javadoc 附件。即使在 maven “更新项目”之后它也会保留它。
猜你喜欢
  • 2017-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-02
相关资源
最近更新 更多