Table of Contents

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
object
VSCodeManager

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