Gemini Code Assist aracı modunu 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.

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üzenleyip onaylayarak aracının davranışını kontrol edin.

Sınırlamalar

Standart Gemini Code Assist sohbetinin bazı özellikleri aracı modunda kullanılamayabilir veya standart sohbetten farklı şekilde çalışabilir.

Okuma özelliği, temsilci modunda kullanılamaz. Gemini, aracı modundayken kaynak belirtmez ve alıntılanan kaynaklarla eşleşen kod önerilerini devre dışı bırakamazsınız.

Başlamadan önce

  1. IDE'nizde kullanmak istediğiniz Gemini Code Assist sürümünü ayarlayın:

Temsilci Modu'nu kullan

Temsilci 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.

Ajan 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. Temsilci moduna girmek için Temsilci açma/kapatma düğmesini tıklayın. Açma/kapatma düğmesi, temsilci moduna geçildiğinde 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.

Temsilciyi 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.

IntelliJ

  1. Araç penceresi çubuğunda spark Gemini'ı tıklayın. İstendiğinde oturum açın.
  2. Aracı sekmesini seçin.
  3. Temsilcinin yapmasını istediğiniz görevi açıklayın.
  4. Temsilci, görevi tamamlamak için gerekli adımları uygularken değişiklikleri inceleyip onaylayabilirsiniz.

  5. İsteğe bağlı: Değişiklikleri otomatik olarak onaylamak için ayarlar aracı seçenekleri'ni seçin ve Değişiklikleri otomatik olarak onayla'nın yanındaki onay kutusunu tıklayın.

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

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

Yerleşik araç kullanımını kontrol etme

Ajan modu; dosya arama, dosya okuma, dosya yazma, terminal komutları gibi yerleşik araçlarınıza erişebilir.

VS Code

Aracı modunda Gemini'ın hangi araçlara erişebileceğini kontrol etmek için coreTools ve excludeTools ayarlarını kullanabilirsiniz.

coreTools
Modelin kullanabilmesini istediğiniz araçların listesini belirtmenize olanak tanır. Ayrıca, destekleyen araçlar için komuta özgü kısıtlamalar da belirtebilirsiniz. Örneğin, Gemini ayarları JSON'unuza aşağıdakileri eklediğinizde yalnızca ls -l kabuk komutunun yürütülmesine izin verilir:"coreTools": ["ShellTool(ls -l)"].
excludeTools
Modele sunulmasını istemediğiniz araçların listesini belirtmenize olanak tanır. Ayrıca, destekleyen araçlar için komuta özgü kısıtlamalar da belirtebilirsiniz. Örneğin, Gemini ayarları JSON'ınıza aşağıdakileri eklediğinizde rm -rf komutunun kullanımı engellenir: "excludeTools": ["ShellTool(rm -rf)"].

Hem excludeTools hem de coreTools listesinde yer alan bir araç hariç tutulur.

Temsilci modunda kullanılabilen yerleşik araçları yapılandırmak için aşağıdakileri yapın:

  1. ~/.gemini/settings.json konumundaki Gemini ayarları JSON dosyanızı açın. ~, ana dizininizdir.
  2. Aracı, onaylanmış araçlar listesiyle sınırlamak için Gemini ayarları JSON'unuza aşağıdaki satırı ekleyin:

    "coreTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    TOOL_NAME_1 ve TOOL_NAME_2 yerine, aracının erişmesini istediğiniz yerleşik araçların adlarını yazın.

    İstediğiniz sayıda yerleşik aracı listeleyebilirsiniz. Varsayılan olarak, tüm yerleşik araçlar temsilci tarafından kullanılabilir.

  3. Aracı belirli araç komutlarıyla sınırlamak için Gemini ayarları JSON'unuza aşağıdaki satırı ekleyin:

    "coreTools": ["TOOL_NAME(COMMAND)"]
    

    Aşağıdakini değiştirin:

    • TOOL_NAME: yerleşik aracın adı
    • COMMAND: Aracının kullanabilmesini istediğiniz yerleşik araç komutunun adı.
  4. Bir aracı temsilci kullanımının dışında tutmak için Gemini ayarları JSON'unuza aşağıdaki satırı ekleyin:

    "excludeTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    TOOL_NAME_1 ve TOOL_NAME_2 simgelerini, ajan kullanımının dışında tutmak istediğiniz yerleşik araçların adlarıyla değiştirin.

  5. Bir araç komutunu aracı kullanımının dışında bırakmak için Gemini ayarları JSON'ınıza aşağıdaki satırı ekleyin:

    "excludeTools": ["TOOL_NAME(COMMAND)"]
    

    Aşağıdakini değiştirin:

    • TOOL_NAME: yerleşik aracın adı
    • COMMAND: Temsilci kullanımından hariç tutmak istediğiniz yerleşik araç komutunun adı.

