2017-01-16 33 views
1

Использование doxygen 1.8.13, как я могу получить автоматические ссылки для генерации кода разметки? Например, у меня есть следующие два файла:Doxygen не создает автоматические ссылки в блоках кода разметки

test.h

/** 
* Function foo. 
* This is a code snippet in markdown format: 
* 
*   foo("Hello World!!!"); 
* 
* This is a regular code snippet: 
* \code 
* foo("Hello World!!!"); 
* \endcode 
**/ 
void foo(const char *hello); 

И следующий файл компаньона:

test.md

# Markdown Test 

This is a code snippet in markdown format: 

    foo("Hello World!!!"); 

This is a regular code snippet: 
\code 
foo("Hello World!!!"); 
\endcode 

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

test.h enter image description here

Обратите внимание, как второй фрагмент сгенерировал ссылку на foo, но первое не имеет.

test.md

enter image description here

Обратите внимание, как ни один из фрагментов не сгенерировал ссылку для функции foo - также, форматирование довольно сильно отличается.

Итак, вопрос: есть ли способ настроить doxygen таким образом, чтобы автоматические ссылки генерировались в разделах кода уцененных документов?

ответ

2

Отвечая на мой вопрос.

  • Из того, что я вижу, doxygen не будет правильно выделять отступы кода. Он будет форматировать их как код, но не будет пытаться угадать язык кода; . Это может быть решено с помощью огражденного блока кода - который будет предполагаться быть на том же языке файла он находится в этом работает, как ожидалось:

foo.h

/** 
* Function foo. 
* This does not work properly: 
* 
*   foo("Hello World!!!"); 
* 
* But this does: 
* ``` 
* foo("Hello World!!!"); 
* ``` 
**/ 
void foo(const char *hello); 
  • При написании образцов кода в файлах разметки (.md) doxygen не будет автоматически угадывать язык кода. Решение при размещении примеров кода в файлах .md было просто указать язык. После этого, автоматические ссылки надлежащим образом генерируются:

foo.md

# Markdown Test 

This does not work properly: 

    foo("Hello World!!!"); 

But this does 
```{cpp} 
foo("Hello World!!!"); 
``` 

 Смежные вопросы

  • Нет связанных вопросов^_^