【问题标题】:How do I fix Javadoc that no longer autofills/autocompletes?如何修复不再自动填充/自动完成的 Javadoc?
【发布时间】:2012-10-25 17:14:06
【问题描述】:

当你在Eclipse中的一个方法上面输入/**并回车,它会生成Javadoc,例如:

/**
 * Finds a World using a String, greets the World,
 * and then returns a reference to the World.
 * 
 * @param world - the World to find and greet.
 * @return the reference to the World.
 * @throws ApocalypseException - if the World is not found.
 */
public World helloWorld(String world) throws ApocalypseException {
    ...
}

但是,有时当我在方法中添加 Javadoc 时,它会随机停止生成:

/**
 * 
 */
public Universe helloUniverse(String universe) throws BigBangException {
    ...
}

这不是特定于某个类的。我将在一个类中生成 5 个左右的方法,然后它就停止生成。我认为 Workspace 无法读取我的类文件,所以我删除了它们并重新编译,但这并没有解决问题。我也试过重启 Eclipse,但也没有用。

【问题讨论】:

    标签: java eclipse autocomplete javadoc workspace


    【解决方案1】:

    不知道你的具体情况,但如果你尝试创建一个它无法确定的方法(例如,将一个尚未导入的类作为返回值),你会得到第二个结果想要的。

    无论哪种方式,您都可以尝试通过突出显示方法名称并使用“Source”->“Generate Element Comment”(从上下文菜单或窗口菜单栏)来强制生成 javadoc 注释。或者热键,无论它在你的 Eclipse 首选项中分配什么。

    【讨论】:

    • 如果我尝试以这种方式生成 cmets,它将使用非 Javadoc cmets:/* (non-Javadoc) * @see java.lang.Object#toString() */
    • 您的第一个建议是准确的。添加具有新返回值的新方法确实会在类的底部生成正确的 Javadoc。但是,应用相同的逻辑并从类中删除所有导入以强制错误不会改变 Javadoc cmets 的生成方式。
    • 您显示的“非 Javadoc”注释是对重写方法的注释的默认行为。您可以在 Prefs->Java->Code Style->Code Templates 中通过 Comments->Overriding methods 项更改它。
    • 不确定我是否理解 - 您正在删除所有导入并且 javadoc cmets 正在自动生成?如果是这样,成功。如果不是,那是可以预料的,如答案中所述。对我来说,你可能需要检查课堂上的错误,或者通过(默认)在东西上覆盖红色波浪线,或者在你的标记视图中(一旦文件被保存)。
    • 我的课堂上没有错误甚至警告。正如我在问题中所说,它根本不会生成 Javadoc cmets。
    【解决方案2】:

    为了解决这个问题,我将所有未生成 Javadoc 的方法剪切到具有类似导入的类中,然后继续在该其他类中生成 Javadoc cmets,并且它们生成正确。然后我将它们切回原来的类,没有任何错误。

    这可能是 Eclipse 中的一个错误,因为它经常发生在我身上。

    【讨论】:

      猜你喜欢
      • 2016-02-08
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      • 2021-04-06
      • 2023-03-19
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多