.NET Scaffolder by NotableBit

April 13, 2026 Β· View on GitHub

Version License VS Code .NET

Scaffold .NET projects with ease! An intuitive VS Code extension featuring tree view templates, interactive configuration, and hybrid Git integration.

Create Console apps, Web APIs, Blazor applications, class libraries, and test projects with ease! No more command-line gymnasticsβ€”just point, click, and code.


πŸ“‹ Table of Contents


✨ Features

Core Capabilities

  • 🎯 Visual Project Selection - Browse .NET project templates in an organized tree view
  • πŸš€ One-Click Creation - Create projects with minimal clicks, maximum productivity
  • βš™οΈ Interactive Configuration - Configure project settings through a user-friendly webview
  • πŸ“‚ Browse Button - Easy folder picker for selecting project location
  • πŸ“Š Real-time Progress Tracking - Watch your project come to life with live updates
  • πŸ”„ Cross-Platform - Works seamlessly on Windows, macOS, and Linux

Advanced Features

  • πŸ“¦ Solution Support - Automatically create and configure solution files with proper structure
  • 🌿 Hybrid Git Integration - Four Git options to fit any workflow:
    • Local-only repositories
    • GitHub CLI integration (create & push)
    • Custom remote URLs
    • No Git (for those who prefer otherwise)
  • 🎨 12+ Templates - Covering Console, Web, Blazor, Libraries, and Test projects
  • 🎯 Framework Flexibility - Support for .NET 6.0, 7.0, 8.0, 9.0, and 10.0
  • πŸ”’ Privacy-First Telemetry - Anonymous usage analytics (respects VS Code settings)

πŸ“¦ Installation

From VS Code

  1. Open Visual Studio Code
  2. Press Ctrl+P (or Cmd+P on macOS) to open Quick Open
  3. Type ext install notablebit.dotnet-project-creator
  4. Press Enter

From the Marketplace

Install directly from the VS Code Marketplace

From Source

git clone https://github.com/bdonaldharris/dotnet-project-creator.git
cd dotnet-project-creator
npm install
npm run compile

πŸš€ Quick Start

  1. Open the Explorer sidebar in VS Code
  2. Locate the .NET Scaffolder panel
  3. Browse template categories (Console, Web, Libraries, Tests)
  4. Click any template to open the configuration panel
  5. Fill in your project details:
    • Project name
    • Target path
    • Framework version (.NET 6.0 - 10.0)
    • Git integration option
  6. Click Create Project and watch the magic happen! ✨

Method 2: Command Palette

  1. Press Ctrl+Shift+P / Cmd+Shift+P
  2. Type .NET Scaffolder: Create Project
  3. Select your template from the quick pick
  4. Configure and create

βš™οΈ Configuration Options

When creating a project, customize these settings:

OptionDescriptionOptions
Project NameYour project's identifierAny valid .NET project name
Project PathWhere to create the projectAny writable directory
Target Framework.NET version to target6.0, 7.0, 8.0, 9.0, 10.0
Create SolutionGenerate a solution fileYes / No
Git IntegrationRepository initializationLocal, GitHub, Remote, None
GitHub VisibilityPublic or private repoPublic / Private (if using GitHub)
Remote URLCustom Git remoteAny valid Git URL (if using Remote)

🌿 Git Integration

Choose the Git workflow that fits your needs:

🏠 Local Only

Initialize a Git repository with .gitignore and initial commit. No remote setup.

Perfect for: Personal projects, experiments, offline work

πŸ™ GitHub CLI

Create a GitHub repository and push automatically using the gh CLI.

Perfect for: Open source projects, team collaboration

Requirements:

  • GitHub CLI installed (brew install gh / Download)
  • Authenticated (gh auth login)

πŸ”— Custom Remote

Initialize locally and push to your custom Git remote (GitLab, Bitbucket, self-hosted).

Perfect for: Enterprise, custom Git servers, non-GitHub workflows

🚫 No Git

Skip Git initialization entirely.

Perfect for: Quick prototypes, learning, environments without Git

πŸ“– More details: See GIT_INTEGRATION.md for comprehensive documentation.


πŸ“š Supported Templates

Console Applications

TemplateDescriptionUse Case
Console AppCommand-line applicationCLI tools, scripts, utilities
Worker ServiceBackground serviceLong-running services, processors

Web Applications

TemplateDescriptionUse Case
Web APIRESTful APIBackend services, microservices
MVC Web AppModel-View-ControllerTraditional web apps
Web App (Razor Pages)Page-based web appContent-driven sites
Blazor ServerServer-side BlazorInteractive web apps
Blazor WebAssemblyClient-side BlazorSPAs, PWAs

Libraries

TemplateDescriptionUse Case
Class LibraryReusable code libraryShared logic, utilities
Razor Class LibraryReusable Razor componentsBlazor component libraries

Test Projects

