If you're a .NET developer forced to use VS Code instead of Visual Studio or Rider, you know the pain. The tooling just isn't there. No NuGet manager worth using, no EF migrations from the UI, no build/rebuild/clean on right-click, no proper file nesting.
So I built it.
Introducing .NET Essentials Toolbox
.NET Essentials Toolbox is a VS Code extension that brings the Visual Studio / Rider experience to .NET developers who live in VS Code.
Here's what it does:
NuGet Package Manager
Not the basic one. A full panel with:
- Search across multiple sources simultaneously (nuget.org, Azure Artifacts, GitHub Packages, any NuGet v3 feed — reads your
nuget.configautomatically) - Package detail panel with authors, license, description, tags, and per-framework dependencies
- Outdated package detection — highlights packages with newer versions available
- Update All button to update everything in one click
- Resizable panels
Build, Rebuild & Clean from the Context Menu
Right-click any folder, .csproj, or .sln (including the new .slnx format) to build, rebuild, or clean. Ctrl+Shift+B builds the solution from anywhere in the editor.
EF Core Migrations
Right-click your .csproj:
-
EF: Add Migration — auto-detects your
DbContext, asks for startup project if needed - EF: Update Database
- EF: Remove Migration
If dotnet-ef isn't installed, the extension offers to install it automatically.
New Item Templates
Right-click any folder and create:
- Class, Interface, Enum, Record
- Controller (API), Service, Repository, Middleware
Namespace is inferred automatically from the folder path. Moving a .cs file to another folder? The namespace updates automatically too.
New Project (dotnet new)
12 project templates from the Command Palette: Console, Web API, MVC, Class Library, Blazor, Worker, gRPC, xUnit, NUnit, MSTest, Minimal API. Optionally adds the project to your solution automatically.
Project References
- Add Project Reference — shows only unreferenced projects (multi-select)
- Remove Project Reference — shows existing references for removal
User Secrets
Opens secrets.json directly in the editor. Initializes UserSecretsId automatically if the project doesn't have one yet.
Launch Profiles
Run Project reads your launchSettings.json and lets you pick the profile — http, https, IIS Express, or any custom profile you defined.
Publish
Choose configuration, framework-dependent or self-contained, and runtime identifier (win-x64, linux-x64, osx-arm64, etc.).
Workspace Auto-Configuration
When you open a .NET workspace the extension automatically:
- Enables file nesting (
appsettings.*.jsonunderappsettings.json, etc.) - Hides
bin/andobj/folders - Applies a Rider-style icon theme for
.cs,.csproj,.sln,.cshtml,.json
Status Bar
The active solution or project name is always visible in the bottom bar. Click it to trigger a build.
Install
Search for .NET Essentials Toolbox in the VS Code Extensions panel, or install from the Marketplace.
Source code is on GitHub — PRs and issues welcome.
This is v0.1.1. A lot more planned. If you're a .NET developer using VS Code, give it a try and let me know what's missing.
Top comments (0)