IRONSOFTWAREHOME

Konsolunuza Tablolar Eklemek - Spectre Console Serisi

Konsolunuza Tablolar Ekleme - Spectre Konsol Serisi

Tim Corey

10m 24s

Spectre.Console, güzel konsol uygulamaları oluşturmanıza yardımcı olan güçlü bir .NET kütüphanesidir. Düz metin çıktısı yerine yapılandırılmış düzenler oluşturabilir, renkleri kullanabilir ve hatta ilerleme çubukları veya etkileşimli istemler gösterebilirsiniz. Spectre Console Serisi'nde Tim Corey, geliştiricilere bu kütüphaneden en iyi şekilde yararlanmanın küçük, pratik derslerini gösterir.

"Adding Tables to Your Console - Spectre Console Series" başlıklı videosunda Tim, Spectre.Console tablolarına odaklanıyor. Tablolar, hizalama, dolgu, kenarlıklar ve stillerle yapılandırılmış verileri görüntülemenizi sağlayan temel bir özelliktir. Tim'in yürüyüşünü daha derinlemesine incelerken bu özelliği nasıl kullanabileceğinizi tam olarak göreceğiz.

Spectre.Console ile Başlarken

Başlangıçta (0:00), Tim Spectre.Console'un görsel olarak çekici, bilgilendirici uygulamalar oluşturmanıza olanak tanıdığını açıklar. Spectre.Console adında bir NuGet paketi olarak dağıtılır. Kolayca şunu yükleyebilirsiniz:

// dotnet add package spectre console
dotnet add package Spectre.Console

Yüklendikten sonra, kütüphane, bir konsol uygulamasında bilgi sunmayı çok daha kolay hale getirir. İlgilenenler için videoda sağlanan belgelendirme ve kaynak kod bağlantılarına da işaret eder.

İlk Tabloyu Oluşturmak

Tim 0:35'da kodlamaya başlar. Bir Tablo nesnesi oluşturur:

var table = new Table();

Ardından AddColumn ile üç sütun ekler:

table.AddColumn("First Name");
table.AddColumn("Last Name");
table.AddColumn("Age");

Bu temel yapıyı oluşturur. Her sütunun daha sonra kendi genişliği, hizalaması ve tarzı olabileceğini açıklar.

Sonraki adımda AddRow ile satırlar ekler. Tim, 1:06'da üç desteklenen yol olduğunu söylüyor:

  1. IRenderable nesnelerinin bir params listesi (panel, başka bir tablo veya hatta grafikler gibi iç içe geçmiş öğeler için).

  2. Bir dize listesi (en sık kullanılan).

  3. Bir IEnumerable<IRenderable> (daha az yaygın ama mevcut).

İlk olarak ikinci seçeneği gösterir, ekleyerek:

table.AddRow("Tim", "Corey", "46");
table.AddRow("Sue", "Storm", "23");

Bu, tabloya iki satır veri ekler. Tim 3:26'da izleycilere, AnsiConsole.Write(table) (WriteLine değil) kullanmanız gerektiğini hatırlatır; terminalde bir IRenderable nesnesi olan bir tabloyu görüntülemek için:

AnsiConsole.Write(table);

Programı çalıştırdığında, konsol otomatik olarak hizalanmış bir şekilde başlıkları ve satırları ile birlikte düzenli bir tablo görüntüler. Sadece birkaç satır kodla bile Spectre, konsol çıkışını çok daha profesyonel hale getirir.

Tabloyu Hizalama ve Genişletme

4:00'da Tim, tablonun ekrandaki konumunu nasıl kontrol edeceğini gösterir. Örneğin:

table.Centered();

Bu, tüm tabloyu konsol penceresinin ortasında görüntüler. Bu ayarın tabloyu bir bütün olarak etkilediğini, sütunları etkilemediğini açıklar. Tabloyu sağa veya sola da hizalayabilirsiniz. Varsayılan soladır.

5:01'de tablo.Expand()'i gösterir ve bu tabloyu terminal penceresinin tüm genişliğini doldurmaya iter. Genişletildikten sonra, merkezi yoktur çünkü tablo şimdi mevcut tüm alanı kaplar. Varsayılan olarak bir çökük tablodur.

Kenarlık Ekleme ve Terminal Desteğini Anlama

Sonraki adımda Tim 5:21'de bir kenarlık ekler:

table.Border(TableBorder.Rounded);

Uygulamayı Visual Studio konsolunda çalıştırır ve köşelerin yuvarlak olmadığını fark eder. 5:54'te Windows Terminal'e dönüp tekrar çalıştırır — şimdi yuvarlak köşeler görünür.

Tim 5:59'da kullanmakta olduğunuz terminalin işleme yeteneklerine bağlı olduğunu açıklar. Altta yatan kabuk sadece çıkış sağlar, ancak terminal hangi stilleri gösterebileceğini belirler. Windows Terminal yuvarlak kenarlık karakterlerini destekler; Visual Studio'nun entegre konsolu böyle değildir. Aynı durum renklere, işaretlemeye veya ekleyebileceğiniz kursif, alt çizgi veya kalın metin stillerine de uygulanır.

7:01'de Visual Studio dışında, doğru renderlanışını gösterir çünkü farklı bir terminal kullanmaktadır. Spectre özelliklerini, örneğin ilerleme çubukları, uzun süre çalışan görevler veya tablolar deniyorsanız, aklınızda bulundurmanız gereken önemli bir noktadır: Tüm terminaller her stili görüntüleyemez.

Satır Ayırıcıları Ekleme

Tim, satırlar arasında ayırıcılar gösterebileceğinizi de belirtir:

table.ShowRowSeparators();

Bu, her satır arasına yatay bir çizgi çizer, bu da bilgi taramasını daha büyük tablolarda kolaylaştırabilir — özellikle çok fazla çıktı veya args'ı dinamik olarak işleyen CLI araçları oluşturduğunuz zaman.

Sütun Seviyesinde Stil: Dolgular, Genişlik, Hizalama

Spectre.Console tablolarının güçlü yönlerinden biri, her bir sütunu ayrı ayrı özelleştirebilme yeteneğinizdir. 8:02'de Tim, ilk sütunu değiştirir:

table.Columns[0].PadLeft(5).PadRight(5);

Bu, metnin her iki tarafına dolgu ekler. Ardından ikinci sütuna sabit bir genişlik ayarlar:

table.Columns[1].Width(15);

Son olarak, o sütunun içeriğini sağa hizalar:

table.Columns[1].RightAligned();

Programı tekrar çalıştırdığında, ilk sütunun dolgun olduğunu, ikinci sütunun sabit genişlikte olduğunu ve içeriğin sağa hizalandığını görebilirsiniz. Başlık metni bile bu ayarlarla uyumludur. Tim (8:42'de) genişliklerin piksel değil karakter olarak ölçüldüğünü belirtmektedir.

Bu küçük dokunuşlar — dolgu, hizalama ve sabit genişlikler — konsol uygulamalarınızı çok daha okunabilir hale getirir. Spectre'nin renkleri, işaretlemeleri ve panelleri ile birleştirildiğinde, tamamen konsol içinde çalışan bir GUI'ye daha yakın hissettiren bir çıktı oluşturabilirsiniz.

IEnumerable<IRenderable>'den Satır Ekleme

9:25'te Tim, bir satır eklemenin üçüncü yolunu — bir IEnumerable<IRenderable> geçerek — gösterir. Bir Text objeleri listesi hazırlar:

var person = new List<Text>
{
    new Text("Bilbo"),
    new Text("Baggins"),
    new Text("111")
};

table.AddRow(person);

Bu, bir koleksiyon kullanarak başka bir satır ekler. Tim, bu seçeneğin günlük kodda "çok da kullanışlı olmadığını", ancak bir dosyadan gelen verileri, bir birim test çerçevesi veya etkileşimli bir istem gibi başka bir kaynaklardan dinamik olarak satır üretirken desteklendiğini söyler.

Sonuç

Videonun (9:59) sonunda, Tim özetler: Spectre.Console tabloları, bilgileri düzenli ve yapılandırılmış bir şekilde sunmanız için size çok fazla güç sağlar. Tablonun hizalamasını, genişliğini ve kenarlık tarzını kontrol edebilir, satır ayırıcıları ekleyebilir, sütunlara dolgu uygulayabilir ve hatta paneller veya diğer renderable'ları yerleştirebilirsiniz.

Kütüphane, modern CLI tasarımından büyük ölçüde ilham aldığından, sadece tabloları değil, aynı zamanda uzun süreli görevler için ilerleme göstergeleri, grafikler, kalın, italik, altı çizili için biçimlendirme ve mavi veya yeşil metin gibi renkler ve çok daha fazlasını da destekler. Tim, izleyicileri belgelendirme kontrol etmeye ve Spectre'nin konsol çıktınızı nasıl daha çekici hale getirebileceğini görmek için örnekleri denemeye davet eder.

Tim Corey'nin adım adım gösterimini takip ederek, minimal çaba ile güzel konsol uygulamaları oluşturmanıza olanak tanıyan Spectre.Console'u nasıl kullanacağınızı göreceksiniz. NuGet paketini yükleyin, API'yı keşfedin ve düz konsol çıktınızı yapılandırılmış, tarzlandırılmış ekranlara bugün dönüştürmeye başlayın.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez