Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: titan83 от Октябрь 14, 2017, 22:27



Название: Сделать очень простой плагин для QtCreator
Отправлено: titan83 от Октябрь 14, 2017, 22:27
Коллеги, здравствуйте.
У меня случилась боль)
Я хочу документировать свой проект, используя QDoc или Doxygen, все вроде бы здорово, но если начинать нормально документировать логику, описание форматов и связи между классами, то исходные тексты превращаются в свалку.
В принципе, можно писать в отдельных файлах, но только отвлеченные документы, описание классов вне класса воспринимаются болезненно (и QDoc'ом, и Doxygen'ом), поэтому лучше в cpp-файле.
Но читать исходники становится реально неудобно, ручное сворачивание блоков с комментариями возможно, но непродуктивно.
Поэтому хочу сделать простейший плагин, который бы сворачивал\разворачивал все блоки в файле (может и проекте, если это возможно), начинающиеся на /*!
Читаю документацию, но там довольно объемно, не могу пока найти место, где обрабатываются блоки текста (TextEditor, SyntaxHighlither?).
Я слабо верю, что кто-то сходу подскажет, но все: вдруг есть ценитель системы плагинов qtc)
Спасибо.


Название: Re: Сделать очень простой плагин для QtCreator
Отправлено: ViTech от Октябрь 15, 2017, 12:50
Бегло глянул в исходники, искал действие "Toggle Fold All". Возможно нужно начать с TextEditorWidget::unfoldAll() и делать по аналогии.


Название: Re: Сделать очень простой плагин для QtCreator
Отправлено: titan83 от Октябрь 15, 2017, 20:08
Бегло глянул в исходники, искал действие "Toggle Fold All". Возможно нужно начать с TextEditorWidget::unfoldAll() и делать по аналогии.
Благодарю. Нашел нужный мне код в texteditor.cpp. Попробую сделать нечто похожее. fold() и unfold(), но с условием, что trimmed().startsWith("/*!") == true
Но с документацией было бы проще.


Название: Re: Сделать очень простой плагин для QtCreator
Отправлено: ViTech от Октябрь 16, 2017, 10:23
Зачастую для написания хорошей документации уходит гораздо больше времени, чем на написание самого кода :). А от документации "в одну строчку" толка мало, с таким же успехом можно исходники смотреть. Похоже Qt'шники не хотят тратить время / не считают нужным документировать внутренности креатора.

Попробую сделать нечто похожее. fold() и unfold(), но с условием, что trimmed().startsWith("/*!") == true

В общем случае комментарии Doxygen могут не только с "/*!" начинаться, там ещё и другие сочетания есть.