As of January 10th, 2023, this project is no longer maintained. The repository listed below is now archived and no longer open to contributions. Please create or find a fork for new features.
Background
I have seen more developers adopt using external editors for Roblox development with Rojo to sync files. The biggest blocker I had was constantly switching between Roblox Studio and external editors for testing and using tools in Roblox Studio. Nexus Git helped a bit with this by giving me access to Git repositories from inside Roblox Studio and an easy way to convert to using Rojo and external editors in the future. Unfortunately, Nexus Git started to suffer from “scope creep” (what the project was trying to accomplish increased a lot) as time went on to the point where making it robust enough for me to keep using would require months of work. During this, I thought “imagine if I could just put VS Code in front of Roblox Studio”. On Windows, this ended up being possible and I got some good results after an hour of work.
Nexus Embedded Editor
The result of this was a project I call Nexus Embedded Editor. Nexus Embedded Editor attempts to overlay external editors over Roblox Studio and open scripts automatically when they are opened in Roblox Studio.
For those looking for more technical information about what the server does to accomplish this, a technical details document exists.
Why?
A pain-point with development is switching between windows when testing an application. For example, developing a website requires switching between a text editor and a browser with the website open. While isn’t too bad in multi-monitor setups, slows down development for single-monitor setups like laptops.
Setup
Nexus Embedded Editor requires getting both the client and the server, and enabling the HttpService
in Roblox Studio. All of the server binaries for Windows can be found under the GitHub releases. The system is set up so 1 binary and 1 plugin is set up for each editor, so you will need to pick the binary for your editor as well as the respective plugin. Right now, Nexus Embedded VS Code is the only one offered, but other editors can easily be supported.
If the editor you use or want to use it not supported, please either reply or create a GitHub issue with your editor you want and why you use it. Support for editors like Sublime text and Notepad++ will be accepted, but “inferior” editors like Notepad and WordPad won’t be accepted.
Plugin Usage
When using the plugin, two options exist on how it is set up. These include:
- Connect - Opens up the editor and opens up scripts when they are opened up in Roblox Studio. The window is not moved in this state. If you use Rojo, this functionality is coming in version 0.6.
- Attach - Connects the external editor and moves it in front of the Roblox Studio editor.
Do I Need Rojo?
With the initial design, Rojo was required to be set up to run so that Nexus Embedded Editor could determine what file to open. However, the design was modified to allow it to run without any project. If you open any script in Roblox Studio, it will open in the editor and sync back into Roblox Studio if it isn’t under a Rojo project. Be aware that the status of Rojo is not checked, and you may be making changes to scripts in the external editor without them appearing in Roblox Studio.
Cost
With the introduction of the plugin marketplace, I have started charging Robux for a period of time for new plugins. Since this plugin is relatively hacky and only works on Windows, I have decied to make the plugin free. If you want to support me for my Roblox development without Robux, I have launched a Patreon page.