Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Eclipse中更改方法签名时,如何自动更新Javadoc?_Java_Eclipse_Javadoc - Fatal编程技术网

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

在Eclipse中更改方法签名时,如何自动更新Javadoc?,java,eclipse,javadoc,Java,Eclipse,Javadoc,我在Java项目中使用EclipseIDE 我有一个问题。我的项目中有一些方法,它们有如下javadoc注释: /** * Retruns the string representation of a input stream * @param in * @return * @throws IOException */ public static String getStringFromInputStream (InputStream in) throws IOException {

我在Java项目中使用EclipseIDE

我有一个问题。我的项目中有一些方法,它们有如下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中。

我不知道自动同步javadoc头的任何方法,但是如果使用
Ctrl-1
+
在文件中重命名参数,
,Javadoc头被适当地重命名。

Eclipse提供了相当好的选项来确保Javadoc的正确性,除了上面提到的重命名重构JesperE外:

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

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

Atl+Shift+R
并更改使用“更新引用”选项重构是不够的。您需要确保在窗口->首选项,Java->编译器->Javadoc中选中“ProcessJavadocComments”。按照您喜欢的方式调整首选项页面,它会很好地工作。

正如我所评论的场景,在该场景中重构将不起作用

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

我发现了一个变通方法,但它仍然不是一个自动化的过程,不适合进行大量更改

解决方法是,
1.删除javadoc注释并使其成为普通注释,即更新
/**'并将其更改为仅
/**'。
2.现在再次在方法签名/声明上方输入
/**
,然后按enter键。它将重新填充更新的参数并返回信息。现在只需将描述行从旧注释移动到新注释。
3.您可以使用Alt+上/下箭头来实现此目的。

4.在将旧的javadoc注释复制到正确的位置后,已完成删除操作。

只需按方法名称上的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) {
/**
*将传递的模板中的所有详细信息复制到传递的新模板中
*标题。
*

*@param pneweader可能会重新设置此标题。正如标题所说,javadoc没有问题。也许类似于“从Eclipse中的JavaDoc更改进行重构”。顺便说一句,我不认为你不写插件就可以做到这一点。这仍然是开放的答案!!!!。所有答案都涉及重构选项。但如果我添加了一个新的参数,或者从方法签名中删除了一个参数,该怎么办呢。在这种情况下,如何更新javadoc?大家检查我的答案,寻找解决方法!仅适用于参数名称。签名更改还包括添加/删除参数、更改throws子句等。从技术上讲,这只是命令。“但是,如果我添加了一个新参数或从方法签名中删除了一个参数,该怎么办?在这种情况下,如何更新javadoc?”-Csaba_H的回答解决了这一问题;您使用重构>更改方法签名。。。它将在方法签名和javadoc上添加和/或删除参数。