Argon is a simple two-way sync plugin for Roblox and extension for Visual Studio Code allowing developers not only sync code with ease, but any other instance as well with no need to re-generate project. It also provides tons of tools and quality of life improvements Argon is an alternative for Rojo not its replacement!
I’m not trying to be that one guy, but I’m not seeing anything that would make me use this over Rojo – Rojo is meant for both small and large teams, using Luau (TS isn’t officially supported by Rojo and is compiled to Luau)
Onto my next point here – How do you manage properties for instances? I know you were able to create them, but you showed nothing regarding their properties, nor does this seem to really have documentation. Another thing that may be relatively minor is configuration (in this context) – people might like to call a folder “src” or “source”, etc, but it seems like you’re only able to use “game” here. I feel like it’s something that would annoy me. Additionally, what about unknown instances (Rojo “$ignoreUnknownInstances” I believe)? Will Argon delete them immediately, or is there an option for its configuration?
That’s fine I mainly created this for myself and just wanted make it public in case someone else will find that useful.
Good point. I did not plan to add such a feature because I usually adjust properties in Studio. Tho now when I think about it it’s a good idea and I’m gonna add this in the near future. It will probably be done vie .properties file inside instance.
Actually it’s already an option but I did not create configuration file yet.
At this time they are just ignored.
Thank you very much for your valuable feedback really appreciate it!
I think this should be fixed, I’m not sure exactly how the plugin works, but if you stop the extension, delete an old file, and then restart it, would the old file still exist? If so, that would be an issue.
Overall though, this is a decent plugin. I think it’s a pretty cool thing to make and a good tool to help you and others.
Anything you do wile Roblox plugin is not connected to VS Code extension is added to queue on both sides. If you disable plugin or extension completely nothing is done. So yeah probably that will be an issue which I will fix in the future. Now I will focus on two way sync and exposing options to user.
The issue is you didn’t specify that there’d be a remote event under the script. Rojo has .meta files that you could use to solve that problem. (also remote events should typically be in replicatedstorage anyway)
You can already do that. When you create new instance inside VS Code and it already exists inside Roblox is will just get reference to that instance.
So in your example you would have to create (in VS Code) folder named name.Model inside folder named Workspace or ReplicatedStorage and then just create script inside of this folder e.g. Script.server.lua.
On my previous post I was taking about Roblox to VS Code scenario.
One big plus for this is the ‘easier-ness’ of working with UI and not having to create lots of Rojo meta files. In my experience, working with UI can be somewhat annoying in Rojo, because Rojo isn’t great at having code nested in non-folder/non-service locations (it’s possible to set it up, but it feels clunky). Alternatively, I’ve taken to ‘injecting’ the relevant UI code from one location into designated UI via code that has to be specifically called in other situations. All told, I don’t mind this approach, because it does give me some flexibility that I otherwise wouldn’t have had, but with something like Argon’s approach, I wouldn’t have had to spend the time creating it in the first place.