NoMacro, NoEvent, NoMenuItem

Здесь обсуждается всё, что касается макросов.
Post Reply
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

NoMacro, NoEvent, NoMenuItem

Post by Shmuel »

NoMacro, NoEvent, NoMenuItem - это, как известно, способ по-быстрому закомментировать макрос или обработчик, или пункт меню. В своё время мне этот способ почему-то показался элегантным, сейчас уже так не кажется (а даже сильно наоборот). Я им не пользуюсь.

Не будет возражений, если уберу эти искусственные образования?
2useven10
Posts: 5232
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

NoMacro, NoEvent, NoMenuItem

Post by 2useven10 »

Я пользуюсь, когда что-то надо включить/выключить временно.
Удобно - минимум правок.
Что можешь рекомендовать как альтернативу, если собираешься выкинуть?
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

NoMacro, NoEvent, NoMenuItem

Post by Shmuel »

Минимум правок - это так, однако такой "закомментированный" макрос не бросается в глаза, раскрасчиком не выделяется, и это плохо.
Альтернатива - закомментировать макрос целиком, то-есть

Code: Select all

--[[
Macro {
  .....
}
--]]
Кстати, подобные комментарии, после того, как они уже есть, можно отключать/включать добавлением/убиранием 3-го минуса в начале комментария.
2useven10
Posts: 5232
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

NoMacro, NoEvent, NoMenuItem

Post by 2useven10 »

Раскрасчик - это аргумент. Третий минус - красивая альтернатива, у меня возражений нет.
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

NoMacro, NoEvent, NoMenuItem

Post by John Doe »

Тут необходимо учитывать, что внутри комментария тоже может попасться ]].
В таких случаях придётся использовать --[=[...]=]
Shmuel wrote: Не будет возражений, если уберу эти искусственные образования?
Мне будет не хватать.
Но переживу, раз вам сильно наоборот.
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

NoMacro, NoEvent, NoMenuItem

Post by Shmuel »

Вначале была только функция Macro. И, как бы, добавить ещё одну функцию NoMacro в тот момент не казалось нагромождением. Потом появились Event/NoEvent, MenuItem/NoMenuItem, и мне уже не казалось добавление "парных" функций делом естественным. Сейчас добавилась CommandLine, и уж совсем-совсем не хочется добавлять NoCommandLine. Поэтому появилась мысль: "а не выбросить ли всё это?".

Решение, однако, никакое пока не принято, поэтому хотелось бы услышать ещё мнения.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

NoMacro, NoEvent, NoMenuItem

Post by ccaid »

а нет ли возможности организовать No в виде префикса? типа No.Macro или чего-то подобного. общая идея в том, чтобы не плодить парные функции, а иметь одну сущность, которую добавлять к ним для отключения.
Фар делают добрые люди
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

NoMacro, NoEvent, NoMenuItem

Post by Shmuel »

ccaid wrote: а нет ли возможности организовать No в виде префикса?
Возможность есть. Но вопрос о модификации сейчас не стоит, вопрос в том, чтобы удалить или оставить эту фичу.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

NoMacro, NoEvent, NoMenuItem

Post by ccaid »

вопросы связанные. если есть всех устраивающая модификация, то это одно. а если вопрос стоит: либо как сейчас, либо никак — то это другое.
Фар делают добрые люди
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

NoMacro, NoEvent, NoMenuItem

Post by ccaid »

по раскраске.
полагаю, можно внести изменения в схему раскраски, которые бы как-то индицировали неактивные макросы. для файлов реестра, например, удаление веток реестра очень даже заметно.
с другой стороны, закомментаривание отключает раскраску кода внутри макроса, что тоже нехорошо. то что макроса неактивен, не означает, что человек не будет работать с ним в плане «посмотреть».
Фар делают добрые люди
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

NoMacro, NoEvent, NoMenuItem

Post by Shmuel »

Подводим итоги: в целом предложение убрать функции-заглушки поддержки не нашло. Поэтому они остаются, а также добавляется функция NoCommandLine. Отмечу, что эти функции до сих пор являются недокументированными.
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

NoMacro, NoEvent, NoMenuItem

Post by John Doe »

Кстати я планировал использовать эти заглушки в MacroBrowserAlt+rebind, для того, чтобы интерактивно активировать такие макросы.
(Так какие-то макросы в пакете по умолчанию могут быть неактивными, но легко активировались бы в MacroBrowserAlt)
Post Reply

Return to “Обсуждение макросов”