Найдите каждого вызывающего абонента функции в кодовой базе длиной 1 миллион строк.
Когда использовать: Вам нужен полный и правильный список вызывающих объектов — grep выдает ложные срабатывания (комментарии, строки, функции с одинаковыми именами в других областях видимости) и пропускает перегрузки.
Предварительные требования
- УФ установлен — локон -LsSf https://astral.sh/uv/install.sh | ш
- Проект открыт на языке, который поддерживает LSP Серены. — Большинство основных языков работают «из коробки»
Поток
-
Открыть проектОткройте /abs/path/to/repo с Сереной. Подтвердите построенный индекс LSP.✓ Скопировано→ Серена сообщает корень проекта и загруженный LSP.
-
Найдите ссылки на символыНайдите все сайты вызовов PaymentService.chargeCustomer. Включите перегрузки и переопределения, исключите тесты.✓ Скопировано→ Точный файл: список строк, без ложных срабатываний из комментариев/строк.
-
Подведите итогиГруппируйте места вызова по модулям. Для каждой группы сообщите мне, что вызывающая сторона делает с возвращаемым значением.✓ Скопировано→ Повествование, сгруппированное по модулям, а не плоский список
Итог: Вы точно знаете, чего коснется изменение, еще до того, как прикоснетесь к нему.
Подводные камни
- Некоторым многоязычным репозиториям требуется несколько LSP. — Запускайте Serena для каждого подпроекта, если языки не используют общий сервер.