![[Снимок экрана 2024-07-31 в 08.14.22.png|400]]
Inspect This (Инспекция элемента кода) - Позволяет выполнять статический анализ выбранного элемента кода. Rider проверяет код на наличие ошибок, потенциальных проблем, нарушений стандартов кодирования и производительности. Это помогает улучшить качество кода и найти скрытые баги.
### Как открыть контекстное меню `Inspect This`
- Ставим каретку на элемент кода. Далее есть два способа
- Способ 1
- Используем комбинацию ⇧ + ⌥ + ⌘ + A
- Способ 2
- Используем комбинацию ⌥ + Enter
- Находим в появившемся контекстном меню опцию `Inspect This`
### Описание опций
2. **Incoming Calls** - **Входящие вызовы**:
- Показывает все места в кодовой базе, где данный метод или свойство вызывается. Это полезно для понимания, как и где используется этот элемент кода, особенно если нужно внести изменения и оценить их влияние на всю систему.
3. **Outgoing Calls** - **Исходящие вызовы**:
- Показывает все методы и функции, которые вызываются из данного метода или свойства. Это помогает понять, какие зависимости и вызовы осуществляются из текущего элемента, что важно для анализа логики и поведения программы.
4. **Value Origin** - **Источник значения**:
- Показывает, откуда приходит значение для данного элемента. Это может быть полезно для отслеживания потока данных и понимания, какие переменные или методы влияют на значение текущего элемента.
5. **Value Destination** - **Назначение значения**:
- Показывает, куда идет значение текущего элемента. Это помогает понять, как и где используется результат работы текущего элемента, что важно для анализа влияния изменений на код.
6. **Code Issues** - **Проблемы кода**:
- Открывает окно с потенциальными проблемами, найденными в коде. Это могут быть ошибки, предупреждения, рекомендации по улучшению производительности, читаемости и поддерживаемости кода. Инструмент помогает быстро находить и исправлять эти проблемы.
7. **Type Hierarchy** - **Иерархия типов**:
- Показывает иерархию типов для текущего элемента кода. Это полезно для понимания наследования и реализации интерфейсов, особенно в сложных системах с большим количеством классов и интерфейсов. Можно увидеть базовые и производные классы, а также интерфейсы, которые реализуются.