.NET Scaffolder by NotableBit

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, and 9.0
- 🔒 Privacy-First Telemetry - Anonymous usage analytics (respects VS Code settings)
📦 Installation
From VS Code
- Open Visual Studio Code
- Press
Ctrl+P
(or Cmd+P
on macOS) to open Quick Open
- Type
ext install notablebit.dotnet-project-creator
- 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
Method 1: Tree View (Recommended)
- Open the Explorer sidebar in VS Code
- Locate the .NET Scaffolder panel
- Browse template categories (Console, Web, Libraries, Tests)
- Click any template to open the configuration panel
- Fill in your project details:
- Project name
- Target path
- Framework version (.NET 6.0 - 9.0)
- Git integration option
- Click Create Project and watch the magic happen! ✨
Method 2: Command Palette
- Press
Ctrl+Shift+P
/ Cmd+Shift+P
- Type
.NET Scaffolder: Create Project
- Select your template from the quick pick
- Configure and create
⚙️ Configuration Options
When creating a project, customize these settings:
Option |
Description |
Options |
Project Name |
Your project's identifier |
Any valid .NET project name |
Project Path |
Where to create the project |
Any writable directory |
Target Framework |
.NET version to target |
6.0, 7.0, 8.0, 9.0 |
Create Solution |
Generate a solution file |
Yes / No |
Git Integration |
Repository initialization |
Local, GitHub, Remote, None |
GitHub Visibility |
Public or private repo |
Public / Private (if using GitHub) |
Remote URL |
Custom Git remote |
Any 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
Template |
Description |
Use Case |
Console App |
Command-line application |
CLI tools, scripts, utilities |
Worker Service |
Background service |
Long-running services, processors |
Web Applications
Template |
Description |
Use Case |
Web API |
RESTful API |
Backend services, microservices |
MVC Web App |
Model-View-Controller |
Traditional web apps |
Web App (Razor Pages) |
Page-based web app |
Content-driven sites |
Blazor Server |
Server-side Blazor |
Interactive web apps |
Blazor WebAssembly |
Client-side Blazor |
SPAs, PWAs |
Libraries
Template |
Description |
Use Case |
Class Library |
Reusable code library |
Shared logic, utilities |
Razor Class Library |
Reusable Razor components |
Blazor component libraries |
Test Projects
Template |
Description |
Framework |
xUnit Test Project |
Unit testing |
xUnit |
NUnit Test Project |
Unit testing |
NUnit |
MSTest Test Project |
Unit testing |
MSTest |
💻 Requirements
Essential
- .NET SDK - Version 6.0 or higher
- Visual Studio Code - Version 1.74.0 or higher
Optional
- Git - For repository initialization
- GitHub CLI - For GitHub integration
⚙️ Extension Settings
Customize the extension behavior via VS Code settings:
{
"dotnetCreator.defaultProjectPath": "",
"dotnetCreator.gitAutoInit": true,
"dotnetCreator.openAfterCreate": true
}
Setting |
Type |
Default |
Description |
defaultProjectPath |
string |
"" |
Default location for new projects |
gitAutoInit |
boolean |
true |
Auto-initialize Git repositories |
openAfterCreate |
boolean |
true |
Open project in new window after creation |
📝 Commands
Access these commands via the Command Palette (Ctrl+Shift+P
/ Cmd+Shift+P
):
Command |
Description |
.NET Scaffolder: Create Project |
Create a new .NET project |
.NET Scaffolder: Refresh Tree |
Refresh the templates tree view |
.NET Scaffolder: Configure Project |
Open configuration for a template |
🔧 Troubleshooting
.NET SDK Not Found
Problem: Extension shows ".NET SDK is not installed"
Solution:
- Download and install the .NET SDK from dotnet.microsoft.com
- Restart Visual Studio Code
- Verify installation:
dotnet --version
- If still not working, check your PATH environment variable
Project Creation Fails
Problem: Project creation fails with errors
Common causes & solutions:
Issue |
Solution |
Permission denied |
Check write permissions in target directory |
Directory exists |
Choose a different name or delete existing directory |
Path too long |
Use a shorter path (Windows limitation) |
Invalid project name |
Use 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
- Check existing GitHub Issues
- Review the CHANGELOG for known issues
- 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:
- Open VS Code Settings (
Cmd/Ctrl + ,
)
- Search for "telemetry"
- 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
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
)
- Commit your changes (
git commit -m 'Add amazing feature'
)
- Push to the branch (
git push origin feature/amazing-feature
)
- Open a Pull Request
📄 License
This extension is licensed under the MIT License.
📝 Release Notes
v1.3.0 (Latest)
- 📂 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! 🚀