Argon - VS Code sync [Plugin]

Not sure if your going to be able to do this but Rojo has the option to turn your stuff DIRECTLY into an rbxl

I will probably start working on this features in this or next week.

But please do remember that if you want to use Argon as source control tool you will have one problem which I won’t be able to fix.

So let’s say you have multiple parts in the workspace named “Part” - this will cause a problem because you can’t have multiple folders with the same name. In result you will end up with having just one part named “Part”.

1 Like

Thanks for the great reply!

No, I’m still using node.js’ http server.

I did this change because this was undesired behavior e.g. when I had multiple Roblox Studio instances running at the same time Argon tried to sync changes with every single one of them which resulted with throwing a tons of errors (excluding the one that was supposed to be connected).

Gonna start working on this once I add support for properties.

If you have any ideas to improve local website just let me know!

I’m not sure about this one as I wanted to keep everting in Roblox Studio/VSC - that’s first thing. Second thing it that .rbxl (unlike .rbxm) files are encoded so it would require some extra work to make this work properly.

So I don’t promise that I will add this. For now I have to add more important features such as:

  • Two-way sync
  • Support for properties
  • Support for Roblox LSP

I can’t help myself creating a tutorial on this plugin. I’m just recommending this over Rojo (only for small projects (for now)). This plugin has a bright future ahead of it, and I’m looking forward to it!

1 Like

I’m glad to work on a project with Argon and I tried to make this tutorial as easy as I could: Tutorial

1 Like

WOW! I’m very impressed!
I’m gonna link your topic to main post of this topic.

1 Like

I’m very thankful! I just help people as much as possible!

Is there a cli for this. Like how rojo has an executable you can install with foreman so you can do stuff in the terminal like rojo serve

Not yet.
Someone already suggested it before but it’s low priority as more people use VSC UI rather than terminal.

So I will start working on this feature after I release two-way sync, support for properties and some other more important features.

Not sure if you can fix this issue but sometimes it errors saying

cannot resume dead coroutine

when stopped. So… maybe try if statements to fix it or…?

I’m aware of this issue but problem is that it’s extremally random and when I want to fix it I can’t reproduce it at all. It’s already inside if statement look:

image

So I guess I’m gonna fix that in a little bit sketchy way, I will just put if statement inside pcall.

Using a pcall there might have an effect on the performance, however it look like it’s the best you can do to fix this issue. Though, the error does not have any effect on the actual plugin other than logging out the error.

Argon 0.3.2 & 0.3.3

Changes:

0.3.3

  • Added icon for .argon.json
  • Added support for custom directories (inside .argon.json)
  • Fixed issue with root folder caused by 0.3.2 update
  • Fixed “cannot resume dead coroutine” error

0.3.2

  • Added auto check for updates in both Roblox plugin and VSC extension
  • Added option to not create root (src by default) folder automatically (VSC)
  • Fixed some bugs which were caused by the lack of an open workspace (VSC)
  • Updating Argon settings no longer requires window reload (VSC)
  • Added more VSC icons

Custom directories

Added custom directories which may be useful for people developing e.g. plugins. Here is how to use them:

Auto create folder

Now you can disable automatic root folder creation:

New settings system

As you can see on previous video changing setting no longer requires you to restart VSC or reload the window.

Auto check for updates

Now you will be notified when the new version is released:
image

Future updates

Now I will start working on update 0.4.0 which will add two-way sync. Support for properties will be added in update 0.5.0.

1 Like

Man, I don’t think I can keep up with the updates you’re posting :sweat_smile:. It’s insane that you’re posting updates literally like every 3-4 days for a plugin. Incredible job as always!

1 Like

First off, I want to say that all the nay-sayers here can go kick rocks and kiss Rojo all they want. Nothing aginst Rojo but for me personally, Argon is a MASSIVE improvement in simplicity and ease of use for me.

I’ve noticed that if I have a script that has children, ie a model used for a game, and then I publish from VSCode → Roblox (after syncing to Vscode), it overwrites and screws up the children of that script.

I think a good fix for this would be a setting that would make it so that when you sync from vscode → Roblox, it copies the non-script children of a script, and then pastes them into the new script so it’s identical to before, but with any changes made.

Ie, if I have

image

And for some reason, need to manually force a sync from VsCode → Roblox, the model goes from looking like this

To looking like this

Wonder if this is what’s causing what I posted above?

There are two reasons why this is happening. First of all properties are not synced (this feature will be added in future updates) so all instances are created with its default values. Secondly if you have multiple parts with the same only one will be saved locally as it’s Windows’ limitation and there is nothing I can do about it.

If you update script, children should not overwrite, if this is happening I will have to fix that.

I’m half asleep rn so I will take a look at your post once again when I wake up.

Anyway thanks for the feedback!

EDIT: I can see that many people want to use Argon as source control tool so MAYBE after I release all of the most important features I will create separate plugin focused on source control which will be integrated with Argon.

1 Like

Tbh the only reason I port to Roblox is because sometimes I leave Argon off by mistake and don’t want to have to go back and ctrl + s in all of the scripts I changed, and recreate what I did in argon back in roblox.

I think a great solution would just be a separate sync button that only syncs code & folder changes/ignores other instances.

And again, thank you for your work with Argon.

Perhaps, turn on the “Only Code Mode” in the settings?