The core engine behind the GSC Language Support extension. This repository contains both the .NET 10 Language Server and the TypeScript VS Code client.
GSCLSP.Core/: The C# Library that handles all parsing & indexing logicGSCLSP.Lexer/: The C# Library that handles all lexer logicGSCLSP.Server/: The C# Language Server using OmniSharp. (.NET 10 (Self-contained, Single-file, Compressed))GSCLSP.Extension/: The VS Code extension client. (TypeScript)GSCLSP.Extension/out/: Final binaries and data files for distribution.
- .NET 10 SDK
- Bun (https://bun.sh)
- Download the .NET 10.0 SDK, and make sure it is the latest version.
You want Build apps - SDK -> SDK 10.X.XXX on the left side.
- Download Bun by going to their website and selecting your OS, and running the command.
- Run the following command to build the server:
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:EnableCompressionInSingleFile=true- Open
GSCLSP.slnxin Visual Studio or IDE of choice - Setup your NuGet to build the C# server
You can do so by going to Tools -> NuGet Package Manager -> Package Manager Settings, and then going to Sources and adding
nuget.orgfor sourcehttps://api.nuget.org/v3/index.json.
- Set the target to
Release, and then right click on the solution on the right and clickBuild Solution - Open a command prompt, and run
bun installinside of theGSCLSP.Extensionfolder.
Now you can open VSCode in the GSCLSP.Extension source code, and click F5 in a extension's file to test. Using the VSCode Extension Tester's reload function will work for server changes you build on the .slnx easily.
- Lierrmm - Intial work and supporting commits
- mjkzy - Supporting commits
- xensik - GSC engine functions & methods (check out https://github.com/xensik/gsc-tool)