Projeler

VS2026 Copilot Mocking Extension

Copilot davranışlarını simüle etmek, yapay zeka destekli geliştirme iş akışlarını daha akıcı hale getirmek ve doğrudan IDE içerisinde geliştirici üretkenliğini artırmak amacıyla geliştirilmiş özel bir Visual Studio 2026 eklentisi.

·3 dk okuma
C#Visual Studio SDKVSIX.NET 8

Projenin Amacı

Visual Studio 2026 ile birlikte gelen GitHub Copilot entegrasyonu, yazılım geliştirme süreçlerini köklü biçimde değiştirdi. Ancak kurumsal ortamlarda Copilot davranışlarını test etmek, demo hazırlamak veya eğitim materyalleri oluşturmak için gerçek API'ye bağımlılık ciddi bir kısıt oluşturuyordu.

Bu eklenti, Copilot'un inline suggestion, chat panel ve completions davranışlarını tamamen lokal olarak simüle eder; böylece geliştiriciler internete bağlı olmadan bile AI destekli iş akışlarını deneyimleyebilir.

Teknik Mimari

Eklenti, Visual Studio 2026 Extensibility Model (VisX) üzerine inşa edilmiştir:

  • VSIX Package: Extension manifest, MEF bileşenleri ve komut tanımları
  • .NET 8 Runtime: Eklenti iş mantığı ve simülasyon motoru
  • Visual Studio SDK: Editor API'leri, IntelliSense hooks ve tool window entegrasyonları
  • Mock Engine: Önceden tanımlanmış veya kullanıcı tarafından yapılandırılmış yanıt şablonları
public class CopilotMockProvider : ICompletionProvider
{
    private readonly MockResponseEngine _engine;
 
    public CopilotMockProvider(MockResponseEngine engine)
    {
        _engine = engine;
    }
 
    public async Task<CompletionResult> GetCompletionAsync(
        CompletionContext context,
        CancellationToken cancellationToken)
    {
        var mockResponse = await _engine.GenerateAsync(
            context.DocumentText,
            context.CursorPosition
        );
 
        return new CompletionResult
        {
            Suggestions = mockResponse.Suggestions,
            Confidence = mockResponse.Confidence
        };
    }
}

Temel Özellikler

1. Inline Suggestion Simülasyonu

Editörde kod yazarken gerçek Copilot deneyimini taklit eden gri tonlu inline öneriler gösterir. Kullanıcı Tab ile kabul edebilir veya Esc ile reddedebilir.

2. Yapılandırılabilir Yanıt Şablonları

JSON tabanlı yapılandırma dosyaları ile farklı senaryolar için önceden hazırlanmış yanıtlar tanımlanabilir:

{
  "triggerPattern": "public async Task",
  "suggestions": [
    "// TODO: Implement business logic",
    "var result = await _service.ProcessAsync(request);",
    "return Ok(result);"
  ],
  "delay": 350,
  "confidence": 0.92
}

3. Gecikme Simülasyonu

Gerçekçi bir deneyim için yapılandırılabilir gecikme süreleri eklenebilir. Bu sayede demo ve eğitimlerde doğal bir AI yanıt hissi oluşturulur.

4. Metrik Dashboard

Tool window üzerinden kaç öneri gösterildiği, kabul/red oranları ve ortalama yanıt süreleri gibi metrikleri canlı olarak izlenebilir.

Kullanım Senaryoları

SenaryoAçıklama
Kurumsal Demoİnternet bağlantısı olmayan veya kısıtlı ortamlarda Copilot yeteneklerini sergilemek
EğitimYeni başlayan geliştiricilere AI destekli kodlamanın nasıl çalıştığını göstermek
Test & QAExtension geliştirirken Copilot entegrasyonunu simüle ederek test etmek
Offline Geliştirmeİnternet erişimi olmayan ortamlarda üretkenliği artırmak

Geliştirme Süreci

Proje, Clean Architecture prensiplerine uygun olarak katmanlı bir yapıda geliştirildi:

  1. Core Layer: Domain modelleri ve arayüzler
  2. Infrastructure Layer: VS SDK entegrasyonları ve dosya sistemi işlemleri
  3. Presentation Layer: Tool window ve UI bileşenleri
  4. Tests: xUnit tabanlı birim testler ve entegrasyon testleri

Sonuç

Bu eklenti, Copilot'un getirdiği üretkenlik artışını offline ortamlarda da deneyimlenebilir kılıyor. Özellikle kurumsal güvenlik politikaları nedeniyle AI araçlarına doğrudan erişemeyen ekipler için değerli bir alternatif sunuyor.

0
ME

Muhammed Emin Özdemir

Kurumsal sistemlerde uzmanlaşmış Senior Software Developer. Temiz kod, ölçeklenebilir mimariler ve modern UI/UX üzerine odaklanıyor.

Hakkımda daha fazlası →