创建一个控制台项目,引用包Spectre.Console。或者如果需要定制控制台cli命令,也可以引用 Spectre.Console.Cli ,里面自带包含了Spectre.Console
 
 
先做个最简单的输出演示,例如下划线、背景色、加粗等,如下图演示所示。
 
MarkupLine对应WriteLine的效果,去掉Line,就代表没了换行。需要实现的输出样式里面,字符串在两个[]之间,样式结束以[/]结尾。
AnsiConsole.MarkupLine("[underline green]绿色下划线[/]");
AnsiConsole.MarkupLine("[blue on white]这是蓝底白字[/]");
AnsiConsole.MarkupLine("这是正常文本");
AnsiConsole.MarkupLine("[bold]这是粗体文本[/]");
也可以输出表格样式,例如如下图所示效果
 
  // 创建一个表格
var table = new Table(); // 设置表格的标题
table.Title("[bold green]员工信息表[/]"); // 添加列(可以设置对齐方式等属性)
table.AddColumn(new TableColumn("[u]姓名[/]").Centered());
table.AddColumn(new TableColumn("[u]部门[/]").Centered());
table.AddColumn(new TableColumn("[u]职位[/]").Centered());
table.AddColumn(new TableColumn("[u]邮箱[/]").Centered()); // 添加行
table.AddRow("张三", "技术部", "软件工程师", "zhangsan@example.com");
table.AddRow("李四", "市场部", "市场分析师", "lisi@example.com");
table.AddRow("王五", "人力资源部", "招聘专员", "wangwu@example.com"); // 设置表格的样式
table.Border(TableBorder.Rounded);
table.BorderColor(Color.Red);
table.Alignment = Justify.Center; // 显示表格
AnsiConsole.Write(table);
也可以设计进度条动态效果:
 

 
            AnsiConsole.Progress()
.Start(progress =>
{
// 创建一个进度条任务
var task = progress.AddTask("[green]下载中...[/]"); while (!task.IsFinished)
{
// 更新进度条的进度
task.Increment(0.5);
Thread.Sleep(50);
}
});
 
也可以设计类似pip下载时候的动态耗时效果:

 
  // 使用 Status 方法来实现动态显示
AnsiConsole.Status()
.Start("计时器...", ctx =>
{
while (true)
{
// 计算已经过去的时间
TimeSpan elapsed = DateTime.Now - startTime; // 更新状态文本
ctx.Status($"耗时: [bold yellow]{elapsed.TotalSeconds:n1}[/] 秒"); // 刷新频率,每200毫秒更新一次
System.Threading.Thread.Sleep(200);
}
});

如果以上内容对你有帮助,欢迎转发、点赞、评论等。谢谢! 也欢迎关注个人公众号:【Dotnet Dancer】

参考文献:

[1]:Spectre.Console官方开源项目地址:https://github.com/spectreconsole/spectre.console
[2]:文档地址:https://spectreconsole.net/quick-start
 
 
 
 

