Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Есть вопросы автору статьи? Обсуди их на форуме!
MetaQuotes Software Corp.
Модератор
181030
MetaQuotes Software Corp. 2009.12.21 14:00 

Опубликована статья Автоматическое создание документации к программам на MQL5:

В статье описано, как можно использовать программу Doxygen для создания структурированных файлов справки HTML для программ, написанных на MQL5. Затем они легко могут быть скомпилированы в файлы справки CHM при помощи программы Microsoft's HTML Help Workshop.

Автор: Paul

Christo Tsvetanov
990
Christo Tsvetanov 2009.12.22 16:49  

Молодец! Хотя годится только если продаете MQL5 библиотеки :(

Alexander
1512
Alexander 2010.03.11 01:08  
Спасибо за статью! То что нужно. А может есть генераторы с msdn стилем?
Automated-Trading
Админ
99080
Automated-Trading 2010.03.17 15:12  

Важно правильно указывать кодировку при создании документации к программам, содержащим комментарии на русском языке.

В противном случае вместо русскоязычных комментариев могут получиться квадратики:

По умолчанию в Doxygen в опциях проекта (Expert->Project) опция DOXYFILE_ENCODING установлена как UTF-8,

поэтому при подготовке документации лучше создать отдельную папку с файлами, сохраненными в кодировке UTF-8:

В результате получим:

Другая важная опция OUTPUT_LANGUAGE, с указанным языком (Russian) позволяет создавать меню и описание на русском языке:

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

Автоматическое создание документации к программам на MQL5
Автоматическое создание документации к программам на MQL5
  • 2009.11.23
  • Paul
  • www.mql5.com
Большинство Java программистов знакомы с автоматическим созданием документации, которая может быть создана при помощи программы JavaDocs. В мире C++ также есть несколько автоматических генераторов документации, одними из лидеров являются программы Microsoft's SandCastle и Doxygen. В статье описано, как можно использовать программу Doxygen для создания структурированных файлов справки HTML для программ, написанных на MQL5. Результаты данной работы убедили меня использовать Doxygen (или похожие программы) в будущем для создания документации к любому моему коду на MQL5, это значительно облегчает его понимание и использование.
Alexander
1512
Alexander 2010.03.17 16:28  
Automated-Trading писал(а) # :

поэтому при подготовке документации лучше создать отдельную папку с файлами, сохраненными в кодировке UTF-8:

Проще на вкладке Input задать INPUT_ENCODING как windows-1251. И никаких проблем с кодировками
Automated-Trading
Админ
99080
Automated-Trading 2010.03.17 17:59  
GarF1eld писал(а) # :
Проще на вкладке Input задать INPUT_ENCODING как windows-1251. И никаких проблем с кодировками

конечно так было бы проще.

но почему-то doxygen (у меня 1.6.2) во все файлы вставляет

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>

хотя в настройках

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

<meta http-equiv="Content-Type" content="text/xhtml;charset=windows1251"/>

но вопрос в том, как побороть его, чтобы он это делал самостоятельно.
Alexander
1512
Alexander 2010.03.17 20:40  
Честно говоря не замечал, т.к меня вполне устраивает UTF-8, а когда была проблема с крокозяблами, просто изменил INPUT_ENCODING
Roffild
1347
Roffild 2013.04.05 13:35  

Вроде общепринято @param вместо \param для совместимости с другими докогенераторами.

Будет замечательно, если принять этот стандарт на уровне MQL, а то настоящий стиль комментирования кода странный - много лишних //////.

А если добавить поддержку на уровне MetaEditor, как это сделано в Eclipse... ммм...

Roffild
1347
Roffild 2015.04.07 07:33  

Версия 1.8.7 последняя с поддержкой MQL.

Баг где-то среди этих коммитов.

Кто найдет - сообщите.

Denis Savenko
60
Denis Savenko 2015.05.19 17:05  
Roffild:

Версия 1.8.7 последняя с поддержкой MQL.

Баг где-то среди этих коммитов.

Кто найдет - сообщите.

Спасибо. Все перерыл пока боролся последними версиями( Да выше 1.8.7 не идет. По коммитам так и не понял в чём подвох(
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий