MetaEditor. Одновременное редактирование ОДНОГО mq5 файла В ДВУХ ОКНАХ

 

Что хочется: есть файл в котором пишутся два блока. Блоки объёмные, но по сути - обрабатывают противоположные сигналы.

Идеально для этого была бы возможность открытия двух копий mq5 файла в двух окнах (сейчас это можно сделать через меню "Окно" -> "Новое окно":

Новое окно

Новое окно

Открыть копию текущего окна с точно таким же текстом программы. При этом в заголовках оригинального окна и его копий появятся номера 1, 2 и т.д., соответствующие очереди их создания.


).


НО: Редактировать mq5 файл в это режиме НЕВОЗМОЖНО! Сил никаких и нервов не хватает! Стоит кликнуть в окне :1 или окне :2 кликнуть, как тут-же второе окно АВТОМАТИЧЕСКИ СИНХРОНИЗИРУЕТСЯ и прокручивается на туже строку, на которую был клик в первом окне.

 
Vladimir Karputov:

Что хочется: есть файл в котором пишутся два блока. Блоки объёмные, но по сути - обрабатывают противоположные сигналы.

Идеально для этого была бы возможность открытия двух копий mq5 файла в двух окнах (сейчас это можно сделать через меню "Окно" -> "Новое окно":

Новое окно

Открыть копию текущего окна с точно таким же текстом программы. При этом в заголовках оригинального окна и его копий появятся номера 1, 2 и т.д., соответствующие очереди их создания.


).


НО: Редактировать mq5 файл в это режиме НЕВОЗМОЖНО! Сил никаких и нервов не хватает! Стоит кликнуть в окне :1 или окне :2 кликнуть, как тут-же второе окно АВТОМАТИЧЕСКИ СИНХРОНИЗИРУЕТСЯ и прокручивается на туже строку, на которую был клик в первом окне.

Я большой файл разбиваю на части. Каждую часть помещаю в отдельный файл и открываю в разных фреймах.

А в основном файле добавляю include.

Даже если одна часть это большой цикл, которые находится в середине функции onTick

 

Если много совпадающего текста, выделяю его в функцию, для учета отличий передаю в нее признак нужного варианта. В данном случае передал бы, например,  булевский флаг с направлением сигнала.

Это если пишешь серьезно, надолго. Если времянка, то может быть быстрее просто сохранить один из вариантов под другим именем.


P.S. Вспомнился анекдот о новом редакторе текстов, очень универсальном - поддерживает до 5 мышиных курсоров и до трех клавиатур.

 

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

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

И, поскольку каждый класс - всегда объявлен в отдельных двух файлах (заголовка и реализации) - то необходимости в редактировании одного файла в двух местах - не возникает. Как правило, подобные случаи затрагивают разные файлы.

 

Наверное было бы удобно. Иногда возникает такая потребность в некоторых ситуациях, но не пользуюсь этим по причине, изложенной тс.

 

а я привык пользоваться закладками

Работа с закладками

Закладки предназначены для выделения необходимых строк кода для быстрой навигации по ним в последующем. Команды работы с закладками представлены в подменю "Закладки" меню "Правка", панели инструментов "Стандартная"и контекстного меню текста. В MetaEditor существуют следующие команды для работы с ними:

  • Переключить закладку Переключить закладку — включить или выключить закладку на текущей строке, в зависимости от ее текущего состояния. Это же действие можно выполнить с помощью клавиш "Ctrl+F2";
  • Следующая закладка Следующая закладка — перейти к следующей закладке в текущем коде. Это же действие может быть выполнено с помощью клавиши "F2";
  • Предыдущая закладка Предыдущая закладка — перейти к предыдущей закладке в текущем коде. Это же действие можно выполнить, нажав клавиши "Shift+F2";
  • Убрать все закладки Убрать все закладки — убрать все закладки из текущего кода. Это же действие выполняется при нажатии клавиш "Ctrl+Shift+F2".

В MetaEditor также предусмотрены именованные закладки - закладки, которым присвоен цифровой идентификатор. Чтобы установить такую закладку нажмите клавишу с цифрой от 0 до 9, удерживая клавишу Ctrl. Чтобы перейти к ранее установленной закладке, нажмите соответствующую цифру, удерживая клавишу Alt. Именованные закладки значительно облегчают навигацию по исходному коду.


 
Vladislav Andruschenko:

а я привык пользоваться закладками


Да, закладки, куда ж без них.

Но вот что делать, когда нужно постоянно держать ранее написанный кусок кода перед глазами (на другом мониторе), к примеру, обработчик ошибок с ветвлением по кодам возврата. А номер ошибки надо придумать в текущей части. Я тогда копирую этот блок программы в другой редактор и смотрю там, даже можно там делать изменения, главное не забыть скопировать их обратно)) об этом тогда напоминают ошибки при компиляции. 

 

Очень было бы полезно. А то что написано многими выше - в основном использование бубна для преодоления явной недоработки разработчиков редактора.

 
Vladimir Karputov:

НО: Редактировать mq5 файл в это режиме НЕВОЗМОЖНО! Сил никаких и нервов не хватает!

Речь идет об однократном редактировании или вообще отладке кода?

 
Andrei:

Речь идет об однократном редактировании или вообще отладке кода?


Внимательно читаем первый пост пожалуйста, дальше загружаем редактор и пытаемся воспроизвести. Иначе складывается впечатление, что Вы ни разу не запускали MetaTrader 5 редактор кода.

 
Vladimir Karputov:

Внимательно читаем первый пост пожалуйста, дальше загружаем редактор и пытаемся воспроизвести. Иначе складывается впечатление, что Вы ни разу не запускали MetaTrader 5 редактор кода.

Читайте внимательней вопрос. Речь идет об редактировании или отладке кода? Это разные вещи.

Причина обращения: