Code Outline - View your code's variables at a glance

When using this code:

function SomeFunction(...)
	return {...}
end

The plugin seems to not like the 6 dots:

image

My plugin is completely up-to-date.

1 Like

Ah, good find. My parser seems to mess up with variadic functions. I’ll fix this when I have time.
Thanks for reporting!

Edit: Fixed! Update your plugins to receive this patch!

The issue essentially stemmed from the fact that the whole (...) is grouped as one operator token for optimization, so it required a little bit of smarter parsing.

2 Likes

I am getting this right now, as someone who works in visual studio code most of the time it is very nice to have something like this in studio
EDIT: nvm I am to broke

1 Like

Update:

@acreol noticed that if you attempt to filter the outline with an invalid string pattern, it would log that malformed pattern error in your output.
This update fixes that. If you input an invalid pattern, it will instead search for a plaintext match, ignoring magic character rules.

1 Like

How did you get the different icons for the explorer?

2 Likes

Thanks! I love the way it looks!

Feature Request:

Have the function that your cursor is curretly in Highlighted. Additionally possibly highlight variables that are local to that function as well if possible.

Small Bug Report:

local test = {}
test['Hello World'] = {}
test['Hello World'].Value = 'Hi'

results in just
image

It would be nice if it could read the bracketed key

1 Like

Roblox doesn’t let plugins see the cursor position. We’ve been asking for it for years already so don’t hold your breath on that one.

Thanks, I’ll take care of that when I have a chance.

1 Like

This is a very amazing and useful plugin!

However, I have few problem and suggestion when I used it and I hope you can fix it.

  1. I am using light theme, but seems Tooltip do not change its background color.
  2. The text is too small and I can hardly see it, I hope there will be a font size settings so I can increase the size of it.

Btw I love the icon colors in your theme, unfortunately I am using the default theme and most icons got a dark color for me :joy:

1 Like
  1. Whoops, thanks for letting me know. I guess you’re the only light theme user since no one else has noticed that lol (Edit: fixed in latest update)
  2. It’s the font and size of all the other text in Studio, like the script tabs and window titles and properties window. Maybe being italicized makes it feel smaller?
1 Like

Just bought and tested it, and it’s an amazing plugin! Really helps my workflow and to speed up stuff. To anyone debating whether to get it or not: get it! You won’t regret it.

Thanks boatbomber for such an amazing contribution!

1 Like

It’s pretty great, but there’s a number of drawbacks I’ve come across:

  1. Inherited types do not display properly (I have one class where Thing.__index = setmetatable(Thing, InheritsFromThis)) and so all methods that are inherited from InheritsFromThis (and not explicitly overridden by Thing) do not display. As far as displaying it goes, I don’t see a problem with showing it as a member of Thing, but for bonus ducks, having it display as a member of InheritsFromThis would be pretty cool.
    Edit: I had a look at what exactly the plugin does and I see why this isn’t a thing. If it were something specifically written for ModuleScripts that viewed all exported members, it’d be easier. Perhaps its out of the scope of the plugin to do this? I may attempt to do so myself in a separate plugin from this one.

  2. Type annotations display as parameter names in the function hover tooltip (e.g. a function with a signature of function Thing(value: boolean) will show a tooltip of Params: (value, boolean) implying that there’s a second parameter named “boolean” rather than that being the type of value). In my opinion, directly copying the string from the script would work fine.

I just got this plugin, this is so useful. Thanks, boat!

Yeah this older plugin was made for Lua not Luau, I’ve been planning to do some reworking now that types are a thing as it currently has no understanding of them and it infers types with its own system.

2 Likes

Great work, this will definitely be useful.

Is it just me or does using this plugin make your studio incredibly slow and unusable? If anyone has had this issue and knows a way to fix it please let me know. I am running a powerful desktop so it’s something wrong with studio and plugins.

EDIT: Its fixed when the script window is separated from the studio window.
EDIT: Everything is very smooth now. It may have been a studio or windows issue but all sorted.

That’s odd. Thanks for reporting, I’ll look into it.

This plugin doesn’t work when in collaboration mode, as when working on uncommitted scripts the plugin will be watching only committed changes. I suspect it’s because you might be using Source property which only changes when script is committed, thus I think you will need to use ScriptEditorService. Would you be able to fix that?

Yes, this plugin is older than that service so that wasn’t an option. I have plans to revamp this old plugin soon!

3 Likes