Altbilgi içeriğine atla
Iron Academy Logo
C# Uygulaması
C# Uygulaması

Diğer Kategoriler

Renkler ve Tarzlar ve Yeniden Kullanılabilirlik - Spectre Console Serisi

Tim Corey
9m 57s

Spectre Console, geliştiricilerin sade konsol uygulamalarını görsel olarak zengin deneyimlere dönüştürmesine olanak tanıyan güçlü bir NuGet paketidir. Spectre Console renklerini, metin süslemelerini ve yeniden kullanılabilir stilleri birleştirerek, sıradan konsol çıktısını bilgilendirici ve düzgün bir hale getirebilirsiniz.

Tim Corey, videosu "Colors and Styles and Reusability – Spectre Console Series" ile bunu tam olarak nasıl yapacağınızı anlatıyor. Bu makalede, Tim'in yaptığı aynı noktaları adım adım inceleyeceğiz ve izleyebilmeniz için zaman damgalarını belirteceğiz. Bu, renklerin nasıl oluşturulacağını ve özelleştirileceğini, bir stil sınıfını ve hatta tekrar kullanım için yeni bir stil oluşturmayı anlamanın harika bir yoludur.

Spectre Console Biçimlendirmeye Giriş

Tim, 0:00'da Spectre Console'un "konsol uygulamalarınızı görsel olarak çekici ve bilgilendirici uygulamalara dönüştürmenize olanak tanıdığını" açıklıyor. Bu serinin kütüphaneyi küçük parçalara böldüğünü ve böylece geliştiricilerin her seferinde tek bir özelliğe odaklanabileceğini belirtiyor.

Açıklamada kaynak kodu bağlantısına dikkat çeker ve kullanıcıları kanalına abone olmaya davet eder. Bu ders, konsol çıktısında biçimlendirilmiş metni nasıl ayarlayacağınızı ve geri döndüreceğinizi ve bu biçimleri programınız boyunca yeniden kullanılabilir hale nasıl getireceğinizi odaklar.

Satır İçi İşlemler ve İşaretleme Satırı Kullanma

0:36'da Tim, AnsiConsole.MarkupLine ve AnsiConsole.Markup'u göstererek başlıyor. Bu yöntemler, renkler ve süslemeleri doğrudan string temsilinize yerleştirme olanağı sağlıyor.

Tim'in 0:51'de açıkladığı gibi, Markup otomatik olarak yeni bir satır eklemezken, MarkupLine bunu yapar—"Bu, Console.Write ve WriteLine gibidir." Bu fark, birden fazla öğeyi veya bir listeyi ayrı satırlarda göstermek istediğinizde önemlidir.

O, [red]Bu, satır içi işaretlemedir[/] yazar ve kırmızı bir dize göstermek için çalıştırır. Sonra, 1:38'de, kullanıcıların beyaz bir arka plan üzerinde kırmızı metni görebilmeleri için ön plan ve arka plan renklerini—"Beyaz Üzerinde Kırmızı"—gösterir. 2:05'e kadar, kalın yazı ekliyor.

Tim, 2:18'de satır içi işaretlemenin küçük işlemler için hızlı ve kolay olduğunu, ancak daha yapısal veya tekrar kullanılabilir stillendirme gerekli olduğunda "kalan her şey için gerçekten iyi olmadığını" belirtiyor.

Spectre Console Colors Styles Reusability 1 related to Satır İçi İşlemler ve İşaretleme Satırı Kullanma

Ön Tanımlı Stil Sınıfı Oluşturma

2:32'de, Tim bir stil sınıfının yeniden kullanım için yeni bir örneğini nasıl oluşturacağını gösteriyor. Şöyle yazar:

var dangerStyle = new Style(
    foreground: Color.Red,
    background: Color.White,
    decoration: Decoration.Bold);
var dangerStyle = new Style(
    foreground: Color.Red,
    background: Color.White,
    decoration: Decoration.Bold);

Burada Tim, kırmızı ön plan, beyaz arka plan ve kalın süslemeye sahip yeni bir stil içeren dangerStyle adlı bir değişken atıyor. 3:26'da, her argümanı doldurmak zorunda olmadığını; sadece ön planı veya sadece süslemeyi ihtiyaçınıza göre seçebileceğinizi de belirtiyor.

Bu sınıf tabanlı yaklaşım, stilinizi bir yerde güncelleme ve metni nerede render ettiğinizden bağımsız olarak tutarlı bir şekilde uygulama olanağı verir; bu sayede işaretleme etiketlerini tekrarlamak zorunda kalmazsınız.

Yeni İşaretleme ile Stil Uygulama

Saat 3:48'de, Tim bu tarzı nasıl uygulayacağını gösteriyor. Çünkü AnsiConsole.WriteLine doğrudan stilleri kabul etmiyor, yeni bir işaretleme nesnesiyle AnsiConsole.Write kullanmanız gerekmektedir:

AnsiConsole.Write(
    new Markup("Danger text from style", dangerStyle));
AnsiConsole.Write(
    new Markup("Danger text from style", dangerStyle));

4:08'de, WriteLine'in sadece string veya basit türleri kabul ettiğini, ancak Write'ın bir IRenderable nesnesini kabul eden bir aşırı yüklemeye sahip olduğunu açıklar. Bu yüzden stilinizi yeni işaretlemeye geçirirsiniz ve ardından yazarsınız.

Tim, saat 4:45'te bu söz diziminin "biraz daha fazla iş" olduğunu belirtiyor, ancak stil verilmiş metni görüntülemenin resmi yolu bu. Sık sık bunu yapıyorsanız, bunu basitleştirmek için kendi yönteminizi oluşturmayı bile öneriyor.

Spectre Console Colors Styles Reusability 2 related to Yeni İşaretleme ile Stil Uygulama

Satır Sonları ve İmleç Yerleşimini Yönetme

Kodu çalıştırdıktan sonra Tim, 5:44'te imlecin stil uygulanmış metinle aynı satırda durduğunu belirtiyor. Bu, Write'ın yeni bir satır eklememesindendir. 6:07'de, metin içinde \n ekleyerek bunun nasıl düzeltileceğini gösteriyor, bu da imleci aşağı taşır.

Bu küçük numara, çıktınızın beklentinize uygun olmasını sağlar—kullanıcı girdisinin veya verinin stilize bir istemin ardından geldiği daha büyük konsol uygulamaları oluştururken önemlidir.

Birden Fazla Süsleme Ekleme

Tim sonraki aşamada süslemeleri birleştirmeyi gösteriyor. Saat 6:27'de, "Ya birden fazla dekorasyon uygulamak isterseniz?" diyor. Örneğin italik de eklemek istediğinizi varsayalım. Süslemeleri birbirinden ayırmak için tek bir dikey çizgi karakterini kullanarak bunu yapabilirsiniz.

Size uzun bir dekorasyon listesinden seçim yapabileceğinizi gösteriyor—kalın, italik, üstü çizili, altı çizili, soluk, ters, yanıp sönme—ve hatta Windows PowerShell ve Windows Terminal desteğinden 7:05'te bahsediyor. Şu anda, yavaş yanıp sönme ve hızlı yanıp sönme Windows Terminal'de aynı görünüyor.

07:29'a kadar kodu tekrar çalıştırır ve kalın stiline ek olarak italik stil uygulandığını gösterir. "Bunları istediğiniz gibi karıştırıp eşleştirebilirsiniz," diye Tim saat 7:49'da, tekrar tekrar uygulayabileceğiniz stiller oluşturarak söylüyor.

Bu, hataları kırmızı, başarı mesajlarını yeşil, uyarıları sarı, veya özel etiketleri mavi, mor, orkide ya da hatta bordo renkle vurgulamak istediğinizde güçlü bir özelliktir—Spectre Console tam RGB renk setini destekler.

Satır İçi ve Ön Ayar Stillerini Karıştırma

08:02'de Tim, farklı stillerle yazma ve yazma işlemlerini nasıl birleştireceğini gösteriyor. AnsiConsole.Write metodunu birden fazla kez çağırabilirsiniz—önce stil verilmiş metninizle, ardından stilsiz veya farklı stil verilmiş metinle—bir satırın sadece bir kısmını vurgulamak için. O gösteriyor:

AnsiConsole.Write(new Markup("Danger text", dangerStyle));
AnsiConsole.WriteLine(" and more");
AnsiConsole.Write(new Markup("Danger text", dangerStyle));
AnsiConsole.WriteLine(" and more");

Tim'in 8:37'de açıkladığı gibi, bu yüzden Write yerine WriteLine kullanılır: yalnızca metninizin bir kısmını vurgulamak isteyebilirsiniz, ardından normal stile geri dönebilirsiniz.

Spectre Console Colors Styles Reusability 3 related to Satır İçi ve Ön Ayar Stillerini Karıştırma

Bu işlev, bir tablo veri seti, uzun süren çalışmalar için bir ilerleme çubuğu ya da birden fazla sütun içeren bir panel gibi bileşik bir çıktı oluşturmanıza esnek bir yol sunar ve yalnızca belirli unsurlara veya etiketlere stil uygulamanıza olanak tanır.

Sonuç – Seçenekleriniz

9:01 itibarıyla, Tim seçenekleri özetliyor:

  • Hızlı biçimlendirme için [color]text[/] ile satır içi stil kullanın ve Markup veya MarkupLine kullanın.

  • Veya yeni bir Style() ile yeni bir stil oluşturabilir ve AnsiConsole.Write çağrıldığında bunu Markup nesnelerine uygulayabilirsiniz.

Tim, izleyicileri 9:26'da "farklı renkler, arka planlar, süslemeler ve diğer her şeyle denemeler yapmalarını" teşvik ediyor. Bu, stillendirilmiş başlıklara sahip yeni tablolar oluşturmayı, dosyaları veya öğe dizilerini işlerken güncellenen bir ilerleme çubuğu eklemeyi veya hatta JSON verilerini stillendirilmiş bir gösterime dönüştürmeyi içerir.

O, 9:33'te izleyicilere teşekkür ederek ve Tim Corey olduğunu hatırlatarak kapatıyor. Bu seri, Patrik Svensson tarafından oluşturulan ve Phil Scott gibi geliştiricilerin katkıda bulunduğu Spectre Console kütüphanesine dayanmaktadır. Tim'in videoları, özelliklerini hızlıca öğrenmenize yardımcı olur.

Sonuç

Tim Corey'nin videosu, Spectre Console'un sıradan konsol uygulamalarını nasıl görsel olarak çekici hale getirdiğini açıkça gösteriyor. Satır içi işaretlemeden tam kullanılabilir stil sınıflarına kadar, metnin rengini ve arka plan rengini, metin süslemelerini ve imleç yerleşimini nasıl kontrol edeceğinizi adım adım anlatır.

Tim'in yukarıdaki zaman damgalarıyla verilen örneklerini takip ederseniz, kendi konsol uygulamalarınıza kısa sürede profesyonel görünümlü stiller ekleyebilirsiniz—sözdizimini tahmin etmeden. Ve bir kez değişkenleri atamayı, dekorasyonları eklemeyi ve stilize edilmiş metni rendere etmeyi öğrendiğinizde, bu becerileri Spectre Console'un sunduğu tablolar, paneller, ilerleme çubukları ve diğer özellikler geliştirmek için kolayca genişletebilirsiniz.

Tim'in dediği gibi, "Onları deneyin... ve hangisini beğendiğinizi görün."

Hero Worlddot related to Renkler ve Tarzlar ve Yeniden Kullanılabilirlik - Spectre Console Serisi
Hero Affiliate related to Renkler ve Tarzlar ve Yeniden Kullanılabilirlik - Spectre Console Serisi

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js üzerinde çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara