Анализируйте зависимости проекта

Используйте анализатор зависимостей для анализа зависимостей в проекте. Анализ зависимостей можно запустить в любой точке рабочего процесса. В среде совместной работы обычно проверяете зависимости:

  • Когда вы настраиваете или исследуете проект в первый раз

  • Когда вы запускаете тесты, чтобы подтвердить изменения в проекте

  • Перед отправкой версии проекта в систему контроля версий

  • Прежде чем делиться или упаковать свой проект

Чтобы исследовать проект и визуализировать его структуру с помощью различных представлений, смотрите Исследование графика зависимостей, Представлений и Фильтров.

Чтобы найти и устранить проблемы в вашем проекте, смотрите Исследование и Решение проблем.

Чтобы оценить, как изменение повлияет на другие файлы проекта, смотрите Найти зависимости файла.

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

Запуск анализа зависимостей

Прежде чем запускать анализ зависимостей для проекта, убедитесь, что вы добавили все свои файлы к проекту. Для получения дополнительной информации см. раздел «Добавление файлов к проекту».

Чтобы начать анализ своего проекта, на вкладке Project, в разделе Tools, нажмите Dependency Analyzer. Кроме того, на панели Views проекта выберите Dependency Analyzer и нажмите Analyze.

Чтобы проанализировать зависимости конкретных файлов, в графике зависимостей выберите файлы. В разделе Impact Analysis щелкните All Dependencies или используйте контекстное меню и выберите Find All Dependencies.

Чтобы проанализировать зависимости внутри дополнений, выберите Analyze > Add-Ons. Для получения дополнительной информации о доступных опциях смотрите Возможности анализа (Simulink).

Можно также проверить зависимости непосредственно в Project. В представлении Files Project щелкните правой кнопкой мыши файлы проекта, которые вы хотите анализировать, и выберите Find Dependencies.

График зависимостей показывает:

  • Ваша структура проекта и его зависимости от файлов, включая то, как файлы, такие как модели, библиотеки, функции, файлы данных, исходные файлы и производные файлы, связаны друг с другом.

  • Необходимые продукты и дополнения.

  • Отношения между исходным и производным файлами (такими как .m и .p файлы, .slx и .slxp, .ssc и .sscp, или .c и .mex files), и между исходным и заголовочным файлами C/C + +. Вы можете увидеть, какой код генерируется каждой моделью, и найти, какой код нужно регенерировать, если вы изменяете модель.

  • Предупреждения о проблемных файлах, таких как недостающие файлы, файлы не в проекте, файлах с неспасенными изменениями и устаревших производных файлах.

Можно изучить зависимости проекта и файлы задач с помощью File List. На панели инструментов нажмите кнопку File List.

После запуска первого анализа зависимостей проекта, последующие анализы постепенно обновляют результаты. Анализатор Зависимостей определяет, какие файлы изменились со времени последнего анализа, и обновляет данные зависимостей для этих файлов. Однако, если вы обновляете дополнения или установленные продукты и хотите обнаружить в них изменения зависимостей, необходимо выполнить полный анализ. Чтобы выполнить полный анализ, в Анализаторе Зависимостей нажмите Analyze > Reanalyze All.

Для получения дополнительной информации о выполнении анализа зависимостей на Simulink® модели и библиотеки, см. «Выполнение анализа влияния (Simulink)».

Исследуйте график зависимостей, представления и фильтры

График зависимостей отображает структуру проекта, зависимости и то, как файлы связаны друг с другом. Каждый элемент в графике представляет файл, и каждая стрела представляет зависимость. Для получения дополнительной информации см. «Исследование зависимости между двумя файлами».

По умолчанию на графике зависимостей показаны все файлы, требуемые вашим проектом. Чтобы помочь вам исследовать зависимости или конкретную задачу, можно упростить график с помощью одного из следующих фильтров:

Выбор, панорамирование и масштабирование

  • Чтобы выбрать элемент в графике, щелкните его.

    Чтобы выбрать несколько файлов, нажмите Shift и щелкните файлы.

    Чтобы выбрать все файлы определенного типа, наведите указатель мыши на соответствующий элемент на панели Legend и щелкните значок Add to selection.

    Чтобы удалить весь выбор, щелкните фон графика.

    Чтобы удалить все файлы определенного типа из текущего выбора, наведите указатель мыши на соответствующий элемент на панели Legend и щелкните значок Remove from selection.

  • Чтобы открыть файл, дважды кликните его.

  • Чтобы панорамировать график зависимостей, удерживайте клавишу Space, щелкните и перетащите мышь. Также нажмите и удерживайте колесо мыши и перетащите мышь.

    Для больших графиков перемещайтесь с помощью панели Overview.

  • Чтобы увеличить и уменьшить масштаб, в Navigate разделе нажмите Zoom In и Zoom Out. Также используйте колесо мыши.

  • Чтобы центрировать и подогнать график зависимостей для просмотра, в Navigate разделе нажмите Fit to View. Также нажмите клавишу Space bar.

Исследуйте зависимость между двумя файлами

Чтобы увидеть дополнительные сведения о том, как связаны два файла, выберите их стрелу зависимости. На панели Properties, в разделе Details, можно увидеть полные пути файлов, которые вы исследуете, тип зависимости (такой как вызов функции, наследование и тип свойства), и где введена зависимость.

Чтобы открыть файл и выделить, где введена зависимость, в разделе Details щелкните ссылку под Impacted.

Файлы цветов по типу, статусу или метке

Исследуйте различные представления в Views разделе панели инструментов анализатора зависимостей, чтобы исследовать зависимости файлов проекта.

  • В MATLAB Files окне отображается только MATLAB® файлы (такие как .m, .mlx, .p, .mlapp, .fig, .mat, и .mex) в виде и цветах их по типам.

  • Представление Class Hierarchy показывает график наследования классов и окрашивает файлы по типам (класс, класс перечисления или абстрактный класс). Если класс находится не в пути поиска файлов, анализатор зависимостей не может определить тип класса.

  • Представление Classification показывает все файлы в графике и окрашивает их меткой файла (такие как test, проект и программный продукт).

    Используйте классификационное представление, чтобы определить, какие тесты вам нужно запустить, чтобы подтвердить изменения в проекте. Для получения дополнительной информации см. «Идентифицируйте тесты, которые нужно запустить».

  • Представление Source Control показывает все файлы в графике и окрашивает их по статусу системы контроля версий. Это представление включено только в том случае, если ваш проект находится под системой контроля версий.

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

  • Restore to Default очищает все фильтры.

    Это эквивалентно удалению вручную всех фильтров. Фильтры появляются в верхней части графика. Например, если выбран Source Control вид, его можно удалить нажав.

Применение и удаление фильтров

В больших проектах при исследовании проблем или зависимостей используйте различные фильтры, чтобы показать только файлы, которые вы хотите исследовать:

  • Чтобы отфильтровать подгруппу файлов из графика, таких как файлы, маркированные test или измененных файлов используйте флажки на панели Legend. Чтобы удалить фильтр легенды, щелкните Legend Filter.

  • Чтобы окрасить файлы в графике по типу, классу, метке или статусу системы контроля версий, используйте Views. Чтобы удалить фильтр представления, нажмите View: viewName в верхней части графика. Например, если выбран Source Control вид, его можно удалить нажав.

  • Чтобы показать только зависимости определенного файла, выберите файл и, в Impact Analysis разделе, нажмите All Dependencies. На графике показан выбранный файл и все его зависимости. Чтобы сбросить график, чтобы показать все зависимости проекта, удалите фильтр в верхней части графика. Для примера, если вы фильтровали по всем зависимостям timestable.mlapp, для удаления фильтра щелкните.

  • Чтобы очистить все фильтры и восстановить график, чтобы показать все анализируемые зависимости в проекте, нажмите Restore to Default. Также вручную удалите все фильтры в верхней части графика.

Исследуйте и решите проблемы

Когда Вы управляете анализом зависимостей, Зависимость, Анализатор определяет проблемы, такие как недостающие файлы, файлы не в проекте, неспасенных изменениях и устаревших производных файлах. Можно изучить файлы задачи с помощью график зависимостей или списка файлов. Когда файл не выбран, на панели Properties справа показаны зависимости дополнений и список проблем для всего проекта.

Используйте график, чтобы исследовать файлы задачи графически.

  1. На панели Properties, в разделе Problems, укажите на проблему, такую как File not in project, и щелкните значок лупы. График подсвечивает файлы с этой конкретной задачей.

    Чтобы пройти через эти файлы, используйте стрелы в поле поиска (например, Problem: File not in project).

    Чтобы отменить подсветку, закройте поле поиска.

  2. Чтобы увидеть дополнительные сведения о конкретном файле задачи, выберите файл в графике. На панели Properties, в разделе Problems, вы можете увидеть подробности, включая путь, тип и проблемы для этого файла.

    Для примера, если файл File not in projectщелкните правой кнопкой мыши файл задачи на графике и выберите Add to Project.

  3. Исследуйте следующую проблему, перечисленную в разделе Problems. Повторяйте шаги, пока вы не решите все проблемы. Дополнительные сведения о том, как устранить проблемы, см. в разделе Разрешение проблем.

    Чтобы обновить график и список Problems, нажмите Analyze.

Совет

Для больших проектов просмотр результатов в списке может упростить навигацию.

Для больших проектов используйте File List, чтобы исследовать файлы проблем проекта.

  1. На панели инструментов анализатора зависимостей нажмите File List.

  2. На панели Properties, в разделе Problems, укажите на проблему, такую как File not in project, и щелкните значок лупы.

    В File List показаны только файлы с конкретной проблемой. Выберите все файлы в списке и используйте контекстное меню для Add to Project.

  3. Исследуйте следующую проблему, перечисленную в разделе Problems, например Missing file. Повторяйте шаги, пока вы не решите все проблемы.

    Чтобы обновить график и список Problems, нажмите Analyze.

Решение проблем

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

Сообщение о проблеме

Описание

Зафиксировать

Файл не в проекте

Файл не находится в проекте.

Щелкните правой кнопкой мыши файл задачи в графике и выберите Add to Project.

Чтобы удалить файл из списка проблем, не добавляя его в проект, щелкните правой кнопкой мыши файл и выберите Hide Warnings.

Отсутствующий файл

Файл находится в проекте, но не существует на диске.

Создайте файл или восстановите его с помощью системы контроля версий.

Не удается найти файл или переменную.

Если этот статус допустим, щелкните правой кнопкой мыши файл и выберите Hide Warnings.

В зависимости от способа вызова метода объекта анализатор зависимостей может перепутать метод с функцией и сообщить о отсутствующей зависимости. См. «Ограничения анализа» (Simulink).

В неиспользуемом проектеФайл находится в проекте, на который не ссылается текущий проект.Добавьте проект, содержащий файл, в качестве ссылки на проект

Внешний корень проекта

Файл находится вне корневой папки проекта.

Если этот статус допустим, щелкните правой кнопкой мыши файл и выберите Hide Warnings. В противном случае переместите его под корень проекта.

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

Несохраненные изменения

Файл имеет несохраненные изменения в редакторах MATLAB и Simulink.

Сохраните файл.

Производный файл устарел

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

Перегенерируйте производный файл. Если это .p файл можно автоматически перегенерировать, выполнив проверку проекта. В MATLAB, на вкладке Project, выберите Run Checks > Check Project и следуйте инструкциям, чтобы перестроить файлы.

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

Продукт не установлен

Проект зависит от отсутствующего продукта.

Установите отсутствующий продукт.

Примечание

Если вы используете parfor или spmd но не имеют установленный Parallel Computing Toolbox™, соответствующий код запускается последовательно. Анализатор Зависимостей сообщает о проблеме в разделе Problems.

Поиск необходимых продуктов и дополнений

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

В Анализаторе Зависимостей, на панели Properties, в разделе Product отображаются необходимые продукты для всего проекта. Чтобы просмотреть продукты, необходимые для определенного файла, выберите файл, нажав на график.

Чтобы найти файл, вводящий зависимость продукта, укажите имя продукта и щелкните значок лупы. График подсвечивает файлы, которые используют выбранный продукт.

Чтобы пройти через эти файлы, используйте стрелы в поле поиска (например, Files using "productName").

Чтобы отменить подсветку, закройте поле поиска.

Чтобы отменить подсветку, закройте поле поиска.

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

Если необходимый продукт отсутствует, список продуктов помечает его как отсутствующий. Продукт также указан в разделе Problems следующим образом productName не установлен. Чтобы устранить недостающий продукт, установите продукт и повторите анализ зависимостей.

Поиск зависимостей от файлов

Чтобы исследовать зависимости файла после выполнения анализа зависимостей, в графике зависимостей выберите файл.

  • В Impact Analysis разделе нажмите All Dependencies. На графике показан выбранный файл и все его зависимости.

  • Чтобы показать только файлы, необходимые выбранному файлу для правильной работы, нажмите кнопку Required.

  • Чтобы показать только файлы, на которые влияет потенциальное изменение выбранного файла, нажмите Impacted.

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

Чтобы исследовать зависимости нескольких файлов, щелкните файлы, удерживая клавишу Shift. В Impact Analysis разделе отображается количество выбранных файлов.

Чтобы сбросить график, щелкните фильтр в верхней части графика. Например, если вы фильтровали файлы, на которые повлияли timestable.mlapp, нажмите.

Исследуйте влияние измененных файлов

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

  1. В Views разделе выберите вид Source Control. График окрашивает файлы по статусу системы контроля версий. Измененные файлы выполнены в светло-синем цвете.

  2. Выберите все измененные файлы в графике.

    Также можно добавить все измененные файлы к выбору, щелкнув значок Add to selection элемента на панели Legend.

  3. В Impact Analysis разделе нажмите Impacted. Кроме того, используйте контекстное меню и выберите Find Impacted.

Идентифицируйте тесты, которые нужно запустить

Чтобы идентифицировать тесты, которые вы должны запустить, чтобы подтвердить проект перед внесением изменений, используйте представление Classification при выполнении анализа влияния на измененный файл.

  1. В Views разделе выберите вид Classification. График окрашивает файлы по метке проекта.

  2. Выберите файл, который вы изменили, например timesTableGame.m.

  3. В Impact Analysis разделе нажмите Impacted. Кроме того, используйте контекстное меню и выберите Find Impacted.

    На графике примера показаны три теста, которые вам нужно запустить, чтобы квалифицировать внесенное изменение в timesTableGame.m.

Экспорт результатов анализа зависимостей

Чтобы экспортировать все файлы, отображаемые в графе зависимостей, щелкните фон графика, чтобы удалить выбор во всех файлах. На панели инструментов анализатора зависимостей, в разделе Export, нажмите Export. Выберите из доступных опций:

  • Save to Workspace - Сохраните пути к файлу в переменной в рабочей области.

  • Generate Dependency Report - Сохраните результаты анализа зависимостей в отчете для печати (HTML, Word или PDF).

  • Package As Archive - экспорт файлов в график как архив.

  • Save As GraphML - Сохраните результаты анализа зависимостей как файл GraphML.

    Совет

    Можно сравнить различные результаты анализа без необходимости повторения анализа. Чтобы сравнить ранее сохраненные графики, в MATLAB, в Current Folder, щелкните правой кнопкой мыши два файла GraphML и выберите Compare Selected Files/Folders.

Чтобы экспортировать подмножество файлов в графике, выберите файлы и нажмите Export.

  • Используйте Legend флажки, отфильтрованные Views или инструменты Impact Analysis, чтобы упростить график.

  • Чтобы выбрать несколько файлов, нажмите Shift и выберите файлы.

  • Чтобы выбрать все файлы в отфильтрованном графику, нажмите Ctrl+A.

В меню отображается количество выбранных файлов. Анализатор Зависимостей экспортирует только выбранные файлы.

Примечание

При использовании Package As Archive анализатор зависимостей включает выбранные файлы и все их зависимости в архиве.

Отправка файлов в инструменты проекта

Можно отправить файлы в другие инструменты Project с помощью меню Project. Анализатор Зависимостей экспортирует только выбранные файлы в текущем отфильтрованном представлении.

Выберите требуемые файлы. На панели инструментов анализатора зависимостей, в разделе Export, нажмите Project. Выберите из доступных опций:

  • Show in Project - переключитесь на представление Files проекта с выбранными файлами.

  • Send to Custom Task - запуск пользовательской задачи проекта в выбранных файлах.

Похожие темы