Предложение для удобства использования MetaEditor

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Fresto
1029
Fresto  

Здравствуйте. Хотел бы предложить разработчикам сделать в MetaEditor стандартизировать отступы при написание кода, как это сделано в VisualStudio. Потому что нету стандартных отступов никаких в функциях, блоках. В итоге код становится менее читабельный. Также при копировании и вставки кода, он вставляется криво, некоторые строки находятся левее, некоторые правее. Можете пожалуйста это пофиксить. И чтобы можно было по кнопке нормализовать весь код по отступам автоматически, это также реализовано в VisualStudio

Vladimir Karputov
Модератор
182897
Vladimir Karputov  
Fresto:

Здравствуйте. Хотел бы предложить разработчикам сделать в MetaEditor стандартизировать отступы при написание кода, как это сделано в VisualStudio. Потому что нету стандартных отступов никаких в функциях, блоках. В итоге код становится менее читабельный. Также при копировании и вставки кода, он вставляется криво, некоторые строки находятся левее, некоторые правее. Можете пожалуйста это пофиксить. И чтобы можно было по кнопке нормализовать весь код по отступам автоматически, это также реализовано в VisualStudio


Для приведения кода в читаемый вид пользуйте стилизатор: Стилизатор - Работа с исходным кодом - Разработка программ - MetaEditor

Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Данная функция предназначена для оформления исходного кода в соответствии с рекомендуемым стандартом. Это позволяет сделать код более читаемым...
Ihor Herasko
21160
Ihor Herasko  

Стандартизировано. Используйте стилизатор кода (Ctrl+,).

Fresto
1029
Fresto  
Не заметил данной функции) Думал через правую кнопку мыши должно было быть) Спасибо)

P.s. насколько теперь просто сделать всё красиво, а я парился и добавлял пробелы, привыкал автоматически сразу красиво писать и т п.
Alexey Volchanskiy
27272
Alexey Volchanskiy  
Ihor Herasko:

Стандартизировано. Используйте стилизатор кода (Ctrl+,).


В стилизаторе один codestyle, а-ля K&R, от которого большинство программистов устойчиво тошнит. У меня в VS есть проект FormatMQL, делаю там линки на исходники, которые собираюсь плотно использовать и переформатирую в человеческий MS Style.

Mikhail Kontsevoy
1363
Mikhail Kontsevoy  

Отличная тема! Хотел бы тоже предложить MQLEditor максимально приблизить к Sublime Text 3.:) Очень не хватает сразу по комбинации клавиш получить - блочное комментирование, блочное управление отступами. Видеть боковую подсветку "архитектуры" кода и т.д.  

Rashid Umarov
Админ
16668
Rashid Umarov  
Alexey Volchanskiy:

В стилизаторе один codestyle, а-ля K&R, от которого большинство программистов устойчиво тошнит. У меня в VS есть проект FormatMQL, делаю там линки на исходники, которые собираюсь плотно использовать и переформатирую в человеческий MS Style.

Ничего подобного - я пишу в двух разных средах с двумя разными стилями форматирования - не тошнит.

Так что не придумывайте, а просто привыкайте.

Alexey Volchanskiy
27272
Alexey Volchanskiy  
Rashid Umarov:

Ничего подобного - я пишу в двух разных средах с двумя разными стилями форматирования - не тошнит.

Так что не придумывайте, а просто привыкайте.

Естественно, ведь Вы сотрудник компании. Хорошо бы в редакторе сделать выбор codestyle. Привыкать не хочу.
Alexey Petrov
Админ
1302
Alexey Petrov  
Mikhail Kontsevoy:

Очень не хватает сразу по комбинации клавиш получить - блочное комментирование, блочное управление отступами.

Загляните в меню Правка -> Дополнительно

Stanislav Korotky
26248
Stanislav Korotky  

Да, со стилем у MQ - беда. Но убедить их сделать хотя бы настройку - невозможно. Этой проблеме уже лет 10.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вот это стиль! :)

