在Eclipse中更改方法签名时,如何自动更新Javadoc?

时间:2010-02-14 06:47:11

标签: java eclipse javadoc

我正在将Eclipse IDE用于我的Java项目。

我有一个问题。我的项目中的方法有如下的javadoc注释:

/**
 * Retruns the string representation of a input stream
 * @param in
 * @return
 * @throws IOException
 */
public static String getStringFromInputStream (InputStream in) throws IOException {
    StringBuffer out = new StringBuffer();
    byte[] b = new byte[4096];
    for (int n; (n = in.read(b)) != -1;) {
        out.append(new String(b, 0, n));
    }
    return out.toString();
}

现在我想知道,无论何时如果我在方法的签名中进行更改,这些更改都会自动反映在javadoc中。

6 个答案:

答案 0 :(得分:11)

除了提到的重命名重构器JesperE之外,Eclipse提供了相当不错的选项来确保javadoc的正确性:

  • 更改方法签名重构操作也会修改javadoc(添加/删除必要的标记)。您应该使用此文件或重命名来修改已在使用的代码。
  • 如果在 Preferences / Java / Editor / Typing 页面上激活添加Javadoc标记,则在键入/** + 后Eclipse会生成正确的javadoc存根在方法之前输入

您还可以设置编译器选项以检查 Preferences / Java / Compiler / Javadoc 上的javadoc缺失标记。在这种情况下,您会收到编译器关于缺失/额外标记的警告,并且您有quickfix( Ctrl + 1 )来修复它们。从长远来看,确保现有javadoc的正确性是一个很好的选择。

答案 1 :(得分:4)

我不知道有任何方法可以自动同步Javadoc标头,但如果使用Ctrl-1 + Rename in file重命名参数,则会适当地重命名Javadoc标头。

答案 2 :(得分:3)

使用"更新参考资料进行重构"选项是不够的。您需要确保"处理Javadoc评论"在Window-> Preferences,Java-> Compiler-> Javadoc中检查。像你喜欢的那样调整首选项页面,它会正常工作。

答案 3 :(得分:2)

只需按方法名称上的ALT + SHIFT + j并删除多余的行:

在:

/**
 * Copies all the details from the passed template into the passed new
 * header.
 *
 * @param pNewHeader
 */
private void doCopy(int pNewHeader, int pTemplate) {

在:

/**
 * Copies all the details from the passed template into the passed new
 * header.
 *
 * @param pNewHeader   << DELETE
 */                    << DELETE
/**                    << DELETE
 * @param pNewHeader
 * @param pTemplate
 */
private void doCopy(int pNewHeader, int pTemplate) {

答案 4 :(得分:1)

Atl+Shift+R并更改

答案 5 :(得分:1)

正如我对场景进行了评论,其中重构工作

  
    

所有答案均指重构选项。但是,如果我添加了一个新的参数或从方法签名中删除了一个参数,该怎么办?在这种情况下,如何更新javadoc?

  

我找到了一种解决方法,但是它仍然不是一个自动化过程,并且不适合进行大量更改。

解决方法是, 1.删​​除javadoc注释并使其成为明文注释,即更新/**' and change it to just / *&#39;。
2.现在再次在方法签名/声明上方输入/**并按Enter键。它将重新填充更新的参数并返回信息。现在只需将描述行从旧评论移到新评论中 3.您可以使用 Alt + Up / Down 箭头来实现此目的。
4.在正确的位置复制旧的javadoc注释后,完成删除。