2010-02-14 4 views
22

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

У меня есть одна проблема. У меня есть методы в моем проекте, которые имеют комментарии 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 автоматически.

+2

Может быть хорошо переименуйте это. Нет никаких проблем с javadoc, поскольку заголовок требует. Возможно, что-то похоже на «Рефакторинг из изменений JavaDoc в Eclipse». Я не думаю, что вы можете это сделать без написания плагина, кстати. –

+0

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

+0

Ребята проверяют мой ответ на обходной путь! – mtk

ответ

1

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

+1

Работает только с именами параметров. Изменения подписи также включают в себя добавление/удаление параметров, изменение предложения бросков и т. Д. – whiskeysierra

+2

Технически это просто команда [для 'Refactor'>' Rename'] (http://www.n0sl33p.org/dev/eclipse_keys.html). – Pops

4

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

10

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

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

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

2

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

1

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

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

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

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

+1

_ «Но что, если бы я добавил новый параметр или удалил параметр из подписи метода. В этом случае, как обновить ответ javadoc?» _ - Csaba_H, это ответ; вы используете _Refactor_> _Change Method Signature ..._, и он добавит и/или удалит параметры (ы) как для сигнатуры метода _and_ javadoc. –

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) { 
Смежные вопросы