如何在VS Code输出窗口中获得彩色输出?

32
这实际上是一个双重问题,但它们是同一类型的问题,所以我将在一个帖子中提出。当我翻阅各种颜色时,我发现它们也有改变{{输出}}窗口颜色的能力。我可以使用哪个VS Code设置来更改此输出的颜色?具体而言,我不是在询问终端,而是在询问输出窗口,例如使用CodeRunner时显示输出的窗口。请参阅截图以查看我所指的窗口。

Output window

第二个问题是我可以看到输出支持多种颜色。我正在尝试使用 Python 库 prettyprinter 中的模块 cpprint 将着色输出打印到此窗口。当我在终端中运行脚本时,我可以得到颜色,但在输出窗口中,我没有得到任何颜色。是否可能让我在输出窗口中获得与终端中相似的着色输出?我假设输出窗口支持颜色,因为 [Running] ... 和 end 是带颜色的。 我所提到的 Python 库 谢谢!

3
这非常重要,就像Text Explorer将pytest的结果输出到OUTPUT选项卡一样,但颜色丢失了。这对于易读性至关重要。 - alex li
1
尝试使用这个扩展程序:https://marketplace.visualstudio.com/items?itemName=IBM.output-colorizer - Jiayin Pei
4
那个扩展是对输出性质进行猜测的愚蠢尝试,它没有做出合理的事情。 - Onkeltem
1
我在这里创建了一个问题:https://github.com/microsoft/vscode/issues/141556 - Onkeltem
1个回答

11

因此,长期以来,我们不得不使用IBM开发的扩展名为Output Colorizer,但是,这个扩展与其他扩展冲突,并引起了一系列的错误和问题。我个人不得不禁用它,因为它导致我的输出窗口根本无法打印文本。

现在我们有一个更强大的内置解决方案,而且不需要做任何事情。

Visual Studio Code在2022年3月的发布中,作为一个里程碑,添加了“输出通道”的语法高亮支持。

语法高亮是由特定语言的语法规则进行配置的。使用的语言语法规则取决于您使用的输出通道。决定用于任何给定输出通道的语言语法高亮的人是编写该输出通道所属扩展的人。

这里是官方发布说明的链接

由于输出基于语言突出显示语法,因此配置新功能用于着色任何给定文本的颜色的方式与着色语法的方式相同。


详细解释:

如果您的主题将数字设置为绿色(#00FF00),那么在输出视图面板中打印的数字也将是绿色的。

如果在写TypeScript时,语言定义的常量true & false渲染为柔和的红色(#FF7799),但是当您打开Java文件时,它们会呈现为明亮的柔和黄绿色(#BBEE88),则它们呈现的方式取决于输出窗口是否设置为Java或TypeScript。显然,作为Java工具的扩展的输出窗口很可能会将语法突出显示为Java。 TypeScript工具扩展将可能将所有语法都突出显示为TypeScript。


有些人可能更喜欢该功能更具可定制性


有些人可能希望拥有更多自定义功能,但我认为,即使可能,将输出中的语法与编辑器中的语法突出显示不同,这将是一个错误。事实上,仔细想想,这样做是愚蠢的。现在的方式是完全合理的。



无论如何,这就是输出通道中颜色的结尾,或者至少目前是这样。


1
一个非常好的答案。然而,ANSI颜色代码支持的问题仍然存在。它造成了整个混乱,使阅读变得困难。对此有什么想法吗? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接