So i’ve been scripting for many years and one of the things i find annoying is how i gotta reference services and modules over and over again, it gets very frustrating and so i’ve created the all solution fix for this annoying, frustrating problem.
My first version of this was pretty hard to work with and really bad, so i revisited this almost a year later when i had to get onto a big project where i need to write thousands of lines and modular code.
What is it about?
The plugin is called QuickService and what it does is basically if your editing a script and wish to get a service fast with the full name and everything all you have to do is type 2 colons like this :: and it shows a list of services you can pick and if you wish to pick something specific you can add onto the name for example ::replicated and then it’ll show replicatedstorage and replicatedfirst.
If you don’t like the shortcut of a specific service that’s fine too! you can change the shortcut of any service to whatever
If you want to add your own custom code snippets you can also do that by going to the second tab and press the + button and then you’ll have your own custom snippet that you can edit and works also with intellisense
It can be useful and save you alot of time when writing alot of services but it won’t be any use to someone who writes fast
What's new in this rework?
Modules AutoCompletion
It fetches all the modules in your game and they can be referenced using double colons and with intellisense as well, this is an option in settings that you can disable if it’s annoying
Relative Require
This works with Modules AutoCompletion and what it basically does is instead of referencing modules using the old fashioned way (which is basically getting a service then the location of the module) it uses a newer method roblox released a while ago that basically works similar to JS
Faster AutoComplete
This one is disabled by default in settings but if you wish to instantly enter in a service or a module without dealing with intellisense, you could just add 2 colons and then typing out the abbreviation or the module’s name
All the other settings are pretty much self-explanatory and you should not face any problems with them.
The Auto Start setting only toggles the UI upon starting studio and does not do anything else, so it would still even work if you have Auto Start off
This plugin was made in a singular day with nothing but me pulling an all nighter to make my coding life easier and others who face the same problem as me.
If you have any suggestions or find any bugs, let me know!
Okay i tried it, i will say the UI definitely got an improvement from the old version and its much easier to navigate. (nothing special obviously but definitely a major improvement from the old one)
Personally i love the addition of the module autocompletion setting as it makes it a lot easier for me to manage my games modules, overall this plugin is a very good upgrade from the old one and i will definitely continue to use it for my games.
trying to use " :: " With Services doesn’t seem to work for me, I had to add them manually as snippets in the gui menu, Also a suggestion, maybe you could try adding Instance autocomplete in general
By Instance autocompletion, they mean making it so you can reference any instance in the game such as a Frame inside of a ScreenGui, pretty much any object, for example.
Server-Side: local Value = workspace.Folder.Part.ObjectValue
Client-Side: (Since loading times can vary on the player’s device.) local Folder = workspace:WaitForChild("Folder")
You can make a custom code snippet for whatever you want, however the use case for “WaitForChild” is very subjective and i don’t know how i would add it since some people don’t like using it at all and some add timeouts and some just use FindFirstChild.
I could add more options for stuff like that though.
I’ll give it more thought and think about it more, if i add it how i would do it.
True say on the use case being subjective, however, (for instance autocompletion) I’m pretty sure spook is referencing being able to just reference any instance in the game so it makes a path FOR you, such as for a specific model located inside of a hierarchy of 500 other models.
@49xi 's right, Also , If you plan on adding them, you could make so they are customizable, so instead of a hardcoded local x = workspace.x , in the gui itself we could be able to modify it to “FindFirstChild:()” , I remember this plugin called Completo, it had a similar feature, you could take a look