Argon - Full featured tool for Roblox development

Could you send me your .project.schema.json file that is located in: %USERPROFILE%\.vscode\extensions\dervex.argon-1.0.0\assets.

These underlines are caused by json “type checking” (json schema) it is specified in the file above.

{
    "$schema": "http://json-schema.org/draft-07/schema#",
	"type": "object",
	"properties": {
		"name": {
			"type": "string"
		},
		"tree": {
			"type": "object",
			"properties": {
				"Chat": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"Lighting": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"LocalizationService": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"ReplicatedFirst": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"ReplicatedStorage": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"ServerScriptService": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"ServerStorage": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"SoundService": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"StarterGui": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"StarterPack": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"StarterPlayer": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						},
						"StarterCharacterScripts": {
							"type": "object",
							"properties": {
								"$path": {
									"type": "string"
								}
							}
						},
						"StarterPlayerScripts": {
							"type": "object",
							"properties": {
								"$path": {
									"type": "string"
								}
							}
						}
					}
				},
				"Teams": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"TestService": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				},
				"Workspace": {
					"type": "object",
					"properties": {
						"$path": {
							"type": "string"
						}
					}
				}
			}
		}
	}
}

secret easter egg for anybody that didn’t knew

That’s really weird there is no single $className word so that might be caused by different extensions. When I removed $className from Argon’s json schema I had the same issue but after like 2 hours or something it fixed by itself so maybe it will do the same for you.

Oh wow didn’t know about that

No need to read this, please continue

Fixed it. Looks like there was problem with my VSC. Uninstalling fixed the problem. It also fixed the underlining issue. But one more thing, you do need to add the "$className: "DataModel" property to tree or else the script linking won’t work. That’s it and no need to read the rest.

Another bug. It might be for me again, but when I run the local server from VSC, it runs but there’s no option for stopping. And it just says “Run Argon”.

argon bug on Vimeo

So, this is what’s happening. If the $className property isn’t in the json file, then it will not show the script linking. And when you add the $className property, and try to run it, it just breaks, or in simple words, doesn’t stop at all. You gotta remove the $className line and then restart VSC. Not sure if it’s just for me though.

Okay so first things first DataModel and $className properties are NOT required to make script linking work, look:

It literally shows you notification why you can’t start server in bottom right corner. And obviously you can’t stop server if it’s not running. This message means that you have already sever running on this port or it might be caused by bug described below:

That’s actual bug, unhandled properties are causing problems.

My good sir, you really went through the spoiler even though I told you not to? Anyways, I fixed that a little while ago. It occurred cuz a little bit of my git and lsp configuration. It’s all good now. I’m literally finding every “bug” in existence.

“No need to” ~= Don’t :wink:

That’s good. I REALLY appreciate it. You help me make Argon better and better.

Bro, it’s not just me. Everybody in this post has contributed at least once. They wanted to know about its importance and what it is, meaning they have interest in it. You’re the actual one making it better!

spoiler:lock()
-- Output: Spoiler on reply '344' has been locked for everybody.
1 Like

Thank you SO much. Because of you, I have finally switched to using VS Code for my roblox projects and it has made development so much better.

You had no reason to spend so much of your time making a superior alternative to Rojo and release it for free, yet you did. Hats off!

1 Like

Oh no! For some reason I can’t get syncing from VS Code to roblox to work anymore

Edit: NVM I think I just had to make a new workspace

Might make a “similar” project where you can convert your Python code into Luau.

Argon has nothing to do with converting code to another language. What you described is called “transpiler” and it’s rather similar to roblox-ts (TypeScript to Luau).

1 Like

I know I was just giving my own idea that sounds kinda “similar”.

Didn’t know that there was a resource about this.

yea those kind of resources unfortunately has very little audience. you would almost never find these in any projects.

Any plans to add built-in intellisence similar to what Rojo does? I would love to see Argon automatically capture types and return data from requires. Being able hover over a required module and seeing the properties and methods would be extremely nice. And also a link to the module so I can Ctrl + MB1 to open the script in VSCode.

Rojo doesn’t have built-in intellisense. You should use other extension for that e.g Roblox LSP. (It’s integrated with Rojo & Argon). Look:

My apologies! I actually had Roblox LSP installed this entire time and believed Rojo was doing it all this time (came from using only Roblox Studio for two years back to VSCode) :sweat_smile:

However, super happy to see it’s integrated with Argon as well! I am most definitely swapping over permanently!

Hi again,

I am running into some issues with Argon when trying to Port to Roblox with a custom project structure. I am not sure if I am doing something wrong (also I probably won’t stick with this structure, I am just testing out Argon):
image

image

image

image

I’ve tried reinstalling Argon, both the extension and plugin, clearing the old version out of my extensions user profile data. I’ve even went the extra length and gave the sub-folders class names which isn’t needed I don’t believe.

I feel like I’ve made a silly mistake that I am overlooking here.

Also I do get a warning whenever I do not assign $className to the tree: Missing property "$className".

Any ideas?