Облегчаем себе конструирование кодов с помощью сниппетов

Сниппеты в MQL5 и MQL4 представляют собой шаблонные фрагменты кода, доступные для автоматической вставки. Они избавляют от необходимости набивать вручную или копировать откуда-либо различные часто встречающиеся моменты участков кода.

Например, после вашего набора слова while, сниппет автоматически создаст вместо вас в коде при одном лишь нажатии на клавишу Tab, сразу и скобки круглые для выражения этого цикла и фигурные для его тела.

Т.е., допустим, когда вы набиваете в коде название оператора цикла while, то можно видеть, что по завершении этого слова курсор автоматически меняется на вот такой (становится со стрелочкой посередине):

Вид курсора после ключевого для вставки сниппета слова
Вид курсора после слова, являющегося ключевым для вставки сниппета.
Такой вид курсора означает, что это слово является ключевым для вставки имеющегося в языках программирования MQL5 и MQL4 готового к применению сниппета. И когда курсор стал таким, со стрелочкой посередине, то для автоматической вставки шаблонного участка кода, привязанного к конкретному ключевому слову, достаточно нажать на клавишу Tab на клавиатуре. Тогда в коде тут же появятся строки соответствующего ему сниппета.

Так, для оператора цикла while появятся следующие:

Snippet while
Сниппет цикла while.

То есть, круглые скобки после while, выражение в круглых скобках (слово "condition") и фигурные скобки для тела цикла были созданы автоматически всего лишь за одно нажатие на клавишу Tab.

А вот такие строки, к примеру, появятся, если нажать клавишу Tab после ввода названия условного оператора for:

Snippet for
Сниппет цикла for.

Т.е., достаточно было только набить в коде слово for, затем нажать клавишу Tab. И после этого сразу появляются автоматически: круглые скобки для выражения, выражение в них, а ниже, фигурные скобки для тела цикла.

Обратите внимание, что на скринах выше есть выделенные тёмным цветом области. Это выделение автоматическое. Так при вставке сниппета цикла for становится активным, т.е., выделенным, int, обозначающий тип переменной i. И если при этом снова нажать клавишу Tab, то станет активной (выделенной тёмным цветом) переменная i. Так вот, если её в этот момент переименовать, то автоматически поменяется название этой переменной и в других частях выражения:

После применения сниппета for
После замены "вручную" в появившемся сниппете первой после int активной переменной i на z, произошла моментальная автозамена i на z и в остальных частях выражения.
Для проведения автозамены активных полей сниппета требуется слегка "набитая" на этом рука, поэтому рекомендую внимательно почитать Справку (Руководство пользователя) к МЕ по сниппетам и провести свои личные практические эксперименты, "закрепляющие" для себя порядок действий.

Автозамена активных полей сниппета возможна, например, и при конструировании декларации класса. То бишь, если нажать на клавишу Tab после набития в коде слова class, то появятся вот такие строки (сразу вместе с name, скобками, public, конструктором и деструктором):

Snippet "class"
Снипет класса.

И если тут же изменить активное слово name на другое (нужное вам), то оно автозаменится и в конструкторе и деструкторе, на введённое вами взамен.

С помощью клавиш Tab и Tab+Shift можно облегчать себе и переходы в созданных снипеттами строках, чтоб не переносить курсор вручную.

Приведу ещё из примеров удобства применения сниппетов:

Допустим, создаёте вы индикатор или советник, но изначально не стали предусматривать в его коде блок для обработки событий OnChartEvent(). Так вот достаточно ввести в код только слово OnChartEvent, а затем нажать клавишу Tab. Появятся строки из соответствующей функции обработки событий (её тип, выражения и фигурные скобки тела).

Или, например, если в создаваемом коде индикатора или советника нет блока OnDeinit, то так же достаточно ввести это слово и далее, по нажатию уже знакомой клавиши, получить результат:

Snippet OnDeinit
Сниппет "OnDeinit".

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

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

Более полный писок ключевых слов, после которых доступна вставка готовых сниппетов, можно найти и увидеть в Справке (Руководстве пользователя) к MetaEditor по следующему пути:

  • MetaEditor/ Разработка программ / Работа с исходным кодом / Интеллектуальное управление

Справка (Руководство пользователя), вызывается в верхнем меню MetaEditor:

Справка в MetaEditor

Там же, где и список сниппетов в Руководстве, прописана информация об их применении и клавишах по ним.

Здесь не привожу полный список, поскольку разработчики языка могут добавлять в МЕ новые. Да и дублировать полностью материал мне не желалось бы. Справка, где вы можете при необходимости смотреть актуальную информацию, у вас "всегда под рукой" в MetaEditor к торговому терминалу. А где там можно увидеть инфу об этих удобных штуках, на всякий случай написала выше. Успехов!

Комментариев нет:

Отправить комментарий