Диалог поиска/замены

Russian main discussion
  • Author
  • Message
Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh wrote:Они не поддерживают автозагрузку.
Как в первый раз женишься :) Назначаем, например, Ctrl+F3 на "QSearch::SelFindNext" и пользуемся.
Instructor wrote:Но если загрузить прогу. открыть файл, выделить текст и нажать F3, то ничего не происходит. Оно только через какое-то время начинает так искать, но не с момента начала работы в проге.
Ну, если в том файле нету искомой строки для поиска, конечно ничего не происходит. Повторю по F3 ищется последняя искомая строка. Единственный случай, когда F3 не ищет последнюю искомую строку, - когда ее нет (открывается диалог поиска) :) Например, программа только запущена и установлено количество строк поиска "0".

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor wrote:
VladSh wrote:Они не поддерживают автозагрузку.
Как в первый раз женишься :) Назначаем, например, Ctrl+F3 на "QSearch::SelFindNext" и пользуемся.
Всё у меня так и есть :) Только никакого однообразия - сбиваешься...
К тому же когда я ищу с помощью QSearch, то это в основном большие файлы, где MsgBox о достижении конца файла очень полезен, а в этом случае (когда надо что-то быстро поискать) он только мешает + к тому же глюк MS, который автоматически не позиционирует мышь на кнопке Ok...
В общем для данного случая это неудобно.
Instructor wrote:
VladSh wrote:Но если загрузить прогу. открыть файл, выделить текст и нажать F3, то ничего не происходит. Оно только через какое-то время начинает так искать, но не с момента начала работы в проге.
Ну, если в том файле нету искомой строки для поиска, конечно ничего не происходит. Повторю по F3 ищется последняя искомая строка. Единственный случай, когда F3 не ищет последнюю искомую строку, - когда ее нет (открывается диалог поиска) :) Например, программа только запущена и установлено количество строк поиска "0".
Здорово. А можно сделать, чтобы при отсутствии последней искомой строки для поиска бралось содержимое выделения (если оно есть)? Это ж ведь так несложно сделать, но зато какая удобная штука! :)

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh wrote:Здорово. А можно сделать, чтобы при отсутствии последней искомой строки для поиска бралось содержимое выделения (если оно есть)? Это ж ведь так несложно сделать, но зато какая удобная штука! :)
Что тут сложного для человека, который написал столько скриптов? :)

Назначаем на F3:

Code: Select all

if (AkelPad.GetSelStart() == AkelPad.GetSelEnd())
  AkelPad.Command(4159 /*IDM_EDIT_FINDNEXTDOWN*/);
else
  AkelPad.Call("QSearch::SelFindNext");

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor
Ничего не сложно, но вариант в else не подходит, т.к. у меня в QSearch настроен вывод MsgBox'а, который именно здесь (при поиске "на лету") не нужен и мешает.
Спасибо, что-то буду думать...

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh
Если без QSearch то, так:

Code: Select all

var pSelText=AkelPad.GetSelText();

if (pSelText)
  AkelPad.TextFind(0, pSelText, 0x1 /*FR_DOWN*/);
else
  AkelPad.Command(4159 /*IDM_EDIT_FINDNEXTDOWN*/);

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor
Вариант хорош. Но хотелось бы при отсутствии выделения чтобы прога нашла то, что я искал прошлый раз по выделению (это удобно, чтобы быстро перейти к тому месту, где был в прошлый раз). Придётся писать и читать "последний поиск" самому - дополнительные телодвижения...
Лучше тогда уж QSearch (там это всё уже сделано).. /надеюсь DV его допилит по моей просьбе/ Буду тогда приучаться работать без MsgBox'а..

Просто ещё и не хотелось такую простецкую операцию на скрипт вешать (я иногда продолжаю работать на старых ноутах, а там со скоростью выполнения скриптов проблемы).

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh wrote:Просто ещё и не хотелось такую простецкую операцию на скрипт вешать (я иногда продолжаю работать на старых ноутах, а там со скоростью выполнения скриптов проблемы).
Сам я пользуюсь таким образом: Ctrl+F затем сразу в диалоге F3.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor wrote:Сам я пользуюсь таким образом: Ctrl+F затем сразу в диалоге F3.
Неявная фишка, но здорово! Обмен опытом рулит! 8)

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Иногда было бы полезно вывести список всех найденных вхождений, с контекстом и возможностью по клику перейти на место в файле. Примерно как здесь:
Image

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Fr0sT
и эту и любую другую отладочную информацию обычно выводят в Output-панель, о ней неоднократно поднимался разговор

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Ну, я бы не сказал, что это отладочная инфа. По-хорошему тут и обратная связь очень пригодится (переход к месту в файле)

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Fr0sT
её ещё называют Output/View/Log panel, в зависимости от редактора, а уж в ней присутствуют вкладки поиска, вывода и т.д. и т.п. с возможностью перехода на строки по клику

Offline
Posts: 3
Joined: Sun Aug 07, 2011 11:13 am

Post by Alex digger »

Еще вопрос. Раньше, когда выделял слово, а потом нажимал Ctrl+R (замена), то это выделенное слово уже прописывалось в строке "что заменить", при этом плагин "автоматически копировать выделенный текст" не был активирован. Сейчас такого нету, и довольно неудобно лишний раз копировать. Как вернуть?

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

Alex digger wrote:... Раньше, когда выделял слово, а потом нажимал Ctrl+R (замена), то это выделенное слово уже прописывалось в строке "что заменить"...
In Replace (Замена) window you choose:
Direction (Направление)
- Down (Вниз) or
- Up (Вверх) or
- Beginning (С начала).

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

В последнее время приходится делать много замен, потому пришлось поднять проблему, поднятую Fr0sT'ом по кнопке "Заменить всё". Тогда закончилось тем, что он правил ресурсы...
Просьба посадить какую-то комбинацию клавиш на эту кнопку. Предлагаю Ctrl+A, мне так хотелось сделать интуитивно.

Добавлено: или Alt+A, т.к. курсор может быть в поле, и нажатие Ctrl+A ни к чему не приведёт.
Post Reply