Как посмотреть иерархию того, какой блок использует другой? (Delphi)

Это большой проект, и мне нужно увидеть иерархию единиц, на которую ссылается каждый файл в своем предложении USES.

ех.

                                Project Source (program.dpk)

        HelperUnit                  Forms                ThirdPartyUnit

MyUtils MyConsts MyDownload                         TPShellShock  TPWhatever 

Как я могу увидеть это своего рода дерево зависимостей? Я помню, что в одной из более новых версий Delphi была такая функция, но я не помню, как она называлась. Возможно, это был плагин.

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

4 ответа

Решение

Внутри GExperts также есть встроенный анализатор зависимости. Найдите опцию "Зависимости проекта". Это работает от эксперта из Delphi против загруженного в данный момент проекта.

Зависимости проекта GExperts

Я не знаю интегрированного инструмента IDE, чтобы делать то, что вы хотите, но вы должны взглянуть на Unit Dependency Analyzer, от ModelMaker. Инструмент бесплатный.

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

http://www.peganza.com/

Это бесплатно.

У вас есть такие графики, созданные в автоматическом режиме с помощью нашего инструмента документации с открытым исходным кодом, который называется SynProject.

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

Затем эта информация объединяется в единый процесс технической документации, начиная с Требования, затем Архитектура, затем Проект, затем План проверки, затем Тестирование, затем Выпуск.

См. http://synopse.info/fossil/wiki?name=SynProject

Другие вопросы по тегам