-
Notifications
You must be signed in to change notification settings - Fork 0
Editor Setup
Cadenza does not ship its own language layer. It rides the base Roslyn LSP that the official C# extension is built on, so completion, hover, go-to-definition, and diagnostics light up for every Cadenza SDK as long as that extension is active and pointed at file-based apps.
| Editor | What you need |
|---|---|
| VS Code |
ms-dotnettools.csharp (just "C#", not "C# Dev Kit") |
| Cursor / Kiro / VS Code forks | The community-rebuilt C# extension from Open VSX (see below) |
| JetBrains Rider | Works with the .NET 10 SDK installed |
| Visual Studio | Works with VS 2026 + .NET 10 SDK |
The C# Dev Kit is not required for Cadenza.
- Install C# (
ms-dotnettools.csharp). Do not install OmniSharp-based alternatives. - Open a folder containing your
.csfile. - Open the file. The status bar should show the Roslyn LSP starting (
[Info] Starting Roslyn LSPin the C# output channel). - Type
#:sdk Cadenza.— the SDK list should suggestCadenza,Cadenza.Web,Cadenza.Mcp, etc.
If completion doesn't appear, see Troubleshooting → "IntelliSense not lighting up".
The Microsoft C# extension is gated to Microsoft-branded builds via marketplace EULA. For forks, use a community rebuild:
-
Open VSX:
dotnetdev-kr-custom/csharp— built by thevscode-csharp-autobuildpipeline from the upstreamdotnet/vscode-csharpsource.
- In the editor, open Extensions → search for
dotnetdev-kr-custom.csharp. - Install it. (If the editor pulls from VS Marketplace by default, switch its registry to Open VSX in settings.)
- Open Command Palette → "C#: Open Output". Confirm you see
Starting Roslyn LSPand not "Starting OmniSharp". If you see OmniSharp, setdotnet.server.useOmnisharptofalsein settings. - Open a
.csfile with#:sdkand verify completion.
Microsoft's debugger (vsdbg) is licensed for Microsoft-branded IDEs only. On forks, the official debug adapter is restricted. For step debugging in a fork, point your launch config at the muhammad-sammy/csharp build of the C# extension, which bundles netcoredbg instead.
// .vscode/launch.json (Cursor / Kiro with netcoredbg)
{
"version": "0.2.0",
"configurations": [
{
"name": "Run cadenza script",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "dotnet-build-file-based-app",
"program": "dotnet",
"args": ["run", "${file}"],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,
"console": "integratedTerminal"
}
]
}Adjust the program / args to match the netcoredbg adapter your fork's extension expects.
Open a folder containing .cs files. Rider detects file-based apps when the project SDK is .NET 10 — no extra setup required.
If #:sdk Cadenza@1.0.15 shows as unresolved, run dotnet restore once in the folder (or just dotnet run app.cs once) so the local NuGet cache has the Cadenza SDK package; Rider picks it up on the next file reload.
VS 2026+ supports file-based apps natively. Open the folder, then the .cs file. The SDK directive resolves the same way dotnet run resolves it on the CLI.
If your VS edition is older or doesn't show file-based app support in the IDE, the dotnet run app.cs CLI path still works — you just don't get the editor integration.
When the Roslyn LSP picks up a Cadenza script, you get:
- Completion for every Tier 1 bare name (
Get,Tool,Glob,Log.Info, …) - Completion across the referenced packages you pulled in with
#:package - Hover docs from the package XML comments
- Go-to-definition into the SDK source (decompiled if symbols aren't shipped)
- Diagnostics from the C# compiler exactly as in a project-based file
- Installation — getting the .NET SDK on the machine
- Troubleshooting — completion not lighting up, Roslyn LSP not starting, etc.
-
Directives — what the editor is completing when you type
#:sdk
Cadenza · MIT · .NET 10+ · github.com/rkttu/cadenza · No orchestra. No project. Just one file, playing solo.