coreTools ve excludeTools yapılandırma ayarları hakkında daha fazla bilgi için Gemini CLI yapılandırma belgelerine bakın.

IntelliJ

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

MCP sunucularını yapılandırma

Aşağıdaki talimatlarda, MCP sunucularının IDE'nizde aracı modunda nasıl kullanılabilir hale getirileceği açıklanmaktadır. Bir MCP sunucusunu kullanılabilir hale getirdikten sonra, Gemini Code Assist bu MCP sunucusunda bulunan sunucu araçlarını ne zaman ve nasıl kullanacağına otomatik olarak karar verir.

VS Code

MCP sunucularının aracı modunda kullanılabilmesi için her sunucunun yapılandırmasını, her sunucunun belgelerine göre Gemini ayarları JSON dosyanıza ekleyin.

  1. Eklediğiniz MCP sunucularının gerektirdiği bağımlılıkları yükleyin.
  2. ~/.gemini/settings.json konumundaki Gemini ayarları JSON dosyanızı açın. Burada ~, ana dizininizdir.
  3. Gemini ayarları JSON dosyasında her bir yerel veya uzak MCP sunucusunu, her sunucunun talimatlarına göre yapılandırın.

    Aşağıdaki örnek Gemini ayarları JSON dosyası, VS Code'da Gemini Code Assist ile kullanılmak üzere iki uzak Cloudflare MCP sunucusu, bir uzak GitLab MCP sunucusu ve bir yerel GitHub MCP sunucusu yapılandırır.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"]
        },
        "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ı, temsilcinin temsilci modunda kullanabileceği şekilde kullanılabilir.

IntelliJ

MCP sunucularının aracı modunda kullanılabilmesi için her sunucunun yapılandırmasını bir mcp.json dosyasına ekleyin ve mcp.json dosyasını IDE'nizin yapılandırma dizinine yerleştirin.

  1. Eklediğiniz MCP sunucularının gerektirdiği bağımlılıkları yükleyin.
  2. IDE'nizin yapılandırma dizininde mcp.json adlı bir dosya oluşturun.
  3. mcp.json dosyasındaki her yerel veya uzak MCP sunucusunu, her sunucunun talimatlarına göre yapılandırın.

    Aşağıdaki örnek mcp.json dosyası, IntelliJ'de Gemini Code Assist ile kullanılmak üzere iki uzak Cloudflare MCP sunucusu, bir uzak GitLab MCP sunucusu ve bir yerel GitHub MCP sunucusu yapılandırır.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"]
        },
        "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"]
        }
      }
    }
    

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

MCP sunucusu kimlik doğrulaması

Bazı MCP sunucuları kimlik doğrulama gerektirir. Gerekli kullanıcı jetonlarını oluşturmak için sunucu belgelerini inceleyin ve ardından bunları uygun şekilde belirtin. Genellikle, yerel sunucular için kimlik doğrulama jetonlarını uygun sunucuya özel ortam değişkenini kullanarak, uzak sunucular için kimlik doğrulama jetonlarını ise HTTP Authorization üstbilgisini kullanarak belirtirsiniz.

