Yardımcı sohbeti, eşli programlama için kullanma

Bu belgede, entegre geliştirme ortamınızda (IDE) Gemini Code Assist aracı modunu eşli programcı olarak nasıl yapılandırıp kullanacağınız açıklanmaktadır.

Temsilci modu, VS Code IDE'de kullanılabilir.

Aracı modunda aşağıdakileri ve daha fazlasını yapabilirsiniz:

  • Kodunuzla ilgili sorular sorun.
  • Oluşturulan içeriği iyileştirmek için bağlamı ve yerleşik araçları kullanın.
  • Aracının yeteneklerini genişletmek için MCP sunucularını yapılandırın.
  • Birden fazla adımdan oluşan karmaşık görevlerin çözümlerini alın.
  • Tasarım belgelerinden, sorunlardan ve TODO yorumlardan kod oluşturun.
  • Planlara ve yürütme sırasında araç kullanımına yorum yaparak, bunları düzenleyerek ve onaylayarak aracının davranışını kontrol edin.

Sınırlamalar

Aracı modu kullanılırken aşağıdaki sınırlamalar geçerlidir:

  • Temsilci, Gemini Code Assist araçlarını arayamaz. Bu araçları kullanmak için aracı modundan çıkmanız gerekir.
  • Aracı, kod özelleştirme özelliğini kullanamaz. Kod özelleştirmeyi kullanmak için aracı modundan çıkmanız gerekir.
  • Birden fazla kökü olan projeler, aracı modunda desteklenmez. Birden fazla kök dizin içeren bir projede aracı modunu kullanıyorsanız aracı yalnızca karşılaştığı ilk kök dizine erişebilir.
  • Google Cloud için Gemini günlükleri, aracı modunda desteklenmez.

Başlamadan önce

  1. IDE'nizde kullanmak istediğiniz Gemini Code Assist sürümünü ayarlayın:
  2. Gemini Code Assist sürüm kanalınızı Insider derlemesi olarak ayarlayın:
    1. Komut paletini (Cmd + Shift + P) açın ve Open User Settings JSON'ı (Kullanıcı Ayarları JSON'unu Aç) seçin.
    2. Kullanıcı ayarları JSON'unuza aşağıdaki satırı ekleyin:
      "geminicodeassist.updateChannel": "Insiders",

Temsilci modunu kullanma

Aracı modunda Gemini'dan üst düzey hedefleri ve karmaşık görevleri tamamlamasını isteyebilirsiniz.

Aracı modundan en iyi şekilde yararlanmak için istemle ilgili en iyi uygulamaları uygulayın ve mümkün olduğunca fazla ayrıntı verin.

Temsilci moduna geçmek için:

VS Code

  1. Gemini Code Assist sohbetini açmak için IDE'nizin etkinlik çubuğunda spark Gemini Code Assist'i tıklayın.
  2. Aracı moduna girmek için Aracı açma/kapatma düğmesini tıklayın. Temsilci moduna geçildiğinde açma/kapatma düğmesi vurgulanır, normal sohbet modunda ise gri renkte görünür.
  3. Gemini Code Assist sohbetine isteminizi girin.

Gemini, isteminize yanıt verir veya bir aracı kullanmak için izin ister.

Aracı durdurmak için Durdur'u tıklayın.

Standart Gemini Code Assist sohbetini kullanmak için Yeni sohbet'i tıklayarak yeni bir sohbet oluşturun.

Gemini Code Assist aracı modu, Gemini CLI tarafından desteklenir.

IntelliJ

Bu özellik, IntelliJ için Gemini Code Assist'te veya diğer JetBrains IDE'lerinde desteklenmez.

Aracı modu için araçları yapılandırma

Araçlar, bir temsilcinin isteminize yanıt verirken bağlam ve işlemler için kullanabileceği geniş bir hizmet kategorisidir. Örnek araçlar arasında grep ve dosya okuma/yazma gibi yerleşik araçlar, yerel veya uzak Model Bağlamı Protokolü (MCP) sunucuları ve bunların yürütülebilir işlevleri ya da özel hizmet uygulamaları yer alır.

MCP sunucularını yapılandırma

Aracı modunda hangi sunucuların kullanılacağını kontrol etmek için sunucu dokümanlarına göre bu sunucuları Gemini ayarları JSON'unuza ekleyin.

