Очень радует следующая фича в эклипсе (говорят нечто подобное есть и в visual studio + Resharper):
нажимаешь ctrl + Q и ты автоматически переходишь в тот редактор и в то место этого редактора, где ты сделал последние изменения.
Как правило происходит так:
открываешь файл, редактируешь его, усомнился в чём-то, пошёл лазить по другим файлам. Нашёл решение проблемы - нажал ctrl + Q и продолжаешь писать в первоначально открытый файл.
Было бы очень удобно иметь такую же фичу в фаре.
Re: Возврат в место последнего редактирования
Posted: Wed 08 Sep, 2010 17:43
by John Doe
Alt-F11
Re: Возврат в место последнего редактирования
Posted: Wed 08 Sep, 2010 17:53
by NightRoman
Alt-F11 - это совсем не то...
andrew.osipenko, вероятно (а может нет?), имеет в виду операцию undo/redo position, которая кроме того работает не только на уровне одного окна редактора, а всех открытых. В Вижуал Студии это есть прямо из коробки (2008 и 2010), клавиши Ctrl+- и Ctrl+Shift+-.
Да, весьма удобная вещь. Если у команды есть желание такое внедрить в Фаре, это было бы здорово. (Но, может, когда-нибудь в Фарнете модуль напишу, который этим займется.)
Re: Возврат в место последнего редактирования
Posted: Wed 08 Sep, 2010 18:00
by John Doe
andrew.osipenko wrote:открываешь файл, редактируешь его, усомнился в чём-то, пошёл лазить по другим файлам. Нашёл решение проблемы - нажал ctrl + Q и продолжаешь писать в первоначально открытый файл.
Не знаю как должно быть в идеале, но по описанному вообще похоже на Ctrl-Tab.
А если по описанному NightRoman, то достаточно простого макроса сохраняющего/восстанавливающего закладки.
Вывод: описывайте желаемое поведение подробнее.
Re: Возврат в место последнего редактирования
Posted: Wed 08 Sep, 2010 18:09
by NightRoman
John Doe
Закладки - может быть, но это полумера. Их весьма мало (всего 10 или я путаю?). Кроме того, тогда с undo/redo position через закладки их нормальное предназначение страдает.
Re: Возврат в место последнего редактирования
Posted: Wed 08 Sep, 2010 18:23
by HaRT
NightRoman wrote:undo/redo position, которая кроме того работает не только на уровне одного окна редактора, а всех открытых. В Вижуал Студии это есть прямо из коробки (2008 и 2010), клавиши Ctrl+- и Ctrl+Shift+-.
Это удобные операции, но не совсем то, что просят, т.к. перемещаются не только по тем местам, где что-то менялось, а вообще по всем, где проходили.
Re: Возврат в место последнего редактирования
Posted: Wed 08 Sep, 2010 19:15
by Tim Sobolev
NightRoman wrote: John Doe
Закладки - может быть, но это полумера. Их весьма мало (всего 10 или я путаю?). Кроме того, тогда с undo/redo position через закладки их нормальное предназначение страдает.
Для этого есть стековые закладки и там изначально предполагалось что правки текста на привязку к конкретным строкам влиять не будут.
Единственное ограничение -- актуальны только для текущего сеанса редактора, но при переключении по CtrlTab проблем быть не должно.
Re: Возврат в место последнего редактирования
Posted: Wed 08 Sep, 2010 19:18
by Denis
Tim Sobolev wrote:
NightRoman wrote: John Doe
Закладки - может быть, но это полумера. Их весьма мало (всего 10 или я путаю?). Кроме того, тогда с undo/redo position через закладки их нормальное предназначение страдает.
Для этого есть стековые закладки и там изначально предполагалось что правки текста на привязку к конкретным строкам влиять не будут.
Единственное ограничение -- актуальны только для текущего сеанса редактора, но при переключении по CtrlTab проблем быть не должно.
Реализовать поведение идентичное запрашиваемому во всех деталях пока что макросом проблематично.
Но зачем именно идентичное?
Впрочем, никто ведь ещё даже не описал в желаемое поведение в деталях.
Re: Возврат в место последнего редактирования
Posted: Thu 09 Sep, 2010 07:55
by NightRoman
Tim Sobolev
А, стековые закладки, спасибо за напоминание, я забыл про них совсем и в Фарнет тоже вроде проигнорировал их. Надо будет обдумать.
Re: Возврат в место последнего редактирования
Posted: Thu 09 Sep, 2010 12:51
by andrew.osipenko
Прошу прощения, что неточно выразился, но HaRT уловил мою мысль:
HaRT wrote:
NightRoman wrote:undo/redo position, которая кроме того работает не только на уровне одного окна редактора, а всех открытых. В Вижуал Студии это есть прямо из коробки (2008 и 2010), клавиши Ctrl+- и Ctrl+Shift+-.
Это удобные операции, но не совсем то, что просят, т.к. перемещаются не только по тем местам, где что-то менялось, а вообще по всем, где проходили.
Хотелось бы по нажатию на Ctrl + Q в любом месте фара вернуться в редактор в котором было осуществлено последнее редактирование. Хотелось бы чтобы позиция курсора тоже сохранялась.
Use case:
1) Я открыл файл mail.txt и начал писать письмо:
2) Я забыл как зовут моего директора. Но я помню что его имя где-то у меня записано
3) Я открываю другой файл outlook-contacts.txt. К сожалению имени директора я в нём не нахожу.
4) Я открываю другой файл gmail-contacts.txt. Нахожу что моего директора зовут Иван Прокофьевич.
5) Выделяю Иван Прокофьевич, нажимаю Ctrl + C, нажимаю Ctrl + Q, нажимаю Ctrl + V
6) В результате я в файле mail.txt со следующим содержимым:
Добрый день многоуважаемый Иван Прокофьевич<cursor>
Re: Возврат в место последнего редактирования
Posted: Thu 09 Sep, 2010 13:48
by HaRT
andrew.osipenko wrote:Хотелось бы по нажатию на Ctrl + Q в любом месте фара вернуться в редактор в котором было осуществлено последнее редактирование. Хотелось бы чтобы позиция курсора тоже сохранялась.
Идея ясна, только вот вот кнопкосочетание Вы выбрали неудачное — CtrlQ в редакторе уже занято.
Была бы фича, а уж кнопку каждый себе сам назначить сможет.
Re: Возврат в место последнего редактирования
Posted: Thu 09 Sep, 2010 14:37
by andrew.osipenko
Вы правы. Сочетание клавиш в конечном счёте не принципиально.
Просто на этапе обсуждения удобнее говрить о CtrlQ нежели о абстрактном горячем сочетании клавиш
Re: Возврат в место последнего редактирования
Posted: Thu 09 Sep, 2010 19:23
by Maximus5
andrew.osipenko, желаемое легко получить макросом. в большинстве случаев достаточно просто переключиться в последний измененный редактор.
кое-что можно подсмотреть в макросе
F2 $If (!Editor) $Exit $End %i0=-1; F12 %cur = CurPos; Home Down %s = Menu.Select(" * ",3,2); $While (%s > 0) $If (%s == %i0) MsgBox("FAR SaveAll","Asterisk in menuitem for already processed window",0x10001) $Exit $End Enter $If (Editor) F2 $If (!Editor) $Exit $End $Else $If (!Viewer) $Exit $End $End %i0 = %s; F12 %s = Menu.Select(" * ",3,2); $End $If (Menu && Title=="Screens") Home $Rep (%cur-1) Down $End Enter $End $Exit
Re: Возврат в место последнего редактирования
Posted: Fri 10 Sep, 2010 07:58
by andrew.osipenko
Maximus5 wrote:andrew.osipenko, желаемое легко получить макросом. в большинстве случаев достаточно просто переключиться в последний измененный редактор.
Я так понял в случае одного редактора макрос работать не будет, а хотелось бы.