Рефакторинг c ++: изменение имени метода, ввода и вывода - PullRequest
1 голос
/ 18 февраля 2012

Я использую затмение cdt helios. я долгое время использовал затмение для Java, и я нашел его идеальной IDE. это может быть почти все, и это может решить большую часть моей проблемы и действительно улучшить мою скорость в кодировании и в создании элегантного кода. но в с ++ все иначе.

Я хочу знать, есть ли какой-нибудь простой способ рефакторинга: если я изменяю вход или выход метода в .cpp, я хочу, чтобы изменения были согласованы с .h. например, если я хочу изменить

int *test::foo(char x, int y) { .. }

в

vector<int> test::foo1(chat x, double y) { .. }

там 2 изменения:

  1. outpur от int * к вектору
  2. имя от foo до foo1
  3. ввод от двойного до целого

Я хочу, чтобы эти изменения коснулись также файла .h. и все случаи этого.

возможно ли это с помощью eclipse helios cdt? с какой-то другой C ++ IDE на Linux? (например в vim .. как?)

РЕДАКТИРОВАТЬ: нет Vim Гуру здесь?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2012

Это может быть сделано в частности с IDE Netbeans C ++. Там вы можете найти «Изменить параметры функции» в рефакторинге. Но функциональность не так хороша, потому что вы не можете редактировать существующие параметры (например, изменять тип параметра), только добавлять, удалять и менять место в сигнатуре. Таким образом, в вашем случае для изменения 1-го типа параметра с char на chat вам необходимо удалить 1-й параметр, а затем добавить параметр с типом chat. Кроме того, Netbeans не может рефакторировать возвращаемый тип функции.

0 голосов
/ 18 февраля 2012

Это возможно в QTCreator IDE , вы можете глобально переименовывать переменные и изменять методы.

...