DEV Community

Elison Frankowski
Elison Frankowski

Posted on

I Built a VS Code Extension That Brings the Visual Studio Experience to .NET Developers

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.config automatically)
  • 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.*.json under appsettings.json, etc.)
  • Hides bin/ and obj/ 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)