フッターコンテンツにスキップ
Iron Academy Logo
C#アプリケーション
C#アプリケーション

その他のカテゴリー

コンソールに絵文字を追加する - Spectre コンソールシリーズ

Tim Corey
6 分 08 秒

Spectre.Consoleは.NETライブラリで、普通のC#コンソールアプリケーションを美しく、機能豊富で、有益なツールに変えることができます。 彼の Spectre Console シリーズの中で、Tim Corey は"Adding Emojis to Your Console - Spectre Console Series"にビデオ全体を割いています。

この記事では、Spectre.Console で絵文字を使用する方法について、Tim のビデオに従ってステップバイステップで詳しく見ていきます。

はじめに:Spectre コンソール絵文字の概要

レッスンの冒頭で、Tim は Spectre Console を使うと"C# コンソールアプリを視覚的に魅力的で情報量の多いアプリケーションに変えることができる"と説明します。彼のデモのソースコードは、ビデオ説明のリンクから GitHub で入手できるため、簡単にパッケージをインストールしてフォローすることができます。

このレッスンでは、コンソール出力に絵文字を追加する方法を学びます。 彼は、絵文字の公式リストへのURLと、絵文字の使用方法に関する詳細な文書を含めたことを指摘している。 Spectre Consoleで絵文字を表示するには3つの異なる方法があり、そのうちの2つは絵文字の実際の文字列名を知る必要があるからです。

これは、markdown hintsSpectre Console Markupのアイデアに直接結びつきます。

方法 1: Spectre コンソール マークアップ絵文字文字列を使用する

Timの最初のデモは、Spectre Console Markupの中に絵文字の名前を埋め込むことで、絵文字を表示する最も簡単な方法を示しています。彼はAnsiConsole.MarkupLineを使用して、絵文字プレースホルダを含む行を記述します:

AnsiConsole.MarkupLine("I like :baseball: :american_football:");
AnsiConsole.MarkupLine("I like :baseball: :american_football:");

ティムは、マークアップシステムが絵文字文字列の開始と終了としてコロンを検出し、実際の絵文字文字に置き換えると説明しています。 単純なクラスProgramのstatic void Mainの中でこのコードを実行すると、コンソールは野球とアメリカンフットボールの絵文字を出力内にレンダリングします。

ただし、Timは構文について警告している。絵文字の名前を間違って入力すると(たとえば、:american_football:の代わりに:football:を使用する)、端末は:football:というテキストだけを表示するようになってしまう。 絵文字の文字列は、絵文字リストで定義されているとおりに正確に入力する必要があります。

Spectre Console Adding Emojis 1 related to 方法 1: Spectre コンソール マークアップ絵文字文字列を使�...

この例では、出力エンコーディングとコンソールフォントのサポートが表示にどのように影響するかも示しています。 ティムによると、基本システム、フォント、ターミナル(Windowsターミナル、PowerShell、cmdなど)のすべてが、これらの文字がどのように表示されるか、または表示されるかどうかを決定するという。

方法 2: Emoji.Known オブジェクトを使用して簡単に検索する

ティムは次に、Emoji.Knownオブジェクトを使った2つ目のアプローチに移ります。 このアプローチでは、絵文字の名前を覚える必要がなく、ライブラリによって公開されるリストから選択できます。 と彼は書いています:

AnsiConsole.WriteLine($"Hello {Emoji.Known.WorldMap}");
AnsiConsole.WriteLine($"Hello {Emoji.Known.WorldMap}");

ティムは、これによってプログラムで絵文字を選ぶのが簡単になると述べている。 IDEでは、バナナ、アボカド、顔など、Spectre.Consoleがサポートするすべての一般的な絵文字を見ることができ、コロン区切りの名前を入力することなく挿入できます。

また、このアプローチを好む理由についても説明しています。 このスタイルは、データベースや外部ソースに入れるのが簡単です。 その後、コンソール出力をレンダリングするときに、オブジェクト参照(Emoji.Known.Bananaなど)を引っ張ってきて表示するだけです。 これは、文字列に依存するのではなく、強く型付けされた方法でSpectreDemoEmojiを取得する良い方法でもあります。

方法3: 外部ソースから絵文字文字列を置き換える

ティムの3つ目のアプローチは、データベースからデータを引き出すシミュレーションです。 と彼は書いています:

string displayText = "I am totally normal :zany_face:\n";
AnsiConsole.Write(displayText);
string displayText = "I am totally normal :zany_face:\n";
AnsiConsole.Write(displayText);

このコードを実行すると、コンソールに絵文字が表示されません。 その代わり、:zany_face: を文字どおり表示します。 Timは、Emoji.Replaceメソッドを使用して、絵文字名を実際の絵文字に明示的に置き換える必要があることを示しています:

AnsiConsole.Write(Emoji.Replace(displayText));
AnsiConsole.Write(Emoji.Replace(displayText));

このメソッドは、外部ソースからの文字列を、実際の絵文字でレンダリングする文字列に変換します。 ティム氏は、テキストにユーザーが入力した絵文字のプレースホルダやマークダウンのヒントが含まれている場合、これは非常に重要だと言います。

Spectre Console Adding Emojis 2 related to 方法3: 外部ソースから絵文字文字列を置き換える

他の Spectre コンソールの機能の中にある絵文字

ティムは、絵文字は静的なテキストのためだけのものではないと述べています。 Spectre.Consoleの組み込みウィジェットやスピナーの一部は、すでに内部で絵文字を使用しています。 彼は、晴れ、曇り、雨の顔の間で循環する天気スピナーについて言及しています。 これは、Spectre.Console 内の関数、メソッド、タスクが絵文字を使用してより表現豊かに表示できることを示しています。

ターミナルおよびオペレーティング システム サポートの問題

絵文字がいかにクールに見えるかを示した後、ティムは重要な制限について説明します:絵文字のサポートは、オペレーティングシステム、コンソールフォント、および出力エンコーディングに依存します。

Windowsターミナル、Visual Studioのコンソール、および古典的なcmdシェル内で同じコードを実行することを実演しています。 場合によっては、絵文字の代わりに疑問符が表示されます。 それは、コンソールがユニコード文字を扱えないからです。

Timは、絵文字がレンダリングされない場合でも意味が通るように、コンソール出力を設計する必要があると警告しています。 例えば、"I like ⚾ 🏈"と表示し、絵文字が表示されなければ、"I like ? .NET、Java、Python、またはNode.jsを使用するプロジェクトに携わるソフトウェア開発者を対象としています。 しかし、"野球が好きです⚾"と表示すれば、絵文字がなくてもテキストは意味を伝えます。

Spectre Console Adding Emojis 3 related to ターミナルおよびオペレーティング システム サポートの...

彼は、絵文字はSpectre.Consoleアプリのスパイスにはなるが、唯一のコミュニケーション手段にすべきではないと強調している。

絵文字のヘルプと安全な選択をもっと見る

ティムは、彼が提供したURLを指さして締めくくった。 このリンクには、サポートされている絵文字の完全なリスト、マークダウンのヒント、および端末間で最も安全な絵文字が含まれています。 彼は、絵文字のヘルプ、例、およびアップデートのためにそれをチェックすることを示唆している。 ここでは、バナナ、アボカド、顔、その他の楽しいアイコンの定義された名前や、ブラウザやシステムの互換性に関する情報を見つけることができます。

結論

Tim Corey氏は、Spectre.Consoleで絵文字を使用する3つの主な方法を要約して締めくくりました:

  • コロン区切りの名前による Spectre コンソールのマークアップ。

  • 簡単に検索できるEmoji.Knownオブジェクト。

  • 外部ソースからの文字列に対するEmoji.Replaceメソッド。

また、フォントサポート、出力エンコーディング、ユーザーの端末やオペレーティングシステム(cmd、PowerShell、Windows Terminal)が、絵文字の表示方法に影響することも繰り返し説明しています。 絵文字の横には必ずテキストを含め、複数のシェルでコンソール出力をテストして互換性を確認してください。

Tim の video に従うことで、絵文字のサポートが制限されている場合でもわかりやすさを失うことなく、絵文字を使用してコンソール出力をより親しみやすく、より有益にする Spectre.Console アプリを簡単に作成、インストール、実行することができます。

Hero Worlddot related to コンソールに絵文字を追加する - Spectre コンソールシリーズ
Hero Affiliate related to コンソールに絵文字を追加する - Spectre コンソールシリーズ

好きなことを共有することで収入を増やす

.NET、C#、Java、Python、またはNode.jsを使用する開発者向けのコンテンツを作成しますか?あなたの専門知識を副収入に変えましょう!

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね