Terminal.GUIアプリケーション用のクロスプラットフォームデザイナー。
CodedomとRoslynで構築されたTerminalGuidesignerを使用すると、Winformsデザイナーと同じように、ドラッグアンドドロップで複雑なビューを作成できます。
Nugetからツールをインストールするか、Hello Worldチュートリアルをフォローしてください。
dotnet tool install --global TerminalGuiDesigner
使用を使用して最新バージョンに更新します
dotnet tool update --global TerminalGuiDesigner
このプロジェクトはアルファにあります。進捗状況については、機能リストを参照してください。
Terminal.GUIバージョン2(現在はアルファ前)をターゲットにしている場合は、デザイナーのバージョン2をインストールすることをお勧めします。
dotnet tool install --global TerminalGuiDesigner --prerelease
デザイナーバージョンを参照するTerminal.GUIライブラリバージョンに一致するようにしてください。
dotnet 6.0 sdkを使用してビルドします
cd src
dotnet run
dotnet sdkをインストールし、terminal.guiへの参照を備えた新しいコンソールアプリケーションを作成します。 TerminalGuidesignerをインストールし、新しいダイアログを作成します。
dotnet new console -n hello
cd hello
dotnet add package Terminal.Gui
dotnet tool install --global TerminalGuiDesigner
TerminalGuiDesigner MyDialog.cs
名前空間を入力し、ビューにボタンを追加します。 Ctrl+sで保存します。 Ctrl+qでデザイナーを終了します。
以下をプログラムに入力してください
using Terminal . Gui ;
Application . Init ( ) ;
Application . Run ( new YourNamespace . MyDialog ( ) ) ;
Application . Shutdown ( ) ; dotnet runでプログラムを実行します
MyDialog.csに新しいコードを追加できますが、保存時に書き直されるため、 MyDialog.Designer.csに変更を加えないようにします。
たとえば、 MyDialog.csでInitializeComponent()た後、以下を追加します。
button1 . Accept += ( ) => MessageBox . Query ( "Hello" , "Hello World" , "Ok" ) ;[ボタンをクリック]を実行すると、メッセージボックスがトリガーされます。

編集/作成するファイルを使用して、コマンドラインから実行することにより、デザイナーを再開できます。
TerminalGuiDesigner MyDialog.cs
以下を使用してツールを削除できます。
dotnet tool uninstall --global TerminalGuiDesigner
ツールを実行している場合、色が表示されるのに問題がある場合は、 --uscフラグを追加します。
TerminalGuiDesigner --usc
デザイナーは堅牢になるように構築されており、トップレベルのキャッチブロックがありますが、それでもクラッシュできれば、コンソールがブロックされていることがあります。これが発生した場合は、 reset<enter>を入力することでコンソールを修正できるはずです。
keys.yamlを現在のディレクトリにコピーして、keybindingsを変更できます。
Menubarアイテムを編集するには、次のコントロールを使用します
| 鍵 | アクション |
|---|---|
| 上下にシフトします | 選択したメニュー項目を上下に移動します |
| 右にシフトします | 選択したメニュー項目を上のサブメニューに移動します |
| 左にシフトします | 選択したサブメニュー項目をレベルに移動します |
| del | 選択したメニュー項目を削除します |
| 入力 | 新しいメニュー項目を追加します |
| タイピング | 選択したアイテムのタイトルを編集します |
| Ctrl + t | ショートカットを設定します |
| Ctrl + r | メニューフィールド名を設定します |
新しいルートレベルのメニューは、 MenuBar右クリックして「メニューの追加」を選択することで追加できます。
入力してメニューセパレーターを作成できます---
次の機能リストは、現在の機能とロードマップを示しています。斜体の機能は実験的であり、アプリケーションを開始するときに-eフラグを渡す必要があります。
(Name) InitializeComponentを書き留めてくださいA B ) ViewタイプなどのMyCustomViewの追加abstractクラスの設計を許可しますMyDialog<T> ) class MyDialog : MyOtherDialogから継承するクラスの設計を許可する