Sergey Kravchuk, 2009.11.24 11:27

Предистория: За долгие годы кодинга у меня выработался "свой" стиль оформления текстов (вот тут). Тексты уже давно оформляются "на автомате" и к тому же Astyle приходится прибегать только когда начинаеш работу с каким то "чужим" текстом.

Я могу объяснить почему я так форматирую свои тексты: количество табуляций (сдвижка вправо вглубь текста) соответствует уровню вложенности. Каждая открывающая { начинает новый уровень, поэтому располагается на отдельной строке с тем же отступом что предыдущий текст, а весь текст после нее идет с дополнительным отступом вправо. Каждая закрывающая } возвращает текст на одну табуляцию назад. Это позволяет легко находить парные скобки (они по вертикали должны быть в той же позиции и количество нажатий клавиши Tab соответствует уровню вложенности текста. Внутренние + - > < отбиваются пробелами, чтобы текст не сливался в сплошную кашу. Как для меня - все разумно и понятно.


Теперь история: Вчера мне прислали исходник ml5 с каким то странным (с моей точки зрения) форматированием: фигурные скобки сдвинуты вправо, внутрь текста на 2 позиции, а текст внутри них тоже вправо, но всего на одну позицию. Я попробовал табулятором попасть в туже позицию где стоит открывающая { чтобы поставить закрывающую } - не получилось. как оказалось, так оформляет тексты Metaeditor5 своей командой Styler.

Может мне кто то (может сами разработчики) объяснить логику форматирования Metaeditor5?

Вот кусочек кода из MACD Sample.mq5 по-ихнему и по-моему:

Styler5                                  -|- Мой стиль
-------                                  -|- ---------
bool CSampleExpert::LongModified()       -|- bool CSampleExpert::LongModified()
  {                                      -|- {  
   bool res=false;                       -|-   bool res = false;
//--- check for trailing stop            -|-   //--- check for trailing stop
   if(InpTrailingStop>0)                 -|-   if (InpTrailingStop > 0)
     {                                   -|-   { 
      if(m_symbol.Bid()-m_position.Price -|-     if (m_symbol.Bid() - m_position.Pric
        {                                -|-     {
         if(m_position.StopLoss()<m_symb -|-       if (m_position.StopLoss() < m_symb
           {                             -|-       {
            double sl=m_symbol.Bid()-m_a -|-         double sl = m_symbol.Bid() - m_a
            double tp=m_position.TakePro -|-         double tp = m_position.TakeProfi
            //--- modify position        -|-         //--- modify position
            if(m_trade.PositionModify(Sy -|-         if (m_trade.PositionModify(Symbo
               printf("Long position by  -|-           printf("Long position by %s to
            else                         -|-         else
              {                          -|-         {
               printf("Error modifying p -|-           printf("Error modifying positi
               printf("Modify parameters -|-           printf("Modify parameters : SL
              }                          -|-         }
            //--- modified and must exit -|-         //--- modified and must exit fro
            res=true;                    -|-         res = true;
           }                             -|-       }
        }                                -|-     }
     }                                   -|-   } 
//---                                    -|-   //---
   return(res);                          -|-   return(res);
  }                                      -|- }

И далее.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Стайлер в торговом терминале MetaTrader 5

Комбинатор, 2009.11.24 14:10

Обсуждаем стайлер MQL5. Начало здесь


Приходится смотреть разный код. В том числе и плохо написанный.

Хорошее форматирование существенно облегчает чтение кода.


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

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

Как вариант -- сделать возможность выбора одного из 2-3 стилей.


Vitaly Muzichenko
13939
Vitaly Muzichenko  
Stanislav Korotky:

Да, со стилем у MQ - беда. Но убедить их сделать хотя бы настройку - невозможно. Этой проблеме уже лет 10.

И далее.

Разница не существенна, но стиль форматирования MQ бесспорно лучше. 

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий