AkelPad для чайников

Russian main discussion
  • Author
  • Message
Offline
Posts: 30
Joined: Sat Nov 26, 2011 1:52 pm

Post by Egor »

opk44 wrote:Добавьте в вызове впереди "тирушечку" вот так:
# Paste after
-"" Command(4193) Icon(9)
Спасибо, помогло. Добавил к командам 4193 и 4196 "тире" (-) и заработало. Только я не понимаю почему это тире (минус) деактивирует кнопку? В описании сказано: «при наличии знака минуса, кнопка не будет каким-либо образом менять свой статус (становиться неактивной, вдавливаться)» — я думал, что это просто влияет на визуальное оформление, а не на работоспособность… Непонятно :(
opk44 wrote:Там должен быть пункт "Отметить". Это "оно самое" и есть. Если нет то добавьте в контекстное меню окна редактирования следущий код
То есть чтобы подсветка поиска заработала мне надо поставить плагины ContextMenu и Coder? "Из коробки" я у себя никакого "Отметить" не вижу.

И ещё вопрос: а писать команды последовательно нельзя? Например:
-"" Command(4196) Command(4155) Icon(9)
То есть чтобы при нажатии на одну кнопку последовательно сработали 2 команды: "Вставить новую строку с сохранением отступов слева" и "Вставить". У меня вылезает ошибка "метод уже назначен". Или для последовательного выполнения команд надо как-то более хитро извращаться?

P.S.: немного не в тему, но я тут новичок, поэтому не знаю, где спросить: а почему у меня на e-mail оповещения о новых постах в топиках форума не приходят? Я в профиле эти оповещения подписал и при создании поста галку "Сообщать мне о получении ответа" ставлю, а они не приходят…

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

Post by Fr0sT »

Оповещения не пашут, к сожалению.

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Egor wrote:То есть чтобы подсветка поиска заработала мне надо поставить плагины ContextMenu и Coder? "Из коробки" я у себя никакого "Отметить" не вижу.
Так точно. Чтобы "подсветить" необходим HighLight (т.е. Сoder-плагин), а чтоб до него "достучаться" нужно "расширенное контекстное меню" (т.е. ContextMenu-плагин). Без плагинов вы имеете практически тот же голый Notepad/Блокнот (зато максимально "шустрый"). Поставить имеет смысл все плагины (скачать весь комплект на всякий случай), а подключить (указать в атозагрузке) только нужные. Т.е. плагины подключаются по мере необходимости (например "мой повседневный набор": Coder-H, Coder-CF, ContextMenu-M, Fonts-M, HotKeys-M, LineBoard-M, Macros-M, Sessions-M, ToolBar-M, XBrackets-M). На очень больших файлах для избавления от тормозов приходится отключать Coder. В общем "сила в балансе", поэтому плагины - это "хорошо".
P.S. Прошу прощения за банальности, но "тема обязывает" :)

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

Post by Instructor »

Egor wrote:(3). Можно ли в AkelPad подсветить при поиске все вхождения…
Или воспользоваться QSearch плагином, который имеет такую возможность.
Egor wrote:И ещё вопрос: а писать команды последовательно нельзя? Например:
-"" Command(4196) Command(4155) Icon(9)...
Можно так:

Code: Select all

-"Вставить на новую строку" Call("Scripts::Main", 1, "EvalCmd.js", `AkelPad.Command(4196); AkelPad.Command(4155);`) Icon(9)

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

Post by KDJ »

Egor wrote:Понятно, спасибо. Вот еще пара вопросов:

(1). как можно переключать режим выделения Обычный/Колонками нажатием кнопки на тулбаре (внутренней команды для этого я вроде не нашел…)? То есть чтобы нажал кнопку — AkelPad перешел бы в режим выделения колонками, отжал обратно — вернулся в обычный режим. Я знаю, что выделять колонками можно либо мышью с зажатым <alt>, либо комбинацией <alt> + <shift> + <стрелки>, но я не люблю пальцы на клаве растопыривать :)

(2). Есть ли в AkelPad (с плагинами?) множественное выделение, т.е. чтобы можно было выделить несколько кусков текста в разных местах и потом сразу скопировать всё в буфер?
(1)
Script SelectionSwitchCaretMove.js
"Selection switch" Call("Scripts::Main", 1, "SelectionSwitchCaretMove.js", "0")

(2)
There is no such possibility (multi-selection).

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Ситуация: курсор стоит в любом месте строки. Подскажите, как по горячей клавише скопировать строку в буфер обмена?

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

Post by Instructor »

Andrey_A_A wrote:Подскажите, наверное это есть, но я упустил
Как создать новую вкладку сразу же после документа, а не в конце
к примеру открыто 50 документов, я работаю с 23-м, хотелось бы создать вкладку следом за 23-м, а не в конце.
viewtopic.php?p=15879#p15879

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

Post by KDJ »

Cuprum wrote:Ситуация: курсор стоит в любом месте строки. Подскажите, как по горячей клавише скопировать строку в буфер обмена?
Using the script LinesSelectCopyMoveDuplicate.js in Hotkeys plugin.

Code: Select all

Call("Scripts::Main", 1, "LinesSelectCopyMoveDuplicate.js", "C 0")

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

KDJ
Thank you!!

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

524288 - создавать вкладки сразу после текущей;
Instructor, Отлично!

Offline
Posts: 30
Joined: Sat Nov 26, 2011 1:52 pm

Post by Egor »

Пытаюсь поманеньку разобраться со скриптами в AkelPad… В скрипте CaretOptionsSwitch.js как пример его вызова приведен код:

Code: Select all

// Example for Active line show/hide:
// -"Active line switch" Call("Scripts::Main", 1, "CaretOptionsSwitch.js", "2 %m %i") Icon(0)
То есть: вызвать скрипт из файла такого-то (CaretOptionsSwitch.js) с параметром таким-то (2) — это ясно, а ЧТО за буквочки с "процентом": "%m", "%i"? Что они означают?

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

Post by VladSh »

Egor
Почитайте ContextMenu-Rus.txt и ToolBar-Rus.txt.
P.S. Для разбора в скриптах см. Scripts-Rus.txt. Это ещё может помочь..

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

Post by KDJ »

Egor
ToolBar-Rus.txt wrote:%m идентификатор панели инструментов (handle)
%i идентификатор кнопки

Offline
Posts: 30
Joined: Sat Nov 26, 2011 1:52 pm

Post by Egor »

Да, понятно, благодарю. Я в принципе уже понял, что это за "буквочки с %"…

* * *

В общем, если я правильно понимаю, то _нормальная_ объектная модель в AkelPad отсутствует? Большинством настроек приходится управлять через идиотские Win32 API вызовы SendMessage, так выходит?

Для сравнения в EmEditor код:

Code: Select all

alert document.Config.Display.ColorList.Item(eeColorCurrentLine).TextColor
Выведет цвет заданный в настройках для выделения текущей строки. Всё просто и тупо :)

А в AkelPad надо колдовать с каббалистическими SendMessage? Если так, то обычному юзеру (не программисту) такой "скриптинг" — что мёртвому припарки, разобраться нереально :(

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Egor, не нужно обижать WIN32 API. Против его эффективности и стабильности ни одна объектная модель не попрет. Кроме того упомянутая Вами объектная модель ограниченна тем что Вам разрешили делать. А используя WINAPI Вы можете сделать практически всё что пожелаете(да хоть пароль текущему пользователю изменить), и это не привлекая в разработчика с просьбами "а добавь ту фичу или сю фичу".
И да, 32 евро платить за то что можно самостоятельно сделать - глупость.
Если так, то обычному юзеру (не программисту) такой "скриптинг" — что мёртвому припарки, разобраться нереально :(
Задача обычного юзера - буковки вбивать на клавиатуре, а не скрипты писать. Использовать готовые скрипты. Обычный юзер идет по пути наименьшего сопротивления, т.е. использует инструмент с готовым функционалом. Если цена написания скрипта покрывается выгодой, то юзер его пишет. Вот только цену определяет не только "объектная модель" приложения, а и навыки юзера. Так что Ваше "Всё просто и тупо :)" кое-кому кажется "через пень-колоду".
Post Reply