# Copilot nampak ruang kerja anda. Maguyva memetakan repo.

Canonical source: https://maguyva.ai/ms/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).

Ejen dalam VS Code membaca fail yang anda lampirkan dan fail yang ditemuinya sendiri. Maguyva mengindeks seluruh repo dan menyajikannya melalui MCP, jadi sebelum mengedit, ejen bertanya di mana sesuatu simbol berada dan siapa yang memanggilnya.

> Satu entri servers dalam .vscode/mcp.json: satu URL dan satu pengepala Authorization.

## Perkara yang perlu diketahui tentang VS Code

Empat fakta khusus untuk VS Code.

### .vscode/mcp.json

Pelayan diletakkan di bawah `servers`, bukan `mcpServers`. Untuk semua ruang kerja, jalankan `MCP: Open User Configuration` dan tambah entri yang sama ke `mcp.json` profil anda.

### type: http

VS Code bersambung ke titik akhir Maguyva melalui Streamable HTTP dan hanya beralih ke SSE jika pelayan tidak menyokongnya. Tiada apa yang berjalan secara setempat.

### Rujukan env

Pengepalanya ialah `Bearer ${env:MAGUYVA_API_KEY}`, yang diselesaikan oleh VS Code daripada persekitaran tempat ia dimulakan, jadi kunci tidak masuk ke fail yang anda commit. Lebih suka ditanya? Pemboleh ubah input bertanya sekali dan menyimpan kunci itu.

### Workspace Trust

Pelayan dalam `.vscode/mcp.json` bermula tanpa gesaan berasingan sebaik sahaja anda mempercayai ruang kerja, dan tidak pernah dalam mod terhad. Configure Tools dalam input sembang menghidupkan atau mematikan setiap alat.

## Arahan tersuai ialah perjanjian kerja. Gunakannya.

```text
# .github/copilot-instructions.md
- Jalankan npm test sebelum menganggap sesuatu perubahan selesai.
- Jangan sekali-kali edit fail terjana di bawah src/gen/.
```

VS Code membaca arahan untuk seluruh projek daripada `.github/copilot-instructions.md` atau `AGENTS.md`, dan arahan bersasar daripada fail `.github/instructions/*.instructions.md` yang mempunyai corak `applyTo`. Gunakannya untuk:

- Arahan build, ujian dan lint.
- Konvensyen yang asyik tersilap oleh ejen.
- Folder yang tidak patut disentuh ejen.

Arahan memberitahu ejen cara bekerja. Ia tidak dapat memberitahu fail mana antara empat ribu yang mengimport jenis yang akan ditukar namanya.

## Di mana pandangan ruang kerja berakhir

Tiga perkara yang tidak dapat dipelajari ejen daripada fail yang dibukanya.

### // dilampirkan bukan segalanya

Ejen bekerja dengan apa yang anda lampirkan dan apa yang dipulangkan oleh cariannya. Pemanggil dalam pakej lain yang rosak selepas perubahan itu tiada dalam mana-mana senarai.

### // padanan teks bukan rujukan

Carian ruang kerja menemui rentetan itu. Ia tidak dapat membezakan panggilan sebenar daripada komen, mock atau kaedah sama nama dalam kelas lain.

### // setiap bacaan memakan konteks

Setiap fail yang dibuka ejen untuk berorientasi menghabiskan konteks yang diperlukannya untuk perubahan. Satu jawapan berperingkat dengan file:line lebih murah daripada sepuluh bacaan penerokaan.

## Maguyva sebagai pelayan MCP dalam VS Code

Satu entri servers memberi ejen:

- **11 alat merentasi repo anda yang diindeks**: carian semantik, struktur (AST), graf dan teks, ditambah carian simbol, dependen dan pengambilan fail.
- **Jawapan dengan laluan fail dan nombor baris**: merentasi 285+ bahasa, jadi ejen membuka fail yang betul dahulu.
- **Alat yang hanya membaca**: Alat Maguyva menyoal indeks. Tiada satu pun yang menyunting fail anda, jadi setiap kelulusan ialah tentang membaca, bukan menulis.

> VS Code memberi ejen *ruang kerja anda*.
> Maguyva memberi ejen *peta repo*.

## Dua aliran kerja

Tanya peta dahulu, kemudian sunting.

### 01. Cari ujian sebelum mengubah parser

```text
vscode agent> ujian mana yang melalui parseConfig?

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

→ Selepas mengedit, ejen menjalankan dua fail ini, bukan seluruh suite.
[exit 0]
```

Jawapan itu menamakan dua fail ujian yang sampai ke parser, jadi ejen menyemak perubahan di tempat yang boleh rosak.

### 02. Ukur penukaran nama sebelum suntingan pertama

```text
vscode agent> tukar nama OrderStatus.PENDING kepada OrderStatus.QUEUED

find_symbol("OrderStatus", references)
  23 rujukan dalam 9 fail

→ Ejen merancang satu laluan merentas sembilan fail.
[exit 0]
```

Kiraan rujukan tiba sebelum suntingan, bukan selepas pemeriksa jenis gagal.

## Sediakan VS Code

Tiga langkah. Peringkat Free: 3 repositori, Sehingga 50K baris repo terindeks, tanpa kad.

### 01. Indeks repo di maguyva.ai

Pilih satu yang anda sudah kenali, supaya anda boleh menilai jawapannya.

### 02. Tambah Maguyva ke .vscode/mcp.json

`.vscode/mcp.json`

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

### 03. Tetapkan kunci anda dan mulakan pelayan

Tetapkan `MAGUYVA_API_KEY` dalam persekitaran tempat anda membuka VS Code, kemudian mulakan pelayan daripada code lens di atas entrinya. Tanya ejen satu soalan yang anda sudah tahu jawapannya.

[Dokumentasi MCP](https://code.visualstudio.com/docs/agent-customization/mcp-servers) VS Code merangkumi pemboleh ubah input, format .mcp.json mudah alih dan kepercayaan pelayan.

## Indeks satu repo yang anda dah kenal.

Sambungkan VS Code melalui MCP, kemudian tanya satu soalan yang boleh anda semak.
