Code Minimap Plugin

Code Minimap Plugin

What is a code minimap and why is it useful?

I know a lot of people opening this thread might have done so out of curiosity rather than interest, so allow me to briefly explain.

A code minimap is like a “preview” of your script that allows you to very quickly and easily navigate your codebase by seeing the general structure and clicking to skip directly to a section.

Most IDE’s have this built in, like VS Code or Sublime. However, Studio does not, so I wrote one for you!

Why use my plugin?

Well, it’s the only code minimap for Roblox Studio that I can find at the moment. :stuck_out_tongue_winking_eye:
Code minimaps greatly increase your productivity and speed. Think of all the time you spend scrolling around your scripts, now imagine cutting out 90% of that time. That’s why almost every IDE comes with one!

My plugin is customizable without any finicky settings pages or complex controls.
It is a plugin widget, so you can size and position it to your liking. It uses the script editor colors that you’ve set in Studio, so it should be recognizable and readable to you.

My plugin is very efficient and fast! It’s built off of my syntax highlighter from Lua Learning and InCommand, so it’s been tested in real world scenarios and it’s very well optimized.

How do I use your minimap?

Very simple! Press the plugin button in the toolbar to open up the minimap. Click on a line in the minimap and it’ll open the script to that line.

Select a Script in your explorer and it’ll render for that script! It’s okay to click on some parts or something- this doesn’t prevent you from using your selection! It displays the last script you’ve selected, not simply naively using the currently selected, so you can still work in your Explorer while this is open!

You can set it to display your currently editing script! No need to click on selections, just open a script and it’ll automatically render that code’s minimap!

You can also set the zoom level!

QoL Features:

  • Highlights your syntax errors in bright red to help you quickly navigate to the erroneous code

image

  • Highlights your “to do” comments to help you quickly navigate to the WIP code
    Smart highlight system doesn’t falsely highlight strings, and soft matches to get all common ways you mark a “todo” comment!

Plugin Link:

131 Likes

Hoorah! Another wonderful resource from the one and only BoatBomber :smiley: I will definitely give this a try the next chance I get

1 Like

This is pretty cool and amazing that you made this plugin to navigate code, I’ll be sure to use this whenever I code next time. :eyes:

And once again, another great plugin to use for development!

2 Likes

This will be amazing! One Question though, Is there a way to view the code from the Minimap? (Like What it says there instead of just color?)

I tested it out with word display, but

  • Text is thin compared to a solid block so small = blurry and blends into the background
  • It’s too hard to read and instead you just strain yourself as your brain automatically tries to read it

If you structure your code well, you should be able to recognize the areas for their token composition that the minimap gives you.

3 Likes

Update:

Input method has been greatly improved- instead of having to click precisely on the colored token, you click the entire line.The hovered line is shown, so help you get precise input on the small screen.

Thank you to @Apakovtac for suggesting this improvement!

2 Likes

Update:

Minimap will now highlight errors and "todo"s for your benefit! This should increase your workflow speed even more!

Blue lines mean you’ve written a todo for yourself, and red lines means there’s a syntax error there!

The todo detection is pretty smart, if I may say so myself. It will only check comments, so it shouldn’t have false positives from strings! It’s very soft matched, so all common forms of todo marking should be caught.
image

5 Likes

Nice plugin! I’ll be sure to use this :+1:

I have a suggestion: would it be possible to add a feature to zoom in/out? I have a small screen so it would improve my workflow to have that ability.

3 Likes

I’ll look into that, good suggestion!

4 Likes

Once I have 268 Robux, I already know what I will buy with it! No joke, your plugins are the best @boatbomber. I don’t know how, but every time you do things like this, they make me want to discover new things while programming. I think I know how your script works, but maybe I’m wrong. In my opinion you get the content of the script through the LuaSourceContainer.Source property (excluding CoreScripts) and thanks to a parser you split the string of the script, so you can easily create a GUI of x color for every x part, right? It’s just one of the most useful plugins I’ve seen so far, I’m so happy! Unfortunately I lost most of my Robux because I bought InCommand (InCommand is soo good), but as I said before, I will definitely buy this plugin!

I have one last question: Does this minimap also work with Luau? If so, that’s one more point why I should buy this minimap, but honestly, where do you find such great ideas?

5 Likes

Thanks for all the kind words!
It works by lexing the .Source property, like you said! It does a bit of extra footwork for the error and todo highlighting, and uses plugin:OpenScript() when you click on a line.

It should work with Luau, since all the fundamentals are the same. There might be a few edge cases where a token color is wrong, but shouldn’t be often nor will it matter much.

2 Likes

While I’m of the opinion this is still vastly underselling yourself, it’s great that you included this in the post. The toxicity around this subject needs to be highlighted and called out more often.

By the way, this is an awesome plugin. Definitely keeping this one on hand.

14 Likes

Since you’re now an intern I expect more things like this from you my guy! :wink:
Lot of your releases have been so awesome and helpful for developers and aspiring developers, hope you continue bringing ideas like that on the inside!

I appreciate the love, but I’ve quit making plugins for the open market. See the PSA on the bottom of the post. I can’t do this anymore. You’re awesome, but the people who are not awesome outnumber you and ruin it for me.

A fellow plugin dev has received death threats over 5 cents. I get constant harassment and insults. I make next to no money off of my hours of work and I end up upset and stressed out.

11 Likes

I don’t know if this is intended behavior or not, but if you delete a script that is currently being shown in the minimap you can still open it by clicking on the lines.

1 Like

Thanks for including this! More people need to realize that plugins take a lot of time and effort to develop. Just because plugins have been free in the past doesn’t mean it needs to stay that way. Imagine the amazing plugins we could have these days if plugin devs could work full-time or at least dedicate time to working on these amazing tools knowing that they would make a return on their time investment.

9 Likes

Wow, I thought Roblox wouldn’t let them open if they were deleted! Definitely going to fix that in the morning, thanks for catching that!

I’ve been converted to VSCode, but I think this is cool enough to warrant the purchase anyways.

4 Likes

I just had a last-minute idea to add to this suggestion:
Maybe the text could be rendered when you zoom in far enough that the text would be readable?

4 Likes