VS Code

  1. MCP sunucunuzun gerektirdiği bağımlılıkları yükleyin.
  2. ~/.gemini/settings.json konumundaki Gemini ayarları JSON dosyanızı açın. Burada ~, ana dizininizdir.
  3. Sunucu talimatlarına göre, yerel veya uzak MCP sunucularını Gemini ayarları JSON'unuza ekleyin.

    Aşağıdaki örnekte uzak Cloudflare MCP sunucusu ekleniyor ve yerel makineye GitHub ile GitLab sunucuları yükleniyor.

    {
        "mcpServers": {
        "github": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-github"
          ],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": [
              "-y",
              "@modelcontextprotocol/server-gitlab"
          ]
        },
            "cloudflare-observability": {
                "command": "npx",
                "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"]
            },
            "cloudflare-bindings": {
                "command": "npx",
                "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"]
            }
        }
    }
    

  4. Komut paletini açın ve Developer: Reload Window'u (Geliştirici: Pencereyi Yeniden Yükle) seçin.

Yapılandırdığınız MCP sunucuları, aracının aracı modunda kullanabileceği şekilde kullanılabilir.

IntelliJ

Bu özellik, IntelliJ için Gemini Code Assist'te veya diğer JetBrains IDE'lerinde desteklenmez.

MCP sunucusu kimlik doğrulaması

Kimlik doğrulaması gerektiren MCP sunucularını Gemini ayarları JSON dosyanıza ekleyebilirsiniz.

Aşağıdaki örnekte GitHub için kişisel erişim jetonu eklenmiştir:

{
//other settings...

"github": {
  "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
  "args": ["stdio"],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
  }
},

// other settings...
}

Burada ACCESS_TOKEN, kullanıcının erişim jetonudur.

Bağlam dosyası oluşturma

Bağlam, temsilcinin belirli bir istem için daha iyi yanıtlar oluşturmasına olanak tanır. Bağlam; IDE'nizdeki dosyalardan, yerel sistem klasörlerinizdeki dosyalardan, araç yanıtlarından ve istem ayrıntılarınızdan alınabilir. Daha fazla bilgi için Aracı modu bağlamı başlıklı makaleyi inceleyin.

VS Code

  1. Bağlamın uygulanmasını istediğiniz kapsamla eşleşen bir konumda GEMINI.md adlı bir dosya oluşturun. Aşağıdaki tabloda, farklı kapsamlar için bağlam dosyalarının konumları ayrıntılı olarak açıklanmaktadır:

    Kapsam Konum
    Tüm projeleriniz ~/.gemini/GEMINI.md
    Belirli bir proje Çalışma dizininiz veya proje kökünüze (.git klasörüyle tanımlanır) ya da ana dizininize kadar olan tüm üst dizinler.
    Bir projenin belirli bir bileşeni, modülü veya alt bölümü Çalışma dizininizin alt dizinleri.

    Aracının bellek sistemi, birden fazla konumdaki bağlam dosyaları yüklenerek oluşturulur. Daha spesifik dosyalardaki (ör. belirli bileşenler veya modüller için olanlar) bağlam, ~/.gemini/GEMINI.md konumundaki genel bağlam dosyası gibi daha genel bağlam dosyalarındaki içeriği geçersiz kılar veya tamamlar.

  2. Aracının kullanmasını istediğiniz tüm kuralları, stil kılavuzu bilgilerini veya bağlamı Markdown biçiminde yazın ve dosyayı kaydedin. Daha fazla bilgi için GitHub'daki örnek bağlam dosyasına bakın.

IntelliJ

Bu özellik, IntelliJ için Gemini Code Assist'te veya diğer JetBrains IDE'lerinde desteklenmez.

Komutları kullanma

Eğik çizgi / komutları, terminal penceresindeki komutlara benzer komutları hızlıca çalıştırmanıza olanak tanır.

Aracı modunda aşağıdaki Gemini CLI komutlarını kullanabilirsiniz:

  • /tools: Temsilci modu oturumunuzda kullanılabilen araçların listesini gösterir. Alt komutlar arasında şunlar yer alır:
    • desc veya descriptions: Her aracın ayrıntılı açıklamalarını gösterir.
    • nodesc veya nodescriptions: Araç açıklamalarını gizler ve yalnızca araç adlarını gösterir.
  • /memory: Aracıya GEMINI.md dosyalarından yüklenen talimat bağlamını yönetir. Alt komutlar arasında şunlar yer alır:
    • show: Tüm kullanılabilir GEMINI.md dosyalarından yüklenen mevcut belleğin birleştirilmiş tam içeriğini gösterir.
    • refresh: Anıyı, mevcut konumlardaki tüm GEMINI.md dosyalarından yeniden yükler. GEMINI.md dosyalarının aracının hiyerarşik belleğine nasıl katkıda bulunduğu hakkında bilgi edinmek için Gemini CLI Yapılandırma belgelerine bakın.
  • /mcp: Yapılandırılmış Model Context Protocol (MCP) sunucularını, bağlantı durumlarını, sunucu ayrıntılarını ve kullanılabilir araçları listeler. Alt komutlar arasında şunlar yer alır:
    • desc veya descriptions: MCP sunucularının ve araçlarının ayrıntılı açıklamalarını gösterir.
    • nodesc veya nodescriptions: MCP sunucusu açıklamalarını gizler ve yalnızca MCP sunucusu adlarını gösterir.
    • schema: MCP sunucusunun yapılandırılmış parametrelerinin tam JSON şemasını gösterir.
  • /stats: Ayrıntılı temsilci modu oturum istatistiklerini ve süresini gösterir.

Gemini KSA komutları hakkında daha fazla bilgi için Gemini KSA Komutları başlıklı makaleyi inceleyin. Tüm Gemini CLI komutlarının aracı modunda kullanılamadığını unutmayın.

Aracı işlemlerine her zaman izin ver

Tüm aracı işlemlerine otomatik olarak izin verebilirsiniz.

Tüm aracı işlemlerine otomatik olarak izin vermek için:

  1. VS Code kullanıcı ayarları JSON dosyanızı açın:

    1. Komut paletini (ctrl/command + Shift + P) açın.
    2. Preferences: Open User Settings (JSON)'ı (Tercihler: Kullanıcı Ayarlarını Aç (JSON)) seçin.
  2. VS Code kullanıcı ayarları JSON dosyanıza aşağıdakileri ekleyin:

    //other settings...
    
    "geminicodeassist.agentYoloMode": "true",
    //other settings...
    
  3. Komut paletini açın ve Developer: Reload Window'u (Geliştirici: Pencereyi Yeniden Yükle) seçin.

Temsilci modu, yolo modunu kullanır ve istem gönderdiğinizde işlem yapmadan önce izin istemez.

Gemini CLI uzantıları oluşturma

Gemini Code Assist aracı modu işlevlerini yapılandırmak ve genişletmek için Gemini CLI uzantılarını kullanabilirsiniz.

Temsilci, uzantıları iki konumda arar:

  • WORKSPACE/.gemini/extensions, mevcut çalışma alanınızdır.WORKSPACE
  • ~/.gemini/extensions (burada ~, ana dizininizdir).

Aracı, her iki konumdaki tüm uzantıları yükler ancak her ikisinde de aynı ada sahip bir uzantı varsa çalışma alanı dizinindeki uzantı öncelikli olur. Her uzantı, gemini-extension.json dosyası içeren bir dizindir. Bu dosya, uzantının yapılandırmasını içerir.

Daha fazla bilgi için Gemini KSA uzantıları başlıklı makaleyi inceleyin.

Ek istemler

Aşağıdaki istemleri kendi bilgilerinizle deneyin:

  • "Bu depo ne işe yarar? Mimarinin nasıl çalıştığını anlamama yardımcı ol."
  • "Bu [sınıf/işlev] ne işe yarar?"
  • "Bu kod tabanına bir özellik ekle: "[link-or-path-to-codebase]"."
  • "[A] ve [B] işlevlerini, ortak [C] yöntemini kullanacak şekilde yeniden düzenle."
  • "Fix the GitHub issue [link-to-github-issue]." ([GitHub sorununa bağlantı] GitHub sorununu düzelt.)
  • "Kullanıcının [ortam] içinde [görev] yapmasına olanak tanıyan bir kullanıcı arayüzüyle [amaç] için bir uygulama oluştur."
  • "Bu depodaki kitaplık sürümlerini [X] sürümünden [Y] sürümüne taşı."
  • "Bu Go kodunun performansını, daha hızlı çalışacak şekilde optimize et."
  • "Bu özelliği geliştirmek için [name-of-API] API'sini kullanın."
  • "[X], [Y] ve [Z] işlemlerini yapacak bir algoritma uygula."

Sırada ne var?