---
metadata:
  - name: generator
    content: Diplodoc Platform v5.55.2
alternate:
  - https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-navigation.md
  - https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/code-navigation.md
  - href: ru/sourcecraft/operations/code-navigation.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
title: Навигация и поиск по коду в SourceCraft
description: В данной инструкции описаны способы навигации и поиска по коду в SourceCraft.
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/ru/llms.txt


# Навигация и поиск по коду в SourceCraft

<!-- source: ru/_includes/sourcecraft/code-navigation-supported-syntax.md -->
{% note info %}

Вывод структуры файла, поиск деклараций и мест использования элементов поддерживаются для языков программирования C, C++, C#, Go, Java, JavaScript, Kotlin, PHP, Python, TypeScript, языка описания данных Protocol Buffers, а также для [конфигурационного файла CI/CD](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md#ci-cd-configuration) `.sourcecraft/ci.yaml`.

{% endnote %}
<!-- endsource: ru/_includes/sourcecraft/code-navigation-supported-syntax.md -->

<!-- source: ru/_includes/sourcecraft/code-navigation-description.md -->
Вы можете легко понимать структуру кода и его зависимости, используя навигацию по коду в SourceCraft. Сервис связывает декларации именованных сущностей с их использованиями: для каждой именованной сущности вы можете посмотреть информацию о том, как она объявлена в коде, и перейти к строке с этим объявлением.

Чтобы включить навигацию по коду, не нужно ничего настраивать. SourceCraft автоматически проиндексирует ваш код для всех поддерживаемых языков программирования.

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

<iframe width="640" height="360" src="https://runtime.strm.yandex.ru/player/video/vplvlyx6usuy2ivx7kdm?autoplay=0&mute=0" allow="autoplay; fullscreen; picture-in-picture; encrypted-media" frameborder="0" scrolling="no"></iframe>

<br>

#|
||
SourceCraft предлагает следующие функции навигации по коду:
* [Текстовый поиск по коду в репозитории](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/code-navigation.md#search-code-in-repo).
* [Навигация по структуре файла](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/code-navigation.md#get-structure).
* [Просмотр информации о декларации](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/code-navigation.md#declaration-info).
* [Переход на декларацию из использования](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/code-navigation.md#search-by-declaration).
* [Поиск использований](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/code-navigation.md#search-by-usage).
||
|#

Узнать о доступности навигации можно по [индикатору](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/code-navigation.md#indicator).
<!-- endsource: ru/_includes/sourcecraft/code-navigation-description.md -->

## Текстовый поиск по коду в репозитории {#search-code-in-repo}

1. Откройте [главную страницу](https://sourcecraft.dev) SourceCraft.
1. На вкладке ![image](../../_assets/console-icons/house.svg) **Домой** в секции ![image](../../_assets/console-icons/layout-tabs.svg) **Ваша мастерская** перейдите в раздел ![image](../../_assets/console-icons/archive.svg) **Репозитории**.
1. Выберите репозиторий.
1. На панели слева нажмите ![image](../../_assets/console-icons/magnifier.svg) **Поиск**.
1. В открывшемся поле введите текст для поиска. Отобразится список всех файлов и строк, в которых используется искомый текст.
1. Чтобы увидеть превью кода, нажмите на нужную строку.
1. Чтобы перейти к месту использования, дважды нажмите на нужную строку.

![code-search](../../_assets/sourcecraft/code-search.png)

## Индикатор доступности навигации по коду {#indicator}

Индикатор ![image](../../_assets/console-icons/compass.svg) в строке с информацией о файле говорит о доступности навигации в данном файле. Индикатор может быть двух цветов:

* зеленый — функциональность навигации готова к использованию;
* оранжевый — индексы навигации по коду в процессе построения и скоро будут готовы.

Если индикатор отсутствует, то для этого файла навигация по коду недоступна.

## Навигация по структуре файла {#get-structure}

1. Выберите файл для просмотра.
1. В верхнем правом углу нажмите ![image](../../_assets/console-icons/hierarchy.svg) **Структура файла**. Справа откроется панель со структурой файла.
1. Чтобы перейти к нужной декларации, нажмите на нее.

![file-structure](../../_assets/sourcecraft/file-structure.png)

## Быстрый просмотр информации о декларации {#declaration-info}

1. Выберите файл для просмотра.
1. Наведите указатель на именованную сущность в коде, декларацию которой нужно найти. 

   {% note tip %}

   Сущности, для которых доступна навигация по коду, при наведении указателя отмечаются серой рамкой.

   {% cut "Пример" %}

   ![code-gray-frame](../../_assets/sourcecraft/code-gray-frame.png)

   {% endcut %}

   {% endnote %}

   Во всплывающем окне появится информация о декларации:
   * тип сущности;
   * сигнатура;
   * путь к файлу;
   * документация декларации.

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

## Просмотр полной информации о декларации по клику {#declaration-info-full}

1. Выберите файл для просмотра.
1. Нажмите на именованную сущность, декларацию которой нужно найти.
1. Откроется боковая панель с превью кода декларации и списком ее использований.
1. Если SourceCraft не определил, какая из деклараций имеется в виду, отобразится список. Чтобы увидеть превью кода нужной декларации, переключайтесь между элементами списка.

## Переход на декларацию из использования {#search-by-declaration}

1. Выберите файл для просмотра.
1. Наведите указатель на именованную сущность, декларацию которой нужно найти. Если деклараций несколько, выберите нужную из списка.
1. Чтобы перейти к файлу и строке с декларацией именованной сущности, нажмите ![image](../../_assets/console-icons/arrow-shape-turn-up-right.svg) **Перейти к декларации**.

![go-to-declaration](../../_assets/sourcecraft/go-to-declaration.png)

{% note tip %}

Также, чтобы перейти к файлу и строке с декларацией именованной сущности, вы можете установить курсор на именованную сущность и воспользоваться сочетанием клавиш **Ctrl** + **B** в Windows/Linux или **Command** + **B** в macOS.

{% endnote %}

## Поиск использований {#search-by-usage}

1. Выберите файл для просмотра.
1. Наведите указатель на именованную сущность в коде, использования которой нужно найти. Во всплывающем окне появится информация о декларации.
1. Нажмите ![image](../../_assets/console-icons/magnifier.svg) **Найти использования**. Справа откроется панель со всеми использованиями именованной сущности.

    {% note tip %}

    Также, чтобы найти использования, вы можете установить курсор на именованную сущность и воспользоваться сочетанием клавиш **Alt** + **F7** в Windows/Linux или **Option** + **F7** в macOS.

    {% endnote %}

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

![code-search](../../_assets/sourcecraft/find-usages.png)

#### Полезные ссылки {#see-also}

* [Взаимосвязь ресурсов SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md)
* [Отредактировать код с SourceCraft Code Assistant](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/code-edit.md)
