Argon - Full featured tool for Roblox development

Yes and no.

Yes: Argon is reliable in most cases to sync, port instances to both studios and filtering.

No: As for right now, the chances of no is pretty much 5-10%. Argon is still in development stage, but the daily responses from the developer keeps it to a stable stage. As for right now, the bugs that may occur are syncing issues, porting issues or file checking issues from VSC to Roblox which causes the plugin to create extra folders.

But at the moment of v0.5.0 as the current version, I haven’t come across any issues. So, I will say it is 85% on an average that it is ready for production games as I’m getting the best possible services from Argon.

1 Like

@AridTheDev’s reply is pretty accurate.

Though for now I would say NO.

That’s because Argon was not tested in every scenario or is some edge cases. I’m not able to test these things alone, that’s why your feedback is so important! For now I think property syncing and two-way sync are most unreliable features.

So as long as Argon extension has flag “preview” (on VSC marketplace) you should not use that for game production!

not sure if this is reported or intended. my local scripts with children that are not scripts, frames etc, do not populate code in vscode when importing the roblox place to vscode.

Do you have only code mode on? Can you send a picture?

1 Like

Turning that setting off fixed it, although I would expect to see the code regardless if a script has non script instances under it. Thank you!

1 Like

Can reproduce it, that’s definitely a bug! Gonna fix that in update 0.5.2 (probably released today).

2 Likes

I appreciate that this plugin is lightweight, is there any plans to integrate roblox LSP as well? I think the one thing stopping me from using this in production is that there’s no intellisense with the games directory and requiring modules in VS code. It’s unintuitive to develop with type any on modules
image

…Yeah!

It will be released in the next major update 0.6.0 or 0.7.0.

EDIT: I meant to reply to @0MRob but somehow I replied to myself.

1 Like

Ah I missed that discussion, thank you!

Alright, I’ll probably use this in an unstable environment then in production, so it doesn’t mess anything up important.

Argon 0.5.2

Changes:

  • Fixed bug reported by @0MRob that blocked script source from being ported when script had non-script children
  • Fixed properties not porting when instance has no children
  • Fixed ArgonIgnore attribute not working in only code mode
  • Fixed UDim and UDim2 properties not porting
  • Fixed Argon logo on local website
  • Now porting is even faster
1 Like

Nevermind what I said down below. I just don’t know how to use wally (just figured it out)

The past few updates has drastically changed my workflow speed and I just can’t express how fast I’ve done stuff without opening roblox studio and lagging. Though, it’s still missing a few things. Roblox LSP (okay, not gonna brag about that anymore), wally support etc. Wally support would be really epic. I do think it is hard, so it probably will take some time, but not going to push you on it. And yes, that was my suggestion :sunglasses:

Btw, I’m also not sure if Argon already has this support so lemme know :smiling_face_with_tear:

For the past few days I was messing around with Roblox LSP’s source to integrate it with Argon. I found possible way of doing that but debugging this extension is nearly impossible because I can’ t print stuff to console.

So I decided to make some big changes to Argon itself. So first of all .argon.json will no longer be used. Instead data that has been stored in this file will now be stored in default.project.json, which is a Rojo file. So now by doing that almost every tooling that works on Rojo will work on Argon too.

Another change will be file naming. Instance names will no longer have classs inside it’s name. That’s necessary to make Roblox LSP and other tooling work with Argon. It will obviously break whole Argon project, tho to fix that you will simply have to port from Roblox again. Since Argon now supports properties, the class of an instance will be stored in the .properties.json file.

Last change will be 100% optional. It will be only required if you are interested in tooling. So the .source files will be named init and .properties files will be named meta. You will be able to change this setting inside VSC extension settings.

2 Likes

Probably the best idea (I think), because we have many-many packages which mostly follows the rojo formatting, so fixing it to work with Argon would be a pain. So, I probably like this idea of making it at least kind of similar to Rojo to make it support Roblox LSP and many other things. Good idea!

Did some testing and as of 0.5 it doesn’t seem to jump to the correct line in VS Code sadly :frowning:

Nope. At the moment, it jumps to the very first line so you would have to go to that line manually unfortunately. You can go to the line either by scrolling (I don’t think I needed to remind you of that) or by opening up the command palette and replacing the > by : and then the line number (if the script’s too big).

Forgot to mention that in the update but unfortunately it’s not possible. That’s because LogService does not provide enough data - it only provides message, message type and timestamp.

If you know walkaround for that problem let me know and I will add this to Argon!

THIS VERSION OF ARGON WILL NOT WORK WITH PROJECTS GENERATED WITH PREVIOUS VERSIONS!*

Argon 0.6.0 - important update!

Changes:

  • Added support for external tooling
  • Roblox LSP is now natively supported**
  • Clicking on output prints/errors will now get you to the right line in VSC, only when open in editor is enabled (requested by Plasmanode)
  • Added compatibility mode which replaces “.source” files with “init” and .properties files with “init.meta”
  • Instance classes are now stored in .properties.json only when property syncing option is enabled
  • Replaced .argon.json with default.project.json (required to for Roblox LSP and other tooling)
  • Removed update classes command and auto update option - no real use cases (still available in jsonGenerator.js)
  • Auto Studio launch now checks if Roblox is already running
  • Argon now utilizes new Roblox ScriptEditorService API
  • Modified existing extension options (auto setup)
  • Tons of bug fixes and code optimizations
  • Redesigned quick pick menu

Demos:

Roblox LSP support:

Opening scripts from ouput:

New class saving system:

New, simpler UI:

image

*In order to fix your project you have to delete literally everything from VSC and port from Roblox again.

**Currently .source files are not working, there is nothing I can do about it because my it requires to get my pull request merged. For now if you really need LSP support inside .source files you should enable “Compatibility Mode” inside Argon settings.

PS: @plasma_node I’ve manged to add what you wanted using ScriptDocuments. Hope you like it. :wink:

2 Likes

I think this is by far the best update for Argon, keep it up!

Bugs:

  1. It… does not.
  2. Porting folders with no children from VSC to roblox studio just keeps loading.

Edit: After some time it gave this error: Argon: HttpError: ConnectFail (ui4)
Edit2: I was connected but for some reason it disconnected, I connected again and it fixed it.
Edit3: Okay, found out that when you try to port blank folders from VSC to roblox, it will load for some time and give a warning (stated above) and there will be a message in the status bar of VSC on the left saying something like: This extension closed unexpectedly or something like that and it disconnects. Also, you cannot open the argon quick pick menu while it is porting.

1 Like

Awesome, thanks!

one thing, I notice that disabled scripts become enabled when sync from VS Code → Roblox

Haven’t read about what you are doing for properties, but is it possible there could be a separate way internally to store the state of a script being enabled or disabled?