# Copilot çalışma alanınızı görür. Maguyva repoyu haritalar.

Canonical source: https://maguyva.ai/tr/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’daki ajan, eklediğiniz dosyaları ve kendi aramalarıyla bulduklarını okur. Maguyva tüm repoyu dizinler ve MCP üzerinden sunar; böylece ajan düzenlemeden önce bir sembolün nerede olduğunu ve onu kimin çağırdığını sorar.

> .vscode/mcp.json içinde tek bir servers girdisi: bir URL ve bir Authorization başlığı.

## VS Code hakkında bilmeniz gerekenler

VS Code’a özgü dört bilgi.

### .vscode/mcp.json

Sunucular `mcpServers` altına değil, `servers` altına girer. Tüm çalışma alanları için `MCP: Open User Configuration` komutunu çalıştırın ve aynı girdiyi profilinizin `mcp.json` dosyasına ekleyin.

### type: http

VS Code, Maguyva uç noktasına Streamable HTTP ile bağlanır ve yalnızca bir sunucu bunu desteklemediğinde SSE’ye geri döner. Yerelde hiçbir şey çalışmaz.

### Bir ortam değişkeni başvurusu

Başlık `Bearer ${env:MAGUYVA_API_KEY}` şeklindedir; VS Code bu değeri başlatıldığı ortamdan çözer, böylece anahtar commit ettiğiniz dosyanın dışında kalır. Sorulmasını mı tercih edersiniz? Bir girdi değişkeni bir kez sorar ve anahtarı saklar.

### Workspace Trust

`.vscode/mcp.json` içindeki sunucular, çalışma alanına güvendiğinizde ayrı bir onay istemeden başlar ve Kısıtlı Mod’da hiç başlamaz. Sohbet girişindeki Configure Tools tek tek araçları açar veya kapatır.

## Özel talimatlar bir çalışma anlaşmasıdır. Onları kullanın.

```text
# .github/copilot-instructions.md
- Bir değişikliği bitti saymadan önce npm test çalıştır.
- src/gen/ altındaki üretilmiş dosyaları asla düzenleme.
```

VS Code proje geneli talimatları `.github/copilot-instructions.md` veya `AGENTS.md` dosyasından, hedefli talimatları ise `applyTo` desenine sahip `.github/instructions/*.instructions.md` dosyalarından okur. Şunlar için kullanın:

- Derleme, test ve lint komutları.
- Ajanın sürekli yanlış yaptığı kurallar.
- Ajanın dokunmaması gereken klasörler.

Talimatlar ajana nasıl çalışacağını söyler. Yeniden adlandırmak üzere olduğu türü dört bin dosyadan hangilerinin içe aktardığını söyleyemez.

## Çalışma alanı görünümünün yetmediği yer

Ajanın açık dosyalardan öğrenemeyeceği üç şey.

### // eklenen her şey değildir

Ajan, eklediğiniz dosyalarla ve aramalarının döndürdükleriyle çalışır. Değişiklikten sonra bozulan, başka bir paketteki çağıran hiçbir listede yoktu.

### // metin eşleşmesi referans değildir

Çalışma alanı araması dizeyi bulur. Gerçek bir çağrıyı bir yorumdan, bir mock’tan ya da başka bir sınıftaki aynı adlı metottan ayıramaz.

### // her okuma bağlam harcar

Ajanın yön bulmak için açtığı her dosya, değişiklik için gereken bağlamı tüketir. file:line içeren tek bir sıralı yanıt, on keşif okumasından daha ucuzdur.

## VS Code’da MCP sunucusu olarak Maguyva

Tek bir servers girdisi ajana şunları verir:

- **Dizinlenmiş reponuz üzerinde 11 araç**: anlamsal, yapısal (AST), graf ve metin araması; ayrıca sembol arama, bağımlılar ve dosya alma.
- **Dosya yolları ve satır numaralarıyla yanıtlar**: 285+ dilde; böylece ajan doğru dosyayı ilk seferde açar.
- **Yalnızca okuyan araçlar**: Maguyva araçları dizini sorgular. Hiçbiri dosyalarınızı düzenlemez; böylece her onay yazmayla değil, okumayla ilgilidir.

> VS Code ajana *çalışma alanınızı* verir.
> Maguyva ajana *reponun haritasını* verir.

## İki iş akışı

Önce haritaya sorun, sonra düzenleyin.

### 01. Bir ayrıştırıcıyı değiştirmeden önce testleri bulun

```text
vscode agent> parseConfig’i hangi testler çalıştırıyor?

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

→ Ajan düzenlemeden sonra tüm paketi değil, bu iki dosyayı çalıştırır.
[exit 0]
```

Yanıt, ayrıştırıcıya ulaşan iki test dosyasını adlandırır; böylece ajan değişikliği bozulabileceği yerde kontrol eder.

### 02. İlk düzenlemeden önce yeniden adlandırmanın boyutunu görün

```text
vscode agent> OrderStatus.PENDING’i OrderStatus.QUEUED olarak yeniden adlandır

find_symbol("OrderStatus", references)
  9 dosyada 23 referans

→ Ajan dokuz dosya üzerinden tek bir geçiş planlar.
[exit 0]
```

Referans sayısı tür denetleyicisi hata verdikten sonra değil, düzenlemeden önce gelir.

## VS Code’da kurulum

Üç adım. Free katmanı: 3 repo, 50K'ya kadar indekslenmiş repo satırı, kart gerektirmez.

### 01. maguyva.ai’de bir repo dizinleyin

Yanıtları değerlendirebilmek için zaten bildiğiniz birini seçin.

### 02. Maguyva’yı .vscode/mcp.json dosyasına ekleyin

`.vscode/mcp.json`

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

### 03. Anahtarınızı ayarlayın ve sunucuyu başlatın

VS Code’u başlattığınız ortamda `MAGUYVA_API_KEY` değişkenini ayarlayın, ardından sunucuyu girdisinin üstündeki code lens’ten başlatın. Ajana yanıtını zaten bildiğiniz bir soru sorun.

VS Code’un [MCP belgeleri](https://code.visualstudio.com/docs/agent-customization/mcp-servers) girdi değişkenlerini, taşınabilir .mcp.json biçimini ve sunucu güvenini anlatır.

## Zaten bildiğiniz bir reponuzu dizinleyin.

VS Code’u MCP üzerinden bağlayın, ardından doğrulayabileceğiniz bir soru sorun.
