ICS — Indentation-based C# Syntax — is a brace-free view of your code for Visual Studio Code. Indentation carries the structure that braces used to. The files on disk stay ordinary C#.
Requires Visual Studio Code 1.100 or later and the .NET 10 runtime.
The same file, two views
ICS is a projection, not a format. Open a .cs file as ICS, edit it, apply it back.
Nothing new is written to disk — no sidecar files, no embedded metadata.
namespace Billing; public class InvoiceService { private readonly IClock clock; public decimal Total(IEnumerable<Line> lines) { decimal total = 0m; foreach (var line in lines) { if (line.Taxable) { total += line.Amount * 1.2m; } else { total += line.Amount; } } return total; } }
namespace Billing public class InvoiceService private readonly IClock clock public decimal Total(IEnumerable<Line> lines) decimal total = 0m foreach (var line in lines) if (line.Taxable) total += line.Amount * 1.2m else total += line.Amount return total
Ten lines disappear, and every one of them was a brace. Optional punctuation goes with them. Stripping parentheses from conditions and collapsing property accessors are separate settings, off by default.
Built to be trusted with your source
An unchanged preview returns the original C# precisely. No metadata is embedded in ICS and no sidecar files are written.
Rather than applying a conversion that would drop meaningful code or comments, the extension refuses the edit and tells you why.
Saves detect edits made elsewhere, and converter recovery preserves unsaved buffers instead of discarding them.
Hover, go to definition, find references, completion, semantic highlighting, and code lenses operate on the ICS view.
ICS parse errors and Roslyn diagnostics from the generated C# appear where you already look for them.
The standard Format Document shortcut canonicalizes ICS through the converter, so shared files stay consistent.
Pricing
Everything needed to read, edit, and convert C# through ICS is free. Pro removes the remaining seams for people who want ICS to be the editor, not a preview.
For trying ICS, and for using it file by file.
.ics files to C#, on demand or on save.ics fileFor working in ICS all day, on every file.
Privacy
The ICS converter contains no networking code at all. Not a policy — a property of the build. Conversion, parsing, and diagnostics happen entirely on your computer.
The extension makes network requests to exactly one destination, api.lemonsqueezy.com,
and only to activate, validate, or release an ICS Pro licence. No source code, file names, or
paths are transmitted, ever. There is no analytics or usage telemetry.
Error reports are never sent automatically. When something fails, the diagnostic opens in a local editor for you to read and edit. It is never placed in a URL. Only if you choose to copy it and open the issue form does anything leave your machine.
You can verify all of this: watch the traffic, or decompile the converter and look for the network stack that isn't there.