Кто-нибудь знает полнофункциональный инструмент рефакторинга для C ++, который надежно работает с большими базами кода (около 100 000 строк)?
В течение последних лет я пробовал все, что смогу найти снова и снова: SlickEdit, Eclipse CDT. Все они не были пригодны для использования.
РЕЗЮМЕ : Я взял время и оценил «Visual Assist X», а также «Refactor for C ++». Оба имеют некоторые впечатляющие особенности, но оба они далеки от совершенства. Извлечение большого блока кода обычно не выполняется без изменений вручную и, следовательно, не окупается.
«Visual Assist X» обладает хорошими функциями, такими как гораздо более полное автозаполнение и т. Д. Но он вызывает сильное мерцание и сильно замедляет работу в определенных точках.
Поэтому, на мой взгляд, ответ таков: «Нет, для C ++ не существует готового инструмента для рефакторинга».
ОБНОВЛЕНИЕ Март 2015 Что касается ответа hdoghmens, сегодня я попробовал Resharper для C ++. Его ссылка https://www.jetbrains.com/resharper/ ничего не говорит о C ++. Но я нашел Resharper C ++, который был анонсирован более года назад:
https://www.jetbrains.com/resharper/features/cpp.html
Я попробовал VC2010, используя кодовую базу в 20 МБ.
Тест 1: метод извлечения: приводит к исключению Resharper. Исходный код не изменился.
Тест 2: метод извлечения с другим источником: работает нормально
Тест 3: изменение сигнатуры извлеченной функции: результаты в неработающем коде C ++:
bool myclass::do_work123(<unknown long Color>int& Filled*&, long, int&)
Может быть, поэтому C ++ его нет на главной странице.
По моему мнению, ответ на этот вопрос все еще "НЕТ" .