Wondering how Script Sync will handle my situation:
I really like and am comfortable with using the Studio text editor. It has improved a lot and now I have no complaints. (And that’s coming from someone who using the paid version of Sublime Text for everyone other than Roblox dev).
What I really want is to be able to use git with scripts created in Studio. Currently I use rbxlx files which are a bit unwieldy, but do work with version control. My team is not a good fit for Rojo, and currently Team Create forces use of binary rbxl files (the option to use rbxlx exists but it just gives you a binary file anyway with Team Create only).
Basically I want a Team Create compatible option that allows me to use git locally for scripts with a nice 100% Studio workflow. At least I think that’s what I want - you tell me!
Edit: when I say 100% Studio workflow just to be clear, I mean everything except local git. Not asking for a Studio git integration. I always prefer git standalone compared to IDE integrations. But the scripting features within Studio are now too good and timesaving (particularly having gotten very comfortable with typed Luau) for me to consider using an external editor for Roblox.
Don’t know if someone’s asked this already, but how would scripts inside scripts sync?
In Studio, I usually put ModuleScripts that will only be used in a script inside of the script, not in another folder. But you can’t put a file inside a file - only a file inside a folder.
I was originally thinking something like every script being its own folder, and it just has a file called “script.luau” in each one. But that’d get confusing very fast.
Mechanically, all you need to use git for code with an otherwise 100% Studio workflow is an ability to move files bidirectionally between the file system and Roblox Studio. Bi-directionality here is important because to check changes into git, you need changes to move from Studio to disk. And to pull new changes, you need changes to move from disk to Studio.
Studio Script Sync supports syncing in both directions, but currently sync can only be started from the Studio state. That means when you hit ‘Start Sync’, it will overwrite the file on disk with the state in Studio. Additionally, we don’t support syncing folders yet so when a new script was created in a commit you would need to manually create it in Studio before you could sync it. As you can see in the original post, we have plans to address both of these limitations.
However, it sounds like what you are really looking for is a one click ‘commit my script changes to git’ button in Studio. Technically, this could be built as a Studio plugin without involving Script Sync. I wonder if anyone has tried this…
If you ever wanted to load new changes from git, and you weren’t already syncing, the ability to hit ‘start sync’ and start from the state on disk rather than overwriting the state on disk would save you some manual steps.