使用Spectre.Console定制.NET控制台输出样式演示的更多相关文章

  1. 控制台:控制台艺术字 & 为控制台输出增加样式(console.log( ))

    控制台/代码文档LOGO 除了知乎的控制台,大部分的代码文档都有这样的字符logo. 下面这个网站可以自动生成符号艺术字: Text to ASCII Art Generator (TAAG) 控制台 ...

  2. C#在控制台输出异常所在的行数

    对于异常,我们经常用try-catch语句来处理,一种常见的方式是在catch语句块用MessageBox.Show("异常")这种弹窗的方式来报告异常.但是有些时候,有些异常发生 ...

  3. 前端不为人知的一面--前端冷知识集锦 前端已经被玩儿坏了!像console.log()可以向控制台输出图片

    前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前 ...

  4. 关于Console控制台输出的玩法

    你在浏览网页的时候,是否注意过这些网页的控制台输出了什么? Console这种东西,其实一般只有前端工作者才会注意到.console在我们实际开发中可是个宝贝,他是各种error和warning的展示 ...

  5. js控制台输出console

    介绍: js的console你可以在firefox的firedbug或者ie和google的f12调试模式下看到,这些主流浏览器的调试模式的控制可以输出一些信息,你的一些js代码测试可以直接在cons ...

  6. PHP内置Web Server探究(二)自定义PHP控制台输出console函数

    我们在开发APP的服务器端,当和APP进行联调时通常需要实时跟踪URL请求和参数的接收情况. 但PHP并没有像Python或Java专有的控制台输出函数,Python的print()和Java的Sys ...

  7. Spring Boot2解决idea console 控制台输出乱码

    Idea默认配置是采用GBK, 而项目工程文件采用的是UTF-8. 编码不一致,导致idea Console控制台输出乱码. 网上的解决方案,大都是直接修改Settings=>Editor=&g ...

  8. 自定义SpringBoot控制台输出的图案

    pringboot启动的时候,控制台输出的图案叫banner banner?啥玩意儿?相信有些人,一定是一脸懵逼... ——这个就不陌生了吧,这个是我们启动springboot的时候,控制台输出的.. ...

  9. .Net Core 控制台输出中文乱码

    Net Core 控制台输出中文乱码的解决方法: public static void Main(string[] args)         {             Console.Output ...

  10. console ouput 与 重定向输出 效率对比

    昨天做一个程序的性能测试的时候,由于用了自动化脚本,测试的时候直接把结果(包括执行时间等信息)输出到文件.后来我在调整源代码的时候单独跑了可执行文件,此时结果是输出到控制台(printf).大约100 ...

随机推荐

  1. Efficientvit: Enhanced linear attention for high-resolution low-computation visual recognition

    GitHub地址: https://github.com/mit-han-lab/efficientvit#usage 相关: https://www.jetson-ai-lab.com/vit/tu ...

  2. AI的技术发展:记忆与想象力 —— 【人工智能】记忆、想象与AI | 查兰·兰加纳特 | 心理学与神经科学家 | 人脑如何记忆 | 内部模型 | 稳定可塑性难题 | 想象力的由来 | AI内容传播 | 脑机接口BCI

    原文地址: https://www.youtube.com/watch?v=cHYKbVP1GTQ 加利福尼亚大学戴维斯分校教授.心理学家兼神经科学家查兰·兰加纳特Charan Ranganath,最 ...

  3. ubuntu18.04 源码方式安装wine , 警告,libxrender 64-bit development files not found, XRender won't be supported.

    警告信息: configure: WARNING: libxrender 64-bit development files not found, XRender won't be supported. ...

  4. 【转载】 HTTP中的响应协议及302、304的含义

    原文地址: https://www.cnblogs.com/chenyablog/p/9197305.html ============================== 响应协议 HTTP/1.1 ...

  5. NVIDIA公司的半成品项目cule——GPU端运行的Atari2600游戏环境——已经废弃的项目

    官网介绍地址: https://developer.nvidia.com/blog/new-open-source-gpu-accelerated-atari-emulator-for-reinfor ...

  6. JavaWeb中的Tomcat,Servlet详解

    JavaWeb JavaWeb技术主要包括服务器技术(后端),如Tomcat,Servlet,JSP等待,以及客户端技术(前端)如HTML,CSS,JavaScript等等 Web服务器 Web服务器 ...

  7. 5分钟教你使用idea调试SeaTunnel自定义插件

    在用Apache SeaTunnel研发SM2加密组件过程中,发现社区关于本地调试SeaTunnel文章过于简单,很多情况没有说明,于是根据自己遇到问题总结这篇文档.SeaTunnel本地调试官方文档 ...

  8. Linux入门的基础知识点,有这篇就够了(持续更新)

    很多粉丝给一口君留言,想要学习Linux资料,其实关注一口君的公众号,后台回复 1024 ,就有很多非常不错的电子书,但是有一个问题,很多粉丝是初学者,而这一大堆电子书,估计随便一本,还没看完就基本上 ...

  9. FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构

    ​音视频技术的一个主要用途是直播,包括电视直播.电脑直播.手机直播等等,甚至在线课堂.在线问诊.安防监控等应用都属于直播系统的范畴.由于直播系统不仅涉及到音视频数据的编解码,还涉及到音视频数据的实时传 ...

  10. Windows 服务管理

    创建服务 New-Service -Name NAME -BinaryPathName COMMAND -StartupType Automatic -Description DESCRIPTION ...