Первый, долго ожидаемый народом, это Rename refactoring.
Картинка:
И еще есть Inline symbol refactoring. Инлайнить можно только простые локальные переменные.
Картинка:
Сразу признаюсь, что сделан немного халтурно, но лично для меня покрывает 90 процентов потребностей. Gotcha вот в чем: подстановки пока что чисто текстуальные, так что для кода
def x = 1 + 2;
def y = x * 3;
Если заинлайнить x, то результат будет
def y = 1 + 2 * 3;
, а не
def y = (1 + 2) * 3;
(как должно быть по уму). Впрочем, я работаю над этим. А этот "релиз" вроде как EAP, назовем это так
Также хотелось бы услышать, каких еще рефакторингов народу не хватает, в порядке важности?
Здравствуйте, Блудов Павел, Вы писали:
БП>Здравствуйте, Сергей Туленцев, Вы писали:
БП>Выглядит ничего так. Может их сразу в wiki на nemerle.org выкладывать?
Можно, ага. Вроде как у меня там даже какие-то права были
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Сергей Туленцев, Вы писали:
СТ>>Если заинлайнить x, то результат будет СТ>>
def y = 1 + 2 * 3;
, а не
def y = (1 + 2) * 3;
СТ>>(как должно быть по уму). Впрочем, я работаю над этим. А этот "релиз" вроде как EAP, назовем это так
VD>А что мешает, если инициализатор является выражением, обрамлять его в текстуальные скобки?
Да вроде бы ничего не мешает. И то хочется сделать, и это, а тут еще работать надо
Здравствуйте, Сергей Туленцев, Вы писали:
СТ>Сразу признаюсь, что сделан немного халтурно, но лично для меня покрывает 90 процентов потребностей. Gotcha вот в чем: подстановки пока что чисто текстуальные, так что для кода СТ>
СТ>def x = 1 + 2;
СТ>def y = x * 3;
СТ>
СТ>Если заинлайнить x, то результат будет СТ>
def y = 1 + 2 * 3;
, а не
def y = (1 + 2) * 3;
СТ>(как должно быть по уму). Впрочем, я работаю над этим.
Добавил "наивно-параноидальный" фикс. Может вставлять лишние скобки там, где не надо. Но хотя бы код будет правильным
Здравствуйте, Сергей Туленцев, Вы писали:
СТ>Сразу признаюсь, что сделан немного халтурно, но лично для меня покрывает 90 процентов потребностей. Gotcha вот в чем: подстановки пока что чисто текстуальные
Наверно именно поэтому не работает Rename на generic'ах? Если поможет — при наведении мышкой на c подсветка выглядит так: (жирный = розовый, курсив = лазурный)
Здравствуйте, Aen Sidhe, Вы писали:
AS>Здравствуйте, Сергей Туленцев, Вы писали:
СТ>>Сразу признаюсь, что сделан немного халтурно, но лично для меня покрывает 90 процентов потребностей. Gotcha вот в чем: подстановки пока что чисто текстуальные
AS>Наверно именно поэтому не работает Rename на generic'ах? Если поможет — при наведении мышкой на c подсветка выглядит так: (жирный = розовый, курсив = лазурный)
Ты type parameter переименовать хотел, да? По моему, там чуть-чуть недоделано. На выходных постараюсь поправить.
А не работает не из-за того, что подстановки текстуальные. А поиск хромает еще пока.
Здравствуйте, Сергей Туленцев, Вы писали:
СТ>Ты type parameter переименовать хотел, да? По моему, там чуть-чуть недоделано. На выходных постараюсь поправить.