Я не смог найти в интернете ничего, что упоминало бы, что функциональность отмены Eclipse была сломана / хлам, так что, возможно, это только я. Тем не менее, я решил спросить здесь и посмотреть, испытал ли кто-нибудь еще подобное раздражение и / или знает ли о чем-то.
Наиболее распространенным сценарием является то, что я пишу строку кода, скажем:
System.out.println(someString);
После записи someString
я нажимаю клавишу ввода, что обычно приводит меня к концу строки / за пределами скобок аргумента println. Тем не менее, если я каким-то образом потерял выделение в специальном поле вокруг аргумента (например, нажатием клавиши escape
), то ввод даст мне новую строку перед закрывающей скобкой. Если я теперь отменю с Ctrl-Z
это отменит новую строку и все слово (someString
в этом случае). Теперь у меня есть возможность повторить, а затем вручную удалить новую строку или снова ввести оставшийся бит строки. Отмена часто охватывает сохранения, что не имеет смысла для меня. Вы можете подумать, что когда вы сохраняете, вносите изменения, а затем отменяете, вы возвращаетесь не дальше точки сохранения. Однако это не так. Эти незначительные неудобства случаются так часто, что я, вероятно, предпочел бы отменять по одному персонажу за раз, в стиле Emacs. Кто-нибудь знает, возможно ли это?
Менее распространенный сценарий - это сценарий, который еще более неудобен и больше похож на настоящую ошибку. Иногда я делаю некоторые изменения в своем коде. Запустите его в режиме отладки и начните играть с интерфейсом (обычно в браузере). Через 10-20 минут, например, я достигаю точки останова, когда я где-то печатаю (скажем, пишу электронное письмо), Eclipse подпрыгивает и крадет фокус, и я случайно что-то набираю в своем коде. Теперь, когда я отменяю, Eclipse часто решает не просто отменить изменение, которое я только что сделал, но также и некоторые изменения, которые я сделал 10-20 минут (иногда даже дольше) назад, все за один раз. Конечно, это должно было случиться с кем-то еще? Мне кажется, что единственная "безопасная" вещь, которую нужно сделать, - revert
к последнему сохранению, так как вы можете не знать точно, что вы случайно изменили, и отмена забирает вас до последнего сохранения, теряя некоторый случайный код (и случайная запись могла также удалить код, если что-то было выбрано, когда Eclipse украл фокус).
Итак, это была довольно длинная напыщенная речь. Я просто хотел бы услышать, испытал ли это что-то еще, расстраивает ли это или даже имеет решение :)