一个库帮你轻松的创建漂亮的.NET控制台应用程序
【摘要】 前言做过.NET控制台应用程序的同学应该都知道原生的.NET控制台应用程序输出的内容都比较的单调,假如要编写漂亮且美观的控制台输出内容或者样式可能需要花费不少的时间去编写代码和调试。今天大姚给大家分享一个.NET开源且免费的类库帮你轻松的创建漂亮、美观的.NET控制台应用程序:Spectre.Console。项目特性该库有着丰富的组件,其中包括表格、网格、面板、日历、以及画布图像等。支持文本...
前言
做过.NET控制台应用程序的同学应该都知道原生的.NET控制台应用程序输出的内容都比较的单调,假如要编写漂亮且美观的控制台输出内容或者样式可能需要花费不少的时间去编写代码和调试。今天大姚给大家分享一个.NET开源且免费的类库帮你轻松的创建漂亮、美观的.NET控制台应用程序:Spectre.Console。
项目特性
-
该库有着丰富的组件,其中包括表格、网格、面板、日历、以及画布图像等。 -
支持文本样式的最常见的 SRG 参数,如粗体、暗淡、斜体、下划线、删除线和闪烁文本。 -
支持终端中的3/4/8/24位颜色。该库将检测当前终端的功能,并根据需要降低颜色。
项目源代码
新建控制台应用
创建一个名为:SpectreExercise
的控制台应用。
安装项目的NuGet包
在NuGet包管理器中搜索:Spectre.Console
点击安装。
控制台文字输出
原生自带的
Console.WriteLine("你好追逐时光者!!!");
类库设置的
AnsiConsole.Markup("[underline red]你好[/][Blue]追逐时光者[/][DarkMagenta]!!![/]");
-
类库文档颜色选择表:https://spectreconsole.net/appendix/colors
table表格输出
#region 创建表
// 创建表
var table = new Table();
//添加一些列
table.AddColumn("[red]编号[/]");
table.AddColumn("[green]姓名[/]");
table.AddColumn("[blue]年龄[/]");
//添加一些行
table.AddRow("1", "追逐时光者", "20岁");
table.AddRow("2", "大姚", "22岁");
table.AddRow("3", "小袁", "18岁");
table.AddRow("4", "小明", "23岁");
// 将表格渲染到控制台
AnsiConsole.Write(table);
#endregion
条形图
使用 BarChart 将条形图呈现到控制台。
#region 条形图
AnsiConsole.Write(new BarChart()
.Width(60)
.Label("[green bold underline]水果数量[/]")
.CenterLabel()
.AddItem("苹果", 12, Color.Yellow)
.AddItem("西瓜", 54, Color.Green)
.AddItem("香蕉", 33, Color.Red)
.AddItem("芒果", 55, Color.Blue));
#endregion
日历
//日历
var calendar = new Calendar(2024, 5);
AnsiConsole.Write(calendar);
布局
使用 Layout 在终端中布局小部件。
#region 布局
// Create the layout
var layout = new Layout("Root")
.SplitColumns(
new Layout("Left"),
new Layout("Right")
.SplitRows(
new Layout("Top"),
new Layout("Bottom")));
// Update the left column
layout["Left"].Update(
new Panel(
Align.Center(
new Markup("[blue]你好![/]"),
VerticalAlignment.Middle))
.Expand());
// Render the layout
AnsiConsole.Write(layout);
#endregion
项目源码地址
更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。
-
GitHub开源地址:https://github.com/spectreconsole/spectre.console -
在线文档:https://spectreconsole.net/quick-start
优秀项目和框架精选
该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。
-
https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)