Colors in the output window

As a Roblox developer, it is currently impossible to use more than 4 colors in the output window, these being:

  • the default color (black in studio, white on the developer console) with print()
  • orange with warn() or game.TestService.Warn()
  • red with error() or game.TestService.Error()
  • blue with game.TestService.Message()

*Keep in mind that when using the test service, everything sent with it will start with “Test Service:”

It would be very useful to be able to print things in any color we wished (if not just for fun) so that we could organize data and be more efficient when looking at output data, such as being able to see what something is from a color and not having to read a label next to it.
This would be extremely useful when printing things which are connected to an event in runservice, like debugging a camera so that you could tell exactly what values were coming from where if you were printing, say 3 at a time.

There are 2 ways this could be implemented into studio:

  • adding a global function like “printWithColor()” where the first argument would be a Color3 value and everything after would act the same as print()
  • adding more global functions in the style of warn() and error() to display more colors

The first one would be optimal, but either would be nice.

168 Likes

Yesss I would love this! At the time being I label my output prints with emojis.

3 Likes

This would be awesome!

I’d like to see it implemented like this:

printWithColor(Color3,Bold,Argument)

Parameters:
Color3
Type: Color3

Bold
Type: Bool

Argument
Type: string

I think the ability to bold important output would be very useful.

20 Likes

instead of having multiple arguments, maybe a table with values like color, bold, italics, etc would work better

12 Likes

Tell me about :roll_eyes:

But this would be really neat even just a couple extra colors would be great to use.

2 Likes

It would be amazing if we had this: ANSI escape code - Wikipedia

4 Likes

I prefix routine output from certain scripts with [TAGS] but this is an eyesore and a pain to update if I ever rename scripts or move code. It would be great if I could color code some of my output to differentiate e.g. moderation info, boot/setup info, normal runtime info, debug info, etc.

Why is this still not a thing yet?!

2 Likes

Bump, again. I am using [TAGS] to sort my output right now and it is horrible and slow.
Just something simple like colors would boost my productivity so much being able to make sense of my console output faster.
There are of course workarounds to aid with this already but none of them would even compare to colors or literally any form of alternative formatting, please fix.

1 Like

I would be inclined to agree that we need some better output customization, just to make it easier to develop giant projects. Sometimes I print things as simple comments, sometimes I print system-important messages, sometimes I just want to be able to more accurately label things I’d consider a warning/error. But either way colors are useful - even if limited, but i see no reason to not have greater control.

2 Likes

I just use Emojis to make my important console output stand out. :+1: :100: :white_check_mark: :no_entry::warning: etc…

Hard to miss these icons, and it works for the in-game console, but I often forget it’s supported.

10 Likes

Yes please. VSC has this, it’s such a great feature. Even if it isn’t this implementation specifically, an alternative implementation like enabling rich text for the output would still make a great addition.

I think what would be also a good feature is the ability to create your own tags and print with the tag. So you can assign “warn” tag to any output that corresponds to warnings, as well create your own like “moderation” tag and assign it so that you can later on filter the logs out by tags that you have selected.

1 Like

Maybe something eimilar to rich text.
It would work out very good but other than aesthetics or increasing readability,its useless.

with huge systems or frameworks this is extremely nice to have when reading lots of things in output. bump!

1 Like

I think it would be cool if the function was something like:
note(string tagName, …)

Then combine this with a new LogService method LogService:SetMarkup(tagName, markup) - where markup is whatever we can modify (color, boldness, font, etc.) This would ideally affect both studio and in-game logs. Additionally Filters would ideally automatically populate with the new TagName. I think this is better than some other suggestions so I don’t have to include the markup parameters every single time I post to a new tag. Unmarked tags could just default to the normal print settings.

Main flaw is this would require a ‘Custom’ option in Enum.MessageType for current LogService things. Not ideal, since it would be impossible to get the tag with that. So MessageOut could be deprecated in favor of an event that passes a new structure that includes tagName/messageType.

Bumping this again, why do we still have nothing like this? At the very least, a message() global that sends something without "TestService: " would be great, but ideally support for ANSI escape codes and/or a proper log severity system. Only using print() is hard to find with built-in methods, unless you append a tag to each print, Roblox sends Messages to the console all the time, but we can’t do that without the TestService prefix.

In the past, I used to use warn(), but now with the addition of Error Reports to the analytics dashboard and with no way to filter out certain warnings, this is no longer feasible without log junk, which makes this worse for me, I now have no built-in way to find these types of messages I want to find without searching for text.

5 Likes

As of 2023, we still need this, bump! Would be very great addition for all scripters on this platform.

4 Likes

Bump again, please add this Roblox.

3 Likes

Bump again, for the start of 2024. This feature would be such a massive help!

2 Likes