在Windows上运行的R / RStudio中,我们可以让message(),warning()和error()在控制台中使用不同的颜色吗?

时间:2014-11-10 22:24:42

标签: r logging colors rstudio

我使用了很多消息,例如message("dadida")在我的一个项目中,看到所有这些红色文字到处都是令人讨厌的,总是让我想知道某个地方是否有错误或警告。

我在最终产品中需要这些消息,因此我无法将其删除。但是如果有一种方法可以在控制台中以不同颜色显示消息,警告和错误,那么这将解决我的问题。我还没有办法做到这一点。

修改

感谢大家的投入。我没有意识到所有这些类型的消息的红色都是特定于RStudio的。在RGui中,所有都只是纯白色文本。如果在RGui中自定义颜色是不可行的,也许是在RStudio中?

2 个答案:

答案 0 :(得分:3)

虽然我不知道在RGui或RStudio for Windows中自定义输出的方法,但使用cat()而不是message()将避免RStudio中的红色文本。而不是使用

message("Hello!")

使用

cat("Hello!\n")

(注意获得新行所需的\ n。)

message()和cat()之间存在一些细微差别,当您重定向输出时,这可能是相关的,例如:使用Sweave的LaTeX文档,因此cat()可能不适合所有设置。

答案 1 :(得分:1)

要在RStudio中以特定颜色打印错误和警告消息,必须编辑编辑器主题。

  1. 转到“全局选项”中的“外观首选项”窗格,找到正在使用的 Editor主题

Custom Editor Themes from https://support.rstudio.com/hc/en-us/articles/115011846747-Using-RStudio-Themes#custom-editor-themes

  1. 在计算机上搜索该编辑器主题(在搜索中可能必须用下划线替换空格)。您正在寻找扩展名为.rstheme的文件。
  2. 将该文件复制到新位置,您可以轻松地再次找到该文件并将其重命名为my_theme.rstheme
  3. 使用文本编辑器打开my_theme.rstheme
  4. 在文件顶部,您应该看到类似/* rs-theme-name: Example name */的内容。将其替换为主题的新标题:/* rs-theme-name: My theme */
  5. 在文件底部,添加以下行:.GD15MCFCOTB{color: #FF0000;}用要使用的十六进制颜色代码替换#FF0000

(我不知道为什么,但是CSS类GD15MCFCOTB是RStudio用来指定警告和错误消息的方法。我通过右键单击RStudio中的错误消息并使用HTML检查器发现了这一点。)< / p>

  1. 保存并关闭更新的.rstheme文件。
  2. 返回RStudio,导航至“全局选项”中的“外观首选项”窗格,然后单击按钮Add...
  3. 选择您之前创建的.rstheme文件,然后单击Open
  4. 您现在应该在编辑器主题列表中看到您的主题。选择它,然后单击确定。这将应用您的新主题。

有关RStudio中的自定义主题的更多信息,请参见此页面:https://support.rstudio.com/hc/en-us/articles/115011846747-Using-RStudio-Themes#custom-editor-themes