Class VSCodeManager
- Namespace
- GrindFest
- Assembly
- GrindFest.dll
Manages VSCode extraction from StreamingAssets zip file with version checking.
The bundled zip is the official VS Code archive downloaded from Microsoft: https://update.code.visualstudio.com/latest/win32-x64-archive/stable No customizations are applied — it's the vanilla VS Code zip. To update it, use the Unity editor menu: GrindFest > VS Code Bundle > Download Latest.
Platform support:
- Windows: VSCode-win32-x64.zip → extracts → Code.exe (fully working)
- Linux: VSCode-linux-x64.tar.gz → extracts via system tar → ./code
The extracted folder lives in persistentDataPath (LocalLow/GrindFest) — always writable, survives game updates, and sits next to Saves, Scripts and Mods. Only the archive ships with the build; StreamingAssets is read-only on most platforms and is replaced by updates, so nothing is ever extracted there.
public static class VSCodeManager
- Inheritance
-
objectVSCodeManager
Properties
- CanLaunchProcesses
Whether this runtime can hand a path to the operating system at all. A probe, not a platform check: the rule is capability ("can I start a process?"), never identity ("which platform is this?"), so the same code path decides everywhere. Cached, because the probe allocates a Process object.
Methods
- EnsureVSCodeExtractedAsync()
Ensures VSCode is extracted and up-to-date
- GetVSCodeExecutablePath()
Gets the VSCode executable path
- InitializeAsync()
Initializes VSCode asynchronously in the background
- OpenProjectFile(string)
Opens the project file (.csproj) in the default associated program
- OpenScriptInVSCodeAsync(FileInfo, string)
Opens a script file in VSCode with proper configuration