Alıştırma - Kodu otomatik tamamlama için Copilot kullanma

Tamamlandı

Copilot ile geliştirirken kodunuzu daha hızlı tamamlamanıza yardımcı olabileceğini göreceksiniz. Copilot, yazdığınız kodu otomatik olarak tamamlayabilir ve ihtiyacınız olabilecek kodu önerebilir. Bu alıştırmada, Trie projesinde yeni yöntemler oluşturmak için Copilot kullanacaksınız. Haydi başlayalım!

Kodu otomatik tamamlama için Copilot kullanma

  1. Trie.cs dosyasını açma

  2. Trie oluşturucusunun arkasına yeni bir satır girin ve aşağıdaki kodu girin:

    // Search for a word in the trie
    public bool Search(string word) 
    {
    
  3. Copilot'un kod oluşturmasını bekleyin.

    Copilot aşağıdaki kod bloğuna benzer bir kod önerebilir:

    // Search for a word in the trie
    public bool Search(string word)
    {
        TrieNode current = root;
        foreach (char c in word)
        {
            if (!current.HasChild(c))
            {
                return false;
            }
            current = current.Children[c];
        }
        return current.IsEndOfWord;
    }
    
  4. Sekme tuşuna basın veya kod önerisini uygulamak için Kabul Et'e tıklayın.

  5. AutoSuggest yöntemine gidin.

    Bu yöntem, eksik olan başka bir yöntem GetAllWordsWithPrefix dayanır. Bu yöntemi oluşturmak için Copilot kullanabilirsiniz.

  6. GetAllWordsWithPrefix yöntemine gidin ve return deyimini kaldırın;

    private List<string> GetAllWordsWithPrefix(TrieNode root, string prefix)
    {
    
    }
    
  7. Copilot'un kod oluşturmasını bekleyin.

    Return deyimini kaldırdığınızda Copilot otomatik olarak kod önermelidir. Aksi takdirde aşağıdakileri girmeyi deneyebilirsiniz: List<string> words = ve Copilot kodu tamamlamalıdır.

    Copilot aşağıdaki kod bloğuna benzer bir kod önerebilir:

    private List<string> GetAllWordsWithPrefix(TrieNode node, string prefix)
    {
        List<string> words = new List<string>();
    
        if (node.IsEndOfWord)
        {
            words.Add(prefix);
        }
    
        foreach (var child in node.Children)
        {
            words.AddRange(GetAllWordsWithPrefix(child.Value, prefix + child.Key));
        }
    
        return words;
    }
    
  8. Sekme tuşuna basın veya kod önerisini uygulamak için Kabul Et'e tıklayın.

Çalışmanızı kontrol edin

Bu görevde, Copilot ile oluşturduğunuz yöntemleri test eder ve beklendiği gibi çalıştıklarını doğrularsınız.

  1. Program.cs dosyasını açın.

  2. SearchWord yöntemi çağrısının yorumunu kaldırın.

    Trie dictionary = InitializeTrie(words);
    SearchWord();
    // PrefixAutocomplete();
    // DeleteWord();
    // GetSpellingSuggestions();
    
  3. SearchWord() metoduna gidin ve aşağıdaki kod bloğunun yorum satırlarını kaldırın.

    /*
    if (input != null && dictionary.Search(input))
    {
        Console.WriteLine($"Found \"{input}\" in dictionary");
    }
    */
    
  4. Dosya gezgininde, Program.cs dosyasına sağ tıklayın ve Tümleşik Terminalde Aç'a tıklayın

  5. Programı çalıştırmak için dotnet run girin.

  6. Aramak için "takip" veya "fasulye" gibi bir sözcük girin

  7. Çıkışınızın aşağıdakine benzer olduğunu doğrulayın

    Enter a word to search for, or press Enter to exit.
    follows
    Found "follows" in dictionary
    Enter a word to search for, or press Enter to exit.
    beans
    Did not find "beans" in dictionary
    Enter a word to search for, or press Enter to exit.
    

    Kodunuz farklı sonuçlar görüntülüyorsa, hatanızı bulmak ve güncelleştirmeler yapmak için kodunuzu gözden geçirin. Sorunu düzeltip düzeltmediğinize bakmak için kodu yeniden çalıştırın. Kodunuz beklenen sonuçları elde edene kadar kodunuzu güncelleştirmeye ve çalıştırmaya devam edin.

  8. Yöntem çağrılarını yorum satırı haline getirin ve PrefixAutocomplete yöntem çağrısını açıklama satırından çıkarın.

    Trie dictionary = InitializeTrie(words);
    // SearchWord();
    PrefixAutocomplete();
    // DeleteWord();
    // GetSpellingSuggestions();
    
  9. Programı çalıştırmak için dotnet run girin.

  10. Aramak için "pl" veya "fo" gibi bir ön ek girin

    Ön eki otomatik tamamlama için Sekme tuşuna basın. Öneriler arasında geçiş yapmak için Sekme tuşuna birden çok kez basabilirsiniz. Öneriyi kabul etmek ve yeni bir sözcük başlatmak için ara çubuğuna basın.

  11. Çıkışınızın aşağıdakine benzer olduğunu doğrulayın

    The dictionary contains the following words:
    as, astronaut, asteroid, are, around, cat, cars, cares, careful, carefully, for, forgot, follows, from, front, mellow, mean, money, monday, monster, place, plan, planet, planets, plans, the, their, they, there, towards,
    
    Enter a prefix to search for, then press Tab to cycle through search results. Press Enter to exit.
    place plan forgot 
    

    Kodunuz farklı sonuçlar görüntülüyorsa, hatanızı bulmak ve güncelleştirmeler yapmak için kodunuzu gözden geçirin. Sorunu düzeltip düzeltmediğinize bakmak için kodu yeniden çalıştırın. Kodunuz beklenen sonuçları elde edene kadar kodunuzu güncelleştirmeye ve çalıştırmaya devam edin.

  12. PrefixAutocomplete yöntem çağrısına açıklama ekleyin.