Каковы преимущества записанных макросов для IDE?

Как следует из названия, я вижу, что многие редакторы рекламируют запись макросов как функцию, но не могут найти способ воспользоваться этими функциями самостоятельно. Итак, для чего вы можете его использовать? Тип, в котором вы можете записывать движения мыши и/или нажатия клавиш? Действительно ли это так полезно для людей? В частности, я имею дело с Eclipse, в котором есть ряд встроенных функций «заполнения», поэтому я действительно не вижу, в чем могут быть преимущества.


person Organiccat    schedule 22.12.2008    source источник


Ответы (6)


Я использую их все время. Скажем, например, я хочу перейти вниз по списку, сделав отступ на 4 и добавив "|*". В EMACS я нажимаю C-x (, чтобы начать запись, делаю одну примерную строку, чтобы убедиться, что это то, что мне нужно, заканчивая C-n C-a, чтобы перейти к следующей строке, и заканчиваю макрос C-x ). Затем C-x e повторяет это построчно, а C-u число C-x e делает это много раз.

person Charlie Martin    schedule 22.12.2008
comment
Большинство действий, выполняемых с помощью макросов, можно выполнить с помощью поиска/замены регулярных выражений. Однако в некоторых случаях (вложенные скобки, многострочные фрагменты данных, необходимость поиска в другом окне) без макросов не обойтись. А иногда они просто проще, чем соответствующее регулярное выражение. - person ; 22.12.2008
comment
Ах, это польза для них, я полагаю. Мне кажется, что по большей части современные IDE для более поздних языков больше не нуждаются в макросах из-за расширенных возможностей самой IDE. Тем не менее, я вижу, что макросы решают несколько проблем с форматированием. - person Organiccat; 22.12.2008
comment
++ Иногда вам просто нужно снова и снова нажимать один и тот же набор клавиш. Именно для этого и нужны макросы. - person Harvey; 22.12.2008
comment
regex-replace тоже удобен, но мне нравятся макросы, потому что вы можете делать их на примере — убедитесь, что вы делаете то, что хотите. Кстати, поиск по регулярному выражению можно внедрить в макрос emacs. -- Organicat, дело в том, что не все, что я делаю, это код. - person Charlie Martin; 22.12.2008

Зависит от того, что вы делаете и на каком языке вы работаете. Простой пример: прямо сейчас я работаю с приложением Visual Basic .NET, в котором есть ряд запросов. Обычно я выполняю всю свою работу с запросами в Toad, но Visual Basic .NET имеет раздражающий синтаксис, когда речь идет о длинных строках, а именно:

Public Const SelectData As String = _
"SELECT * " & _
"FROM myTable " & _ 
"WHERE myField = :SOMETHING"

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

Кроме того, некоторые макросы можно использовать для автоматизации общих задач, которые необходимо выполнять в среде IDE во время работы. Любую последовательность команд, которую вы часто выполняете, можно превратить в макрос и выполнить одним щелчком мыши.

person rjzii    schedule 22.12.2008

Waaaay назад я использовал макрос, чтобы сделать заголовок/комментарии функции. В остальном я ими не пользовался.

По сути, вы можете «автоматизировать» утомительные вещи, которые вы часто делаете, но не имеет встроенных способов выполнения часто выполняемых задач. Это гибкий способ дать людям много власти, чтобы они могли работать более эффективно.

person Tim    schedule 22.12.2008
comment
Так являются ли макросы пережитком давно исчезнувших IDE? Я смотрел на SlickEdit и заметил, что одной из рекламируемых функций была запись макросов. Видя, что вы можете делать почти все с помощью сочетания клавиш, мне было интересно, есть ли вообще какая-либо польза от записанных пользовательских нажатий клавиш. - person Organiccat; 22.12.2008
comment
Может быть, но, вероятно, для них все еще есть хорошее применение. Возможность записывать нажатия клавиш очень хороша, так что вы можете настроить свои собственные инструменты и уменьшить количество нажатий клавиш и утомительные манипуляции с редактором. - person Tim; 22.12.2008

Я нахожу это очень полезным в Microsoft Excel. Вместо того, чтобы просматривать документацию, чтобы найти каждый объект и функцию, которые мне нужно вызвать, я могу записать макрос, который делает большую часть того, что я хочу, взять этот код и изменить его, чтобы дать мне более точный контроль.

person Jared    schedule 22.12.2008
comment
Еще лучше с Excel — запишите основной макрос того, что вы пытаетесь сделать, и очистите запись, чтобы она работала лучше. Для некоторых небольших макросов, которые я пишу для некоторых своих коллег, задача, которая может занять час, превращается примерно в 15 минут. - person rjzii; 22.12.2008

В Visual Studio я использую макросы для самых разных целей. Один из самых ценных возникает при отладке службы Windows. Я могу использовать механизм макросов для запуска, а затем подключиться к службе Windows одним нажатием кнопки.

Кроме того, иногда я использую пользовательские DEFINES, которые нужно преобразовать в код — что-то вроде макросов C/C++.

Колби Африка

person Colby Africa    schedule 22.12.2008

Я тоже не использую их в Eclipse. Вот почему:

  1. Eclipse имеет множество мощных встроенных функций и рефакторингов. Так что с кодом это не обязательно.

  2. Макросы Eclipse не так хороши. Вы можете записать их, но их сложно настроить и сделать именно то, что вы хотите.

  3. Макросы становятся более полезными в таких вещах, как изменение файлов, которые не являются кодом. Для этого я обычно использую что-то вроде vim. Кроме того, вы должны попрактиковаться в использовании макросов, чтобы понять, когда они помогут.

person Dutch Masters    schedule 22.12.2008