Page 2 of 6
Posted: Wed Apr 22, 2009 9:25 am
by VladSh
IMHO не юзабельно - при таком подходе AkelPad о5-таки расчитан не на обычных пользователей, а на программеров
Лучше в проге сделать общий редактор комбинаций клавиш, например, на основе Hotkeys-плагина. Чтобы при первом открытии в нём отображались комбинации клавиш, назначенные в самой проге, но чтобы их можно было переопределять, а также комбинации клавиш для плагов, скриптов, макросов.
Если будет такая возможность, то очень красиво можно будет сделать проверку и предупреждения типа: "а-а-а!.. такая комбинация клавиш уже есть там-то и там-то, вы действительно хотите её переназначить!?"
Общий редактор - было бы здорово!

Posted: Wed Apr 22, 2009 1:15 pm
by Fr0sT
Проблему с "Заменить всё" решил через редактирование ресурсов:
Code: Select all
PUSHBUTTON "&Заменить", 3061, 196, 6, 54, 14, BS_CENTER
DEFPUSHBUTTON "Заменить &всё¸", 3051, 196, 23, 54, 14, BS_CENTER
PUSHBUTTON "&Найти далее", 3056, 196, 39, 54, 14, BS_CENTER
Теперь "Заменить всё" срабатывает сразу по Enter-y, кроме того, более используемые кнопки вытащены выше. Поглядим, как оно себя проявит...
Насчёт выделения задача остаётся!
Posted: Sun May 03, 2009 5:53 am
by Spumups
Было бы хорошо, если бы при открытом (но не активном) окне поиск/замена при нажати Ctrl+F/R фокус ввода вертался к нему, а то все время мышку дергать приходится

.
Posted: Sun May 03, 2009 6:25 am
by Instructor
Spumups
Способ 1 - F6
Способ 2 - см. плагин QSearch::DialogSwitcher
Posted: Wed May 06, 2009 9:23 am
by Spumups
Instructor wrote:Spumups
Способ 1 - F6
Способ 2 - см. плагин QSearch::DialogSwitcher
спасибо! Способ 2, полностью удовлетворяет

Posted: Fri Aug 28, 2009 9:49 am
by vitt
В чём смысл (как пользоваться ) вариантом или где посмотреть о "Заменять на функцию" в SearchRepalce.js ?
Видел:
Добавлена «замена на функцию».
Реализует Code:
.replace(
new RegExp("what", "flags"),
new Function("with")
)
Но, не понял

Posted: Fri Aug 28, 2009 5:09 pm
by Infocatcher
vitt
Смысл в том, что функция, на которую производится замена, вычисляется при каждой замене. Соответственно, она может возвращать строку, зависящую от конкретного заменяемого текста.
Например,
Что: [^\n\r]+
Чем: return "(" + $0.length + ") " + $0;
добавит перед каждой непустой строкой количество символов в этой строке.
Posted: Mon Aug 31, 2009 1:40 pm
by vitt
Infocatcher wrote:vitt
Смысл в том, что функция, на которую производится замена, вычисляется при каждой замене. Соответственно, она может возвращать строку, зависящую от конкретного заменяемого текста.
Спасибо. Можете подсказать где посмотреть перечень свойств текста и других доступных объектов?
Posted: Mon Aug 31, 2009 7:01 pm
by Infocatcher
vitt wrote:Спасибо. Можете подсказать где посмотреть перечень свойств текста и других доступных объектов?
Слишком общий вопрос.
На русском, пожалуй, лучше всего написано здесь:
http://javascript.ru/String (а также прочие статьи).
А из английского предпочитаю
MDC. Правда, с оговоркой на то, что AkelPad использует встроенную в Windows реализацию ECMAScript, т.е. JScript, а не JavaScript. Так что в этом плане можно и на
MSDN заглянуть.
Posted: Tue Sep 01, 2009 6:46 am
by vitt
Infocatcher wrote:
Слишком общий вопрос.
Спасибо. Теперь ясно в какую сторону копать

Posted: Sun Nov 14, 2010 4:07 pm
by DukeNukem
В окне Замены некоторые специальные символы на самом деле такими не являются. Предлагаю оставить только символы:
^p Знак абзаца
^t Знак табуляции
а их условное обозначение выполнить как сверху, это стандартное обозначение этих спец. символов в MSWord.
А: \\-обратный слэш (он есть на клавиатуре). \n - конец строки (AkelPad такого символа вобще ни разу не нашёл) специальными символами вобще не являются.
Также можно добавить ещё какие-нибудь символы которые можно подсмотреть в окне замены MSWord 2003 и др. версий.
Posted: Mon Nov 15, 2010 12:13 pm
by DV
DukeNukem wrote:В окне Замены некоторые специальные символы на самом деле такими не являются.
Святые угодники!..
"Что Ви чушь несёте? Танцуйте чечётку!" (с)
Там же написано "
Esc-последовательности", а не "
специальные символы". А для esc-последовательностей "\n" является общепринятым знаком переноса строки (NewLine), "\t" - общепринятый знак табуляции (TAB), а "\" двоится потому, что одинарный '\' используется для обозначения начала esc-символа. И, на самом деле
(Капитан Очевидность утверждает!), AkelPad корректно ищет и заменяет "\n" при установленной галочке "Esc-последовательности".
А вот как раз что такое "^p", без ста грамм не разобраться. Из своего опыта я сказал бы, что это означает комбинацию клавиш Ctrl+p, потому что именно это означает подобное написание в большинстве кросс-платформенных программ.
Posted: Wed Jan 26, 2011 11:35 am
by VladSh
Когда жмёшь Ctrl+R, и в поле "Что" подхватывается выделение, то в диалоге оно выделено.
Хотелось бы, чтобы выделение подхватывалось, но при открытии диалога было бы подсвечено значение поля "Чем", т.к. если мы выделяем текст и жмём Ctrl+R, то в большинстве именно этот текст мы хотим заменить на что-то, т.е. подсвечивать в диалоге его не нужно. Неудобство и в том, что постоянно приходится мышью переключаться в поле "Чем" и корректировать текст там (чаще всего это текст, вставляемый из буфера обмена), т.е. было бы здорово вот так:
- скопировал текст, на который будем менять, в буфер;
- выделил заменяемый текст и вызвал диалог;
- никуда не переводя курсор сразу же сделал вставку из буфера и запустил замену.
Posted: Wed Jan 26, 2011 12:04 pm
by Instructor
VladSh
Два способа:
1. Правим ресурсы - меняя очередность прохода по элементам диалога.
2. Используем SearchReplace.js и меняем
Code: Select all
oSys.Call("user32::SetFocus", hWndWhat);
на
Code: Select all
oSys.Call("user32::SetFocus", hWndWith);
Posted: Wed Jan 26, 2011 12:23 pm
by VladSh
Instructor
Оба способа бесперспективны, т.к. впоследствии это придётся делать при каждом изменении проги/скрипта.
Лучше было бы включить это в стандартный диалог редактора (не всегда, а только тогда, когда выделенный текст подхватывается) или эта просьба "конфликтует" с текущими "приёмами работы"? Если да, то можно ли ожидать, что хотя бы в стандартном SearchReplace.js будет это изменение?