ICS — Indentation-based C# Syntax — is a brace-free view of your code for Visual Studio Code and Visual Studio. Indentation carries the structure that braces used to. The files on disk stay ordinary C#.
VS Code 1.100 or later: the needed .NET 10 runtime is installed automatically on first use.
Visual Studio 2022 or 2026 on Windows x64: the converter and runtime are included.
The same file, two views
The live ICS view is a projection of a .cs file: edit it and apply it back
without creating an .ics sidecar in your project or embedding metadata.
Local recovery copies are stored separately in the extension's data folder.
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.
$0 — no licence needed
For trying ICS, and for using it file by file.
.ics files to C# on demand.ics file$29 while ICS is in preview — $49 at 1.0
For working in ICS all day, on every file.
.ics files convert to C# whenever you saveA licence covers ICS Pro 1.x. Every 1.x update is free, forever. Version 2.0 will be a paid upgrade, at half price for existing customers.
When a new version of C# ships, ICS supports it within 90 days: your code converts in both directions without losing anything. In the unlikely event that features are added with no indentation-based form they will be preserved as ordinary C#.
A licence is for one person, with eight activations — enough for several machines,
in more than one editor. Each editor on a machine uses one activation. Release one
yourself at any time with ICS: Deactivate License — no need to ask us.
If ICS is not for you, ask within 30 days and we refund it. No questions.
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.
ICS itself 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.
In VS Code, the .NET runtime the converter needs is installed by Microsoft's .NET Install Tool extension, which contacts Microsoft to download and update it. ICS passes it only the runtime version to fetch and the ICS extension ID — never your code, file names, paths, or licence details. The Visual Studio extension includes the converter and runtime in its installation package.
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.