[Beta Feature] Expressive Output Window Improvements

Hey Everyone!

We’ve heard your feedback and we’ve been hard at work with improvements to the Expressive Output Window! :computer:

As a reminder, the new Output Window is currently in Beta and to enable it you can go to File > Beta Features > Expressive Output Window.

The biggest change is that we have gotten rid of the column formatting approach and are using regular plain text formatting moving forward. By using plain text without columns, the new Output Window has performance parity with the old one, so there shouldn’t be any more performance issues! (If there are, please let us know).

Some of the other changes include:

  • Crash fixes related to performance
  • Table formatting has improved
  • You can now right click to copy tables from the output window
  • Improved filtering to help view results

P.S. For best visual results, we recommend going into your Studio Settings and changing the Output font to a monospace font like Consolas.

Thanks so much for being patient with our work on this upgrade, and we hope you enjoy the new version!

192 Likes

This topic was automatically opened after 13 minutes.

You have no idea (or maybe you do) of how helpful this is going to be for me. The hardest transition from JavaScript to Lua was definitely the debugging. Printing the tables became no help to me here, and the effort I had to spend to view tables was insane. But now it seems like my efficiency is going to spike (unless I get distracted and keep browsing reddit).

I also like the customizability of the console, being able to view messages from either client or server alone is really helpful. Searching for strings in the output is also awesome.

Thanks for this update, I think I speak for all the scripters when I say this was time well spent.

31 Likes

I like the change from strict columns to a more fluid display, but this raises some problems. Having the timestamp and the context be the same color as the actual printed result makes it more difficult to quickly pinpoint that printed text.

Like look at this:

image

Monospace:
image

I’m printing just numbers, and yet it kind of gets mixed up with the timestamp. It makes it more difficult for it to be noticed.

I feel like the extra info should be grayed out and have the actual printed text be emphasized.

Another idea is you can hide the timestamp and the context until the user hovers over the output window, in that case, it will display it.

Anyway, great improvement. At least my studio doesn’t crash anymore from the expressive output.

27 Likes

Does table formatting also include metatables too? Otherwise, a nice change!

1 Like

This year I have been surprised by the countless changes roblox has made to the community, and this one really makes me happy not to mention that the best is yet to come.

1 Like

Fantastic, so, when can we print under RenderStepped or some fast iteration without running on 10 FPS?

Hopefully there is a plan for this.

4 Likes

Hey, would it be possible to also maintain printing the memory address of tables with this new output? While for most use cases, seeing the contents of the table is the desired output of a print, in some cases you want to debug your code and make sure that two variables point to the same table. Having some way to also see the memory address alongside the table contents would be very useful for that.

Edit: never mind, we can just take the tostring of a table. Whoopsie

6 Likes

This is a big improvement and should be celebrated! :clap: :clap: :clap:
I have been using Expressive Output since the first version and, even full of bugs, it was already very useful, especially in the ease of printing tables.
Now it will be much easier to debug the code.
Thank you! :+1:

4 Likes

Does this still suffer from severely degraded performance when for example printing each .RenderStepped compared to the previous one?

1 Like

Personally feel like the “- Client” and “- Server” are a bit unnecessary. We already have the colour coding in front of each line to define whether or not output came from the server or the client. I only see it as an interference to the actual output.
If I were to print “Hello world”. I’d expect the line to say “Hello world”, not “Hello world - Server”

12 Likes

Agreed, seems completely redundant with the colour on the left side. I’d suggest if possible and if it doesn’t effect performance to maybe just tint the background colour to highlight that full line so that it can be easily distinguished which is client and server.

1 Like

Now, with today’s release. Please let us know if this doesn’t work.

4 Likes

This is also an option under the 3 dots menu in the top right.

3 Likes

godsend! fixes pretty much all of the issues i had with the output.
one problem, though.
the lag is not gone (not entirely, but it’s way more usable now)

not outputting anything:


outputting some walkspeed information every frame:

may not show up on the choppy choppy 30fps video but it’s very annoying
may have to do with the column expanding feature?

2 Likes

Still too much info for me - I’d rather stick to the old console.

2 Likes

Printing more than 1000 times will consistently crash studio when using the new output. I know it’s not a common use case, but it’s common enough that this will be annoying and a huge downside to this output. At the very worst, studio should be slow for a few seconds while it processes all the prints, but instead it just consistently freezes then crashes 2 minutes later

for Key = 1, 10000 do
    print("test")
end
9 Likes

Even though this is a niche use case, it’s essential to have working. There have been some cases where I’ve needed to print things extreamly fast. I really hope to see this fixed.

Great feature. I’ve been using this for a while to view tables in the output window. Hope this gets released soon.

This is awesome! I hated the new Output window because of how much worse it looked, I’m glad that it has been changed to look like the current Output. Being able to print tables is great.

Could the “- Client” and “- Server” text at the end of every message please be removed? The green and blue bars on the side already represent this, and having extra text at the end is super distracting.