C# ToolboxStop typing boilerplate. Scaffold a Clean Architecture solution, drop in patterns, and ship modern C# in seconds — without leaving VS Code. ▶ Install from VS Code · Marketplace · Changelog · Contributing · Privacy ★★★★★ on the Marketplace · trusted by 29,000+ .NET developers · works alongside C# Dev Kit
Why C# Toolbox?VS Code's official C# tooling gives you a great editor and debugger. C# Toolbox is the productivity layer on top. Where Visual Studio makes you click through dialogs and where C# Dev Kit stops at "open the project", we ship the features — solution scaffolds, pattern inserts, NuGet pickers, and modern code generation.
A quick tour
Quick start
Features at a glance🏗️ Project & Solution Scaffolding
📁 Framework-aware File Scaffolding
On .NET 6+ (modern templates):
On ⚡ Pattern Code Actions (
|
| Tag | Colour | Style |
|---|---|---|
// BUG |
red, bold | error |
// FIXME |
red, bold | error |
// TODO |
orange, bold | task |
// HACK |
yellow, italic | workaround |
// WIP |
yellow, italic | in progress |
// XXX |
red, bold, undr. | careful here |
// WARNING |
orange | caution |
// IMPORTANT |
red, bold, undr. | must read |
// NOTE |
blue | informational |
// RESEARCH |
blue | needs investigation |
// REVIEW |
magenta | needs review |
// OPTIMIZE |
teal | perf candidate |
// DEPRECATED |
grey, strikethr. | scheduled removal |
// // |
grey, strikethr. | commented out code |
All tags are configurable via csharp-snippet-productivity.tags.
📜 70+ Snippets
- General productivity —
cw,cwi,prop,func,try,class,ctor,instantiate,lst,dic,enum,switch,for,foreach, … - Modern C# 11 / 12 / 13 — collection expressions, primary constructors,
paramscollections, raw string literals,requiredmembers, list patterns, file-scoped types, UTF-8 string literals, generic attributes, static abstract members, default lambda parameters, inline arrays,ref readonlyparameters. - Architectural patterns — Result / Either, Option / Maybe, generic Repository, CQRS handler, Specification, Fluent Builder, Unit of Work, lightweight Mediator, Minimal API endpoints & route groups.
- GoF design patterns — Singleton, Factory Method, Adapter, Observer (commented reference implementations).
- XML documentation — full
xml-summary/xml-remarks/xml-returns/xml-param/xml-typeparam/xml-exception/xml-see/xml-list/ … set.
Full catalog with prefixes and expansions: docs/SNIPPETS.md.
⌨️ Keyboard Shortcuts
All commands are also reachable via Ctrl+Shift+P. Default chord shortcuts:
Ctrl+Alt+/thenp— Create ProjectCtrl+Alt+/thenc— Create ClassCtrl+Alt+/theni— Create InterfaceCtrl+Alt+/thenr— Create RecordCtrl+Alt+/thens— Create StructCtrl+Alt+/thena— Add Project to Solution
How does it compare?
| C# Toolbox | C# Dev Kit (Microsoft) | Roslynator | Visual Studio | |
|---|---|---|---|---|
| Modern C# snippet pack (C# 11–13) | ✅ | — | — | ✅ |
| Multi-project Clean Arch / DDD scaffold | ✅ | — | — | — |
| Pattern Code Actions (Result, CQRS, …) | ✅ | — | — | — |
| NuGet quick-add picker | ✅ | — | — | ✅ |
| Smart comment highlighting | ✅ | — | — | — |
| Solution dependency analyzer | ✅ | — | — | ✅ |
| Roslyn refactorings & analyzers | — | ✅ | ✅ | ✅ |
| Test Explorer | — | ✅ | — | ✅ |
| Debugger | — | ✅ | — | ✅ |
| Cost | Free | Free (license) | Free | Paid (Pro) |
| Cross-platform | ✅ | ✅ | ✅ | — |
Recommended setup: install C# Toolbox + C# Dev Kit + Roslynator for the full VS Code experience that rivals Visual Studio at zero cost.
Configuration
Open Settings and search for C# Toolbox, or edit settings.json:
| Setting | Type | Default | Description |
|---|---|---|---|
csharp-snippet-productivity.defaultFolderForProjectCreation |
string |
"" |
Default parent folder pre-filled in the project wizard. |
csharp-snippet-productivity.multilineComments |
boolean |
false |
Apply smart-comment colouring inside /* … */ blocks. |
csharp-snippet-productivity.highlightPlainText |
boolean |
false |
Apply smart-comment colouring to .txt files. |
csharp-snippet-productivity.telemetry.enabled |
boolean |
false |
Opt in to anonymous telemetry. Nothing is collected today. See PRIVACY.md. |
csharp-snippet-productivity.nuget.popularPackages |
array |
26 pkgs | Curated package list shown by Quick Add NuGet. |
csharp-snippet-productivity.tags |
array |
14 tags | Smart-comment tags, colours, and styles. |
What's new in 3.0.0
- New: Framework-aware file scaffolds —
Create Class / Interface / Struct / Recordnow reads<TargetFramework>from your.csprojand emits modern C# 10+ code on .NET 6+: file-scoped namespaces,internaldefault, no obsoleteusing System;, and positional records (public sealed record Order(...);). Legacynet5.0/netstandard*projects keep the classic block-namespace template.- New: Smart-comment defaults expanded — 14 tags out of the box (
BUG,FIXME,TODO,HACK,WIP,XXX,WARNING,IMPORTANT,NOTE,RESEARCH,REVIEW,OPTIMIZE,DEPRECATED,//).- New: Clean Architecture & DDD multi-project scaffolds — fail-fast: a failed
dotnet newaborts the chain with a single clear error instead of cascading.- New: Pattern Code Actions (
Ctrl+.) — Result, Option, Repository, CQRS, Specification, Builder, Unit of Work.- New: Quick Add NuGet Package — curated picker over 26 popular .NET packages.
- New: Analyze Solution — project-graph + circular dependency detection.
- New: Welcome walkthrough — first-class onboarding with four guided steps.
- New: Telemetry opt-in setting + PRIVACY.md.
- Renamed: Marketplace display name simplified from "C# Toolbox of Productivity" to "C# Toolbox". The extension ID, settings, and command IDs are unchanged — your existing config carries over.
- Fixed: Stale-framework bug in file scaffolds — previously the framework was read from a
globalStatevalue set by the project wizard.
Full CHANGELOG.
What was new in earlier versions
2.2.0
- Full .NET 9.0 support across every modern template, plus first-class .NET Aspire and Worker Service templates.
- Modern C# snippets for C# 11/12/13.
- Architectural pattern snippets — Result/Option, CQRS handler, generic Repository, Specification, Fluent Builder, Unit of Work, Minimal API.
- Wizard UX overhaul — recent projects, real-time validation, toast notifications, loading overlay, recommended/LTS framework badges, full keyboard navigation, theme-aware styling.
- Centralized Logger ("C# Toolbox" Output channel) and a constants module.
- Unit test infrastructure (Mocha +
vscodemock) and GitHub Actions CI.
2.1.1
- All scaffold commands available in the command palette (not only context menu).
- Template validation against the .NET SDK installed on the machine.
2.0.x
- Support for all project types and templates under project creation.
- Support for .NET 7.0 and .NET 8.0.
- Performance improvements; snippet conflict fixes.
1.x
- File-scoped namespaces in .NET 6.0 templates.
- Add Project to Solution; Create Class/Interface/Struct/Record from context menu.
- Project Templates: Console, Class Library, Web API, MVC, Razor Page, Angular SPA, React SPA, gRPC, Razor Class Library, Blazor Server / WebAssembly.
- Smart comment highlighting, GoF design pattern snippets, regex cheat-sheet.
Documentation
- CONTRIBUTING.md — How to set up a dev environment, coding standards, and the PR workflow.
- PRIVACY.md — What we collect (currently nothing) and how the opt-in telemetry contract works.
- docs/ARCHITECTURE.md — Module layout, command registry pattern, and the wizard message protocol.
- docs/SNIPPETS.md — Catalog of every snippet, its prefix, and what it expands to.
- docs/TESTING.md — Test infrastructure, the
vscodemock, and how to add a unit test.
Like it? Help us grow
If C# Toolbox saved you some clicks today, please:
- ⭐ Rate it on the Marketplace — reviews are the single biggest factor for new users finding the extension.
- ⭐ Star the GitHub repo to follow updates.
- 🐛 Open an issue if something's broken or you want a new feature — every issue gets a response within 48 hours.
- 🤝 Contribute a snippet, a pattern, or a code action via PR — see CONTRIBUTING.md.
Contributing
- Fork this repo to your own account
- Clone it locally and create a feature branch
npm installthennpm run watchto start the TypeScript compiler- Press
F5in VS Code to launch the Extension Development Host- Make your changes, add tests under
src/test/suite/, runnpm test- Open a PR against
main— CI runs lint, build, and tests on Linux / macOS / Windows.
Full guide: CONTRIBUTING.md.
License
MIT © Richard Zampieri



