Alıştırma - Kodu otomatik tamamlama için Copilot kullanma
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
Trie.cs dosyasını açma
Trieoluş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) {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; }Sekme tuşuna basın veya kod önerisini uygulamak için Kabul Et'e tıklayın.
AutoSuggestyöntemine gidin.Bu yöntem, eksik olan başka bir yöntem
GetAllWordsWithPrefixdayanır. Bu yöntemi oluşturmak için Copilot kullanabilirsiniz.GetAllWordsWithPrefixyöntemine gidin ve return deyimini kaldırın;private List<string> GetAllWordsWithPrefix(TrieNode root, string prefix) { }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; }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.
Program.cs dosyasını açın.
SearchWordyöntemi çağrısının yorumunu kaldırın.Trie dictionary = InitializeTrie(words); SearchWord(); // PrefixAutocomplete(); // DeleteWord(); // GetSpellingSuggestions();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"); } */Dosya gezgininde, Program.cs dosyasına sağ tıklayın ve Tümleşik Terminalde Aç'a tıklayın
Programı çalıştırmak için
dotnet rungirin.Aramak için "takip" veya "fasulye" gibi bir sözcük girin
Çı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.
Yöntem çağrılarını yorum satırı haline getirin ve
PrefixAutocompleteyöntem çağrısını açıklama satırından çıkarın.Trie dictionary = InitializeTrie(words); // SearchWord(); PrefixAutocomplete(); // DeleteWord(); // GetSpellingSuggestions();Programı çalıştırmak için
dotnet rungirin.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.
Çı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 forgotKodunuz 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.
PrefixAutocompleteyöntem çağrısına açıklama ekleyin.