Подтвердить что ты не робот

Как я могу автоматически обновлять Javadoc при изменении подписи метода в Eclipse?

Я использую 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.

4b9b3361

Ответ 1

Нажмите Atl+Shift+R и измените

Ответ 2

Eclipse предоставляет довольно хорошие возможности для обеспечения правильности javadoc, кроме рефакторинга Rename JesperE, упомянутого:

  • Функция рефакторинга подписи метода изменения также изменяет javadoc (добавляет/удаляет необходимые теги). Вы должны использовать этот или Переименовать, чтобы изменить код, который уже используется.
  • Если вы активируете Добавить теги Javadoc на странице Preferences/Java/Editor/Typing, тогда Eclipse генерирует правильный кусок javadoc после ввода /** + Enter перед методом.

Вы также можете установить параметры компилятора для проверки отсутствующих тегов javadoc на Preferences/Java/Compiler/Javadoc. В этом случае вы получаете предупреждения от компилятора о отсутствующих/дополнительных тегах, и у вас есть quickfix (Ctrl+1) для их исправления. Это хороший вариант для обеспечения правильности существующих javadocs в конечном итоге.

Ответ 3

Я не знаю о возможности автоматической синхронизации заголовка Javadoc, но если вы переименуете параметр с помощью Ctrl-1 + Rename in file, заголовок Javadoc соответствующим образом переименовывается.

Ответ 4

Рефакторинг с опцией "Обновить ссылки" недостаточен. Вы должны убедиться, что "Обработать комментарии Javadoc" отмечен в Window- > Preferences, Java- > Compiler- > Javadoc. Измените предпочтительную страницу, как вы предпочитаете, и она будет работать нормально.

Ответ 5

Просто нажмите 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) {

Ответ 6

Как я прокомментировал сценарий, в котором рефактор не будет работать

Все ответы относятся к опции рефакторинга. Но что, если бы я добавил новый параметр или удалил параметр из подписи метода. В этом случае, как обновить javadoc?

Существует обходное решение, которое я нашел, но да, это еще не автоматизированный процесс и не подходит для большого количества изменений.

Обходной путь - это,
1. удалите комментарий javadoc и сделайте простой комментарий, например, обновите /**' and change it to just/*.
2. Теперь еще раз над сигнатурой/декларацией метода введите /** и нажмите enter. Он будет повторно заполнять обновленные параметры и возвращать информацию. Теперь просто переместите строки описания из старого комментария в новый.
3. Для достижения этой цели вы можете использовать стрелки Alt + Up/Down.
4. Завершите удаление старого комментария javadoc после его скопирования в правильном месте.