VS Code

Kimlik doğrulama gerektiren MCP sunucularını Gemini ayarları JSON'unuza ekleyebilirsiniz.

Aşağıdaki örnekte, GitHub'ın yerel ve uzak MCP sunucuları için kişisel erişim jetonunun nasıl belirtileceği gösterilmektedir:

{
  "mcpServers": {
    "github-remote": {
      "httpUrl": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ACCESS_TOKEN"
      }
    },
    "github-local": {
      "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
      }
    }
  }
}

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

IntelliJ

Kimlik doğrulama gerektiren MCP sunucularını mcp.json dosyanıza ekleyebilirsiniz.

Aşağıdaki örnekte, GitHub yerel sunucusu için kişisel erişim jetonu eklenmektedir:

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

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

Bağlam dosyası oluşturma

Bağlam, bir 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.

Aracı, bağlam dosyanızdaki bilgileri ve kendisine gönderdiğiniz tüm istemleri içerir.

IntelliJ

  1. Projenizin kök dizininde GEMINI.md veya AGENT.md adlı bir dosya oluşturun.

  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.

Aracı, bağlam dosyanızdaki bilgileri ve kendisine gönderdiğiniz tüm istemleri içerir. Ayrıca, @FILENAME söz dizimini kullanarak dosyayı manuel olarak ekleyerek de bağlam bilgisi ekleyebilirsiniz. Burada FILENAME, dahil etmek istediğiniz bağlamsal bilgileri içeren dosyanın adıdır.

Komutları kullanma

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

VS Code

Ajan modunda aşağıdaki yerleşik Gemini CLI komutlarını kullanabilirsiniz:

  • /tools: Temsilci modu oturumunuzda kullanılabilen araçların listesini gösterir.
  • /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.

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

IntelliJ

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

Ajan 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:

VS Code

Tüm aracı işlemlerine otomatik olarak izin vermek için yolo modunu kullanın. Yolo modu yalnızca güvenilir bir çalışma alanında kullanılabilir.

Yolo modunu yapılandırmak 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. Kısıtlanmış bir çalışma alanı kullanırken ajan, bu ayardan bağımsız olarak işlem yapmadan önce istemde bulunur.

IntelliJ

Değişiklikleri otomatik olarak onaylamak için Gemini ile etkileşim aracısı sekmesinde ayarlar Aracı seçenekleri'ni seçin ve ardından Değişiklikleri otomatik olarak onayla'nın yanındaki onay kutusunu tıklayın.

Aracı modu, tüm istekleri otomatik olarak onaylar ve istem gönderdiğinizde işlem yapmadan önce izin istemez.

Ek istemler

Aşağıdaki istemleri kendi bilgilerinizle denemeyi deneyin:

  • "Bu depo ne işe yarar? Mimarinin nasıl olduğunu 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."
  • "GitHub sorununu düzelt [link-to-github-issue]."
  • "Kullanıcının [ortam] içinde [görev] yapmasına olanak tanıyan bir kullanıcı arayüzüyle [hedef] 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."

İsteğe bağlı: API anahtarı kullanma

Gemini Code Assist, bulunduğunuz katmana bağlı olarak, agent özellikler için farklı günlük kotalar içerir.

Gemini Code Assist'in aracı modunda günlük kotanızı tükettiyseniz API anahtarı sağlayarak hizmeti kullanmaya devam edebilirsiniz. Gemini API anahtarı veya Vertex AI API anahtarı kullanabilirsiniz.

API anahtarınızı eklemek için:

  1. IDE'nizin ayarlarına gidin.

  2. settings.json dosyasını açın.

  3. Aşağıdaki satırı ekleyin ve YOUR_KEY kısmını API anahtarınızla değiştirin:

    "geminicodeassist.geminiApiKey": "YOUR_KEY"

Sırada ne var?