As a Roblox developer, it is currently impossible to manipulate the debugger through a plugin.
I wanted to write a plugin to integrate Visual Studio Code breakpoints with Roblox Studio’s default debugger (I do all my scripting in VSC, and wanted to have my breakpoints localized there as well). Roblox has a fantastic API in the form of the ScriptDebugger and DebuggerManager APIs but the only way to get the DebuggerManager object is through a DebuggerManager() global. The command bar has access to this, but plugins do not, killing my entire idea.
I’d like for plugins to be able to access the DebuggerManager just like the command prompt.
As a temporary workaround, you might be able to develop this sort of plugin by sticking it in BuiltInPlugins, which has access to more features than normal plugins due to a higher security identity. You can use this until Roblox makes this feature accessible to normal plugins.
This, along with being able to create a ScriptDebugger for a ModuleScript using AddDebugger would enable plugins to do some cool stuff like evaluate unit test coverage programatically.
This is still very much needed, if not more so with the increase in the number of developers who use VSCode / Rojo (or similar toolsets) for their Roblox development.
Having Plugins able to enhance the Debugger would really benefit the platform, both in terms of external tooling (imagine being able to set breakpoints in VSCode and it being instantly mirrored in Studio!) and also for people writing their own enhancements. A win win.
Please reduce this object’s security level. The Command Bar hack I use is clunky when you add accurate play-solo in there since bindables don’t persist through DataModels
Having integration into the debugger would allow developers to write a Code extension that could sync breakpoints across two editors.
(cc. @Kampfkarren BuiltInPlugins have LocalUserSecurity now)
Bumping because this is needed still, even my funny way of getting into the command bar with plugins doesn’t work when the game is played because its a different state