# Copilot бачить ваш workspace. Maguyva складає мапу репозиторію.

Canonical source: https://maguyva.ai/uk/for-vscode

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Агент у VS Code читає файли, які ви прикріпили, і ті, що знайшов сам. Maguyva індексує весь репозиторій і віддає його через MCP, тож перед правкою агент питає, де лежить символ і хто його викликає.

> Один запис servers у .vscode/mcp.json: URL і заголовок Authorization.

## Що треба знати про VS Code

Чотири факти, характерні для VS Code.

### .vscode/mcp.json

Сервери розміщуються в `servers`, а не в `mcpServers`. Щоб сервер працював у всіх workspace, виконайте `MCP: Open User Configuration` і додайте той самий запис у `mcp.json` профілю.

### type: http

VS Code під’єднується до ендпоінта Maguyva через Streamable HTTP і переходить на SSE, лише якщо сервер його не підтримує. Локально нічого не запускається.

### Посилання на змінну середовища

Заголовок має вигляд `Bearer ${env:MAGUYVA_API_KEY}`: VS Code бере значення з оточення, у якому його запущено, тож ключ не потрапляє у файл, який ви комітите. Хочете, щоб ключ запитувався? Змінна введення спитає його один раз і збереже.

### Довіра до робочої області

Сервери з `.vscode/mcp.json` запускаються без окремого запиту, щойно ви довіряєте workspace, і ніколи не запускаються в обмеженому режимі. Кнопка Configure Tools у полі введення чату вмикає й вимикає окремі інструменти.

## Користувацькі інструкції — це робоча угода. Використовуйте їх.

```text
# .github/copilot-instructions.md
- Запускай npm test, перш ніж вважати зміну готовою.
- Ніколи не правь згенеровані файли в src/gen/.
```

VS Code читає інструкції для всього проєкту з `.github/copilot-instructions.md` або `AGENTS.md`, а точкові — з файлів `.github/instructions/*.instructions.md` із шаблоном `applyTo`. Використовуйте їх для:

- Команд збирання, тестів і lint.
- Угод, у яких агент раз у раз помиляється.
- Тек, яких агентові не можна торкатися.

Інструкції кажуть агентові, як працювати. Вони не скажуть, які з чотирьох тисяч файлів імпортують тип, що він зараз перейменує.

## Де закінчується огляд workspace

Три речі, яких агент не дізнається з відкритих файлів.

### // прикріплене — ще не все

Агент працює з тим, що ви прикріпили, і з тим, що повернув його пошук. Викликача в іншому пакеті, який зламається після правки, не було в жодному з цих списків.

### // збіг тексту — не посилання

Пошук по workspace знаходить рядок. Він не відрізнить справжній виклик від коментаря, mock-об’єкта чи однойменного методу іншого класу.

### // кожне читання коштує контексту

Кожен файл, який агент відкриває, щоб зорієнтуватися, з’їдає контекст, потрібний для самої правки. Одна ранжована відповідь із file:line коштує менше, ніж десять розвідувальних читань.

## Maguyva як MCP-сервер у VS Code

Один запис servers дає агентові:

- **11 інструментів для вашого проіндексованого репозиторію**: семантичний, структурний (AST), графовий і текстовий пошук, а також пошук символів, залежні та отримання файлів.
- **Відповіді зі шляхами до файлів і номерами рядків**: у понад 285 мовах, щоб агент одразу відкривав потрібний файл.
- **Інструменти лише для читання**: Інструменти Maguyva лише запитують індекс. Жоден не змінює ваші файли, тож кожне підтвердження стосується читання, а не запису.

> VS Code дає агентові *ваш workspace*.
> Maguyva дає агентові *мапу репозиторію*.

## Два робочі процеси

Спершу спитайте карту, потім редагуйте.

### 01. Знайти тести до зміни парсера

```text
vscode agent> які тести проходять через parseConfig?

dependency_search("parseConfig", dependents)
  tests/config/parse.test.ts:12
  tests/cli/flags.test.ts:88

→ Після правки агент запускає ці два файли, а не весь набір тестів.
[exit 0]
```

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

### 02. Оцінити перейменування до першої правки

```text
vscode agent> перейменуй OrderStatus.PENDING на OrderStatus.QUEUED

find_symbol("OrderStatus", references)
  23 посилання в 9 файлах

→ Агент планує один прохід по дев’яти файлах.
[exit 0]
```

Кількість посилань відома до правки, а не після того, як впаде перевірка типів.

## Налаштування в VS Code

Три кроки. Тариф Free: 3 репозиторії, До 50 тис. проіндексованих рядків репозиторію, без кредитної картки.

### 01. Проіндексуйте репозиторій на maguyva.ai

Оберіть той, який ви вже знаєте, щоб оцінити відповіді.

### 02. Додайте Maguyva в .vscode/mcp.json

`.vscode/mcp.json`

```json
{
  "servers": {
    "maguyva": {
      "type": "http",
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. Задайте ключ і запустіть сервер

Задайте `MAGUYVA_API_KEY` в оточенні, з якого запускаєте VS Code, і запустіть сервер кнопкою запуску над його записом. Поставте агентові запитання, відповідь на яке вже знаєте.

У [документації MCP](https://code.visualstudio.com/docs/agent-customization/mcp-servers) для VS Code описано змінні введення, переносний формат .mcp.json і довіру до серверів.

## Проіндексуйте один репозиторій, який ви вже добре знаєте.

Під’єднайте VS Code через MCP і поставте запитання, яке можна перевірити.