TemplateDescriptionFramework
xUnit Test ProjectUnit testingxUnit
NUnit Test ProjectUnit testingNUnit
MSTest Test ProjectUnit testingMSTest

πŸ’» Requirements

Essential

Optional


βš™οΈ Extension Settings

Customize the extension behavior via VS Code settings:

{
  "dotnetCreator.defaultProjectPath": "",
  "dotnetCreator.gitAutoInit": true,
  "dotnetCreator.openAfterCreate": true
}
SettingTypeDefaultDescription
defaultProjectPathstring""Default location for new projects
gitAutoInitbooleantrueAuto-initialize Git repositories
openAfterCreatebooleantrueOpen project in new window after creation

πŸ“ Commands

Access these commands via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

CommandDescription
.NET Scaffolder: Create ProjectCreate a new .NET project
.NET Scaffolder: Refresh TreeRefresh the templates tree view
.NET Scaffolder: Configure ProjectOpen configuration for a template

πŸ”§ Troubleshooting

.NET SDK Not Found

Problem: Extension shows ".NET SDK is not installed"

Solution:

  1. Download and install the .NET SDK from dotnet.microsoft.com
  2. Restart Visual Studio Code
  3. Verify installation:
    dotnet --version
    
  4. If still not working, check your PATH environment variable

Project Creation Fails

Problem: Project creation fails with errors

Common causes & solutions:

IssueSolution
Permission deniedCheck write permissions in target directory
Directory existsChoose a different name or delete existing directory
Path too longUse a shorter path (Windows limitation)
Invalid project nameUse only letters, numbers, underscores, hyphens

Still stuck? Check the VS Code Output panel (View β†’ Output β†’ .NET Project Creator) for detailed error messages.

Git Integration Issues

GitHub CLI not authenticated:

gh auth login

Git push fails:

  • Check your Git credentials
  • Verify remote URL is correct
  • Ensure you have push permissions

More details: See GIT_INTEGRATION.md

Getting Help

  1. Check existing GitHub Issues
  2. Review the CHANGELOG for known issues
  3. Create a new issue with:
    • VS Code version
    • .NET SDK version
    • Operating system
    • Error messages/logs

πŸ”’ Privacy & Telemetry

This extension collects anonymous usage telemetry to improve user experience.

What We Collect

βœ… Template usage patterns (anonymized)
βœ… Success/failure rates
βœ… Error types (no personal data)
βœ… Feature usage statistics

What We DON'T Collect

❌ File paths or project names
❌ Source code
❌ Personal information
❌ Credentials or tokens

Privacy Features

  • πŸ”’ Respects VS Code's built-in telemetry settings
  • πŸ”’ No external services (console logging only)
  • πŸ”’ Custom templates anonymized
  • πŸ”’ Fully transparent (see TELEMETRY.md)

Disable Telemetry

To disable:

  1. Open VS Code Settings (Cmd/Ctrl + ,)
  2. Search for "telemetry"
  3. Set telemetry.telemetryLevel to off

No additional configuration needed - the extension automatically respects your choice.

πŸ“– Full documentation: TELEMETRY.md


🀝 Contributing

Contributions are welcome! Here's how you can help:

Ways to Contribute

  • πŸ› Report bugs
  • πŸ’‘ Suggest features
  • πŸ“ Improve documentation
  • πŸ”§ Submit pull requests

Development Setup

# Clone the repository
git clone https://github.com/bdonaldharris/dotnet-project-creator.git
cd dotnet-project-creator

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Watch mode for development
npm run watch

# Run tests
npm test

Pull Request Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This extension is licensed under the MIT License.


πŸ“ Release Notes

v1.5.0 (Latest)

  • πŸ”§ .NET 10.0 support

v1.4.0

  • πŸ—‚οΈ Simplified solution layout when "Create solution" is selected:
    • //.sln at the solution root
    • ///.csproj nested under a same-named folder
    • Removed the previous extra 'src' nesting level

v1.3.0

  • πŸ“‚ Browse button for easy project path selection
  • 🏷️ Publisher rebranded to "notablebit"

v1.2.0

  • ✨ Privacy-first telemetry with anonymous usage analytics
  • πŸ“Š Error tracking and categorization
  • πŸ“– Comprehensive TELEMETRY.md documentation

v1.1.0

  • 🌿 Hybrid Git integration (local, GitHub, remote, none)
  • πŸ”§ .NET 9.0 support
  • πŸ“š GIT_INTEGRATION.md documentation

v1.0.0

  • πŸŽ‰ Initial release
  • 🎯 12+ project templates
  • πŸ“¦ Solution support
  • 🌿 Basic Git integration

πŸ“– Full history: CHANGELOG.md


πŸ’¬ Feedback & Support

Found a Bug?

πŸ› Report it on GitHub

Have a Suggestion?

πŸ’‘ Share your ideas

Need Help?

πŸ“– Check the documentation:

Connect


Made with ❀️ for .NET developers

⭐ Star us on GitHub if this extension helps you!

Happy coding! πŸš€