C#控制台更改以前命令/输出的颜色
很难为这个问题找到一个合适的标题,我尽量描述我的问题 在我的命令行程序中,我使用这个库(主要是因为样式表)。一切都很好,我所有的颜色都显示正确 问题发生在我在同一控制台会话中运行另一个命令时,颜色显示正确,但先前输出的颜色也被覆盖。这会导致错误消息的颜色与调试输出的颜色相同 假设我运行C#控制台更改以前命令/输出的颜色,c#,windows,terminal,colors,console,C#,Windows,Terminal,Colors,Console,很难为这个问题找到一个合适的标题,我尽量描述我的问题 在我的命令行程序中,我使用这个库(主要是因为样式表)。一切都很好,我所有的颜色都显示正确 问题发生在我在同一控制台会话中运行另一个命令时,颜色显示正确,但先前输出的颜色也被覆盖。这会导致错误消息的颜色与调试输出的颜色相同 假设我运行program.exe init-p。我得到以下(正确)输出: 执行时间不同于其他人,这是我的错,但与问题无关 program.exe init-p 问题A:甚至可以保留以前命令的颜色而不覆盖它们吗 问题B:
program.exe init-p
。我得到以下(正确)输出:
执行时间不同于其他人,这是我的错,但与问题无关
program.exe init-p
问题A:甚至可以保留以前命令的颜色而不覆盖它们吗
问题B:我是否错过了一些基本的东西
我已经试过:
colorial.Console.ReplaceAllColorsWithDefaults()代码>程序执行后
Console.ResetColor()代码>程序执行后
Console.Clear()代码>在程序执行之后(有点有效,但是在每个命令之后清除控制台不是很好)
1)我不确定我是否看到了问题,“以前”的消息在哪里被覆盖?2) 我想我们还需要看到实际的代码,或者更好的是,a来帮助您。Windows控制台支持固定大小的调色板。如果更改该选项板中的条目,也将更改以前在该选项板中使用相同插槽的所有输出。
using System;
using System.Drawing;
using Console = Colorful.Console;
namespace MinimalReproducibleApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Compiled with Color.Firebrick", Color.Firebrick);
}
}
}