Project Template Manager

A powerful VS Code extension for creating, managing, and using project templates with advanced variable substitution capabilities.
🚀 Features
✨ Core Functionality
- Template Creation: Create templates from existing projects
- Variable Substitution: Support for string, select, and boolean variables
- Project Generation: Generate new projects from templates with interactive forms
- Template Management: Organize, edit, duplicate, and delete templates
- Import/Export: Share templates via ZIP files
🎯 Advanced Features
- Sidebar Integration: Dedicated sidebar for template management
- Webview Panels: Interactive variable input and template preview
- Context Menus: Right-click actions for quick template operations
- Command Palette: Full command palette integration
- Configuration: Customizable template storage and settings
🔧 Technical Features
- TypeScript Support: Full TypeScript compilation and type safety
- Error Handling: Comprehensive error handling and user feedback
- Git Integration: Automatic author/email detection from Git config
- File Processing: Handle various file types and binary files
- Validation: Input validation and error prevention
📦 Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "Project Template Manager"
- Click Install
From VSIX File
- Download the
.vsix
file from releases
- In VS Code, go to Extensions
- Click the "..." menu and select "Install from VSIX..."
- Select the downloaded file
🎮 Quick Start
1. Create Your First Template
- Open a project you want to use as a template
- Press
Ctrl+Shift+P
and run "Create Template from Current Project"
- Fill in the template details and variables
- Your template is now ready to use!
2. Generate a Project
- Open the Project Templates sidebar
- Right-click on a template and select "Create Project from Template"
- Fill in the variable values
- Choose your project location
- Your new project is generated with all variables substituted!
3. Manage Templates
- Import: Right-click in sidebar → "Import Template"
- Export: Right-click on template → "Export Template"
- Edit: Right-click on template → "Edit Template"
- Delete: Right-click on template → "Delete Template"
🎨 Variable Types
String Variables
{
"name": "projectName",
"type": "string",
"label": "Project Name",
"default": "My Project",
"required": true
}
Select Variables
{
"name": "framework",
"type": "select",
"label": "Framework",
"options": ["React", "Vue", "Angular"],
"default": "React"
}
Boolean Variables
{
"name": "useTypeScript",
"type": "boolean",
"label": "Use TypeScript",
"default": true
}
⚙️ Configuration
Template Storage Path
{
"projectTemplateManager.templatesPath": "~/.vscode/templates"
}
{
"projectTemplateManager.defaultAuthor": "Your Name",
"projectTemplateManager.defaultEmail": "your.email@example.com"
}
Auto Refresh
{
"projectTemplateManager.autoRefresh": true
}
🎯 Use Cases
Web Development
- React/Vue/Angular project templates
- Full-stack application templates
- Component library templates
Backend Development
- API server templates
- Database project templates
- Microservice templates
Documentation
- Documentation site templates
- API documentation templates
- Technical writing templates
Learning Projects
- Tutorial project templates
- Example code templates
- Practice project templates
🛠️ Commands
Command |
Description |
Shortcut |
Create Template from Current Project |
Create a new template from the current workspace |
- |
Create Project from Template |
Generate a new project from a template |
- |
Import Template |
Import a template from a ZIP file |
- |
Export Template |
Export a template to a ZIP file |
- |
Refresh Templates |
Refresh the template list |
- |
Edit Template |
Edit template metadata and variables |
- |
Delete Template |
Delete a template |
- |
Duplicate Template |
Create a copy of a template |
- |
Preview Template |
Preview template structure and variables |
- |
📁 Sample Templates
The extension includes sample templates to get you started:
React TypeScript Template
- Complete React + TypeScript setup
- ESLint and Prettier configuration
- Component structure
- Variable substitution examples
🔧 Development
Prerequisites
Setup
git clone https://github.com/Sherin-SEF-AI/project-template-manager-VS-Code-Extension.git
cd project-template-manager-VS-Code-Extension
npm install
npm run compile
Running in Development
- Open the project in VS Code
- Press
F5
to launch the extension development host
- Test the extension in the new VS Code window
Testing
npm test
node test-features.js
🤝 Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
Development Setup
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
📝 Changelog
Version 1.0.0
- Initial release
- Complete template management system
- Variable substitution engine
- Sidebar integration
- Import/export functionality
- Sample templates included
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
👨💻 Author
Sherin Joseph Roy
📧 Email: sherin.joseph2217@gmail.com
🌐 Website: https://sherin-sef-ai.github.io/
📦 Publisher: sherinjosephroy
🆘 Support
⭐ Star History

Made with ❤️ by Sherin Joseph Roy
If you find this extension helpful, please consider giving it a ⭐ on GitHub!