Angular Assist - Environment Automation
September 6, 2025 ยท View on GitHub
VS Code extension to fully automate Angular development environments
A robust solution that streamlines setup and management of multiple Angular projects in corporate environments by providing smart automation, shared scripts, and standardized configurations.
๐ฏ Why this extension?
The problem
In corporate environments with multiple Angular projects running separately, developers face:
- Repetitive setup of tasks, debug, and scripts per project
- Inconsistent configurations between projects and developers
- Time wasted configuring the environment for each new project/workspace
- Difficulty standardizing development processes
- Scattered, non-reusable scripts across projects
The solution
Angular Assist fully automates environment setup by creating:
- โ A single configuration that adapts to any Angular project
- โ Reusable global scripts shared across all projects
- โ Automatic standardization of tasks, debug, and keybindings
- โ Smart detection of existing configurations
- โ An optimized workflow for development and debugging
๐ Features
๐ Smart detection
- Automatically detects Angular projects on workspace open
- Dynamically reads
angular.jsonto infer defaults - Validates dependencies and project structure
โก Instant setup
- Complete setup in under 30 seconds
- Auto-configures tasks, launch configs, and keybindings
- Optimized PowerShell scripts for development
๐ Shared scripts
- Reusable global scripts shared across all projects
- Smart management of Node.js processes
- Automatic cleanup of cache and temporary data
๐๏ธ Full control
- VS Code Tasks integrated with handy shortcuts
- Chrome debugging auto-configured
- Restart projects without losing context
๐ Language support
- Default language: English (en-US)
- Available languages: English (en-US) and Portuguese (pt-BR)
- Change via setting
angular-assist.languageor Command Palette: "Angular Assist: Change Language"
๐ฅ Installation
๐ฆ Option 1: Direct Download (Recommended)
- Download the extension:
- Go to the releases page
- Download the
angular-assist-automation-1.0.2.vsixfrom the latest release
- Install in VS Code:
code --install-extension angular-assist-automation-1.0.2.vsix
Or:
- Open VS Code
- Press
Ctrl+Shift+P - Type:
Extensions: Install from VSIX... - Select the downloaded
.vsix - Reload if prompted
๐ง Option 2: Local Build
# 1. Clone the repo
git clone https://github.com/ViniciusSilvaSouza/angular-assist-automation.git
cd angular-assist-automation
# 2. Install dependencies
npm install
# 3. Compile the project
npm run compile
# 4. Package VSIX
npm run package
# 5. Install the generated extension
code --install-extension angular-assist-automation-1.0.2.vsix
โ Verify Installation
After installing:
- Open an Angular project in VS Code
- The extension should auto-detect and offer to configure your environment
- Or use
Ctrl+Shift+PโAngular Assist: Configure Automation
Tips:
- Keep the
.vsixfile for future reinstalls- Works offline after installation
- To update, download the new version and reinstall the
.vsix- Check the releases for updates
๐ฎ How to Use
๐ง Automatic Setup
- Open any Angular project in VS Code
- Accept the configuration prompt when detected
- Provide the requested info (name, port, route)
- Done! Your environment is ready
๐ฏ Manual Setup
Ctrl+Shift+P โ "Angular Assist: Configure Automation"
โจ๏ธ Keybindings
- F5 - Start project (with debug)
- Ctrl+Shift+F5 - Restart project
- Ctrl+Alt+S - Stop all processes
๐ Configuration
During setup, you'll configure:
| Field | Description | Example | Default |
|---|---|---|---|
| Project name | Unique identifier | my-angular-project | - |
| Port | Dev server port | 4200 | 4200 |
| Debug port | Chrome debug port | 9222 | 9222 |
| Route | Application base route | /students | auto-detected |
Tip: The route is auto-read from
angular.jsonwhen available
๐ Created Structure
๐ In the project (workspace)
.vscode/
โโโ tasks.json # 6 optimized tasks for Angular
โโโ launch.json # Chrome debug configuration
โโโ keybindings.json # Custom keybindings
โโโ settings.json # Project-specific settings
๐ Global (system)
%APPDATA%/Code/User/globalStorage/angular-assist-automation/
โโโ scripts/ # Shared PowerShell scripts
โโโ start-projeto-vscode.ps1 # Start with integrated debug
โโโ start-projeto.ps1 # Standalone start
โโโ restart-projeto.ps1 # Smart restart
โโโ stop-all-processes.ps1 # Complete stop and cleanup
โโโ clean-chrome.ps1 # Chrome data cleanup
๐ ๏ธ Available Tasks
| Task | Shortcut | Description |
|---|---|---|
| Start Project | F5 | Starts the project with automatic debugging |
| ๐ Restart Project | Ctrl+Shift+F5 | Restart without losing context |
| ๐ Stop All Processes | Ctrl+Alt+S | Stop all related processes |
| ๐ Clean Chrome | - | Clean project-specific data |
| ng serve | - | Standard Angular CLI command |
| ng build | - | Production build |
โ๏ธ Settings
๐ Extension Language
Default language is English. Change it:
// settings.json (User or Workspace)
{
"angular-assist.language": "en-US" // or "pt-BR"
}
Or via command palette:
Ctrl+Shift+P โ Angular Assist: Change Language
๐ settings.json
{
"angular-assist.automation": {
"my-project": {
"projectName": "my-project",
"port": "4200",
"debugPort": "9222",
"route": "/students",
"workspacePath": "C:\\Dev\\my-project",
"globalScriptsPath": "C:\\Users\\user\\AppData\\...\\scripts"
}
}
}
๐๏ธ tasks.json (generated)
{
"version": "2.0.0",
"tasks": [
{
"label": "Start Project - my-project (Angular Assist)",
"type": "shell",
"command": "powershell.exe",
"args": ["..."],
"group": { "kind": "build", "isDefault": true },
"isBackground": true
}
// ... other tasks
]
}
๐๏ธ Architecture
๐ฆ Code structure
src/
โโโ commands/ # Extension commands
โ โโโ detectProject.ts # Angular project detection
โ โโโ setupAutomation.ts # Automatic setup
โโโ constants/ # Constants and texts
โ โโโ texts.ts # Central text system (i18n)
โโโ templates/ # Config templates
โ โโโ tasks.json # Tasks template
โ โโโ launch.json # Debug template
โ โโโ settings.json # Settings template
โ โโโ keybindings.json # Keybindings template
โ โโโ scripts/ # PowerShell scripts
โโโ types/ # TypeScript definitions
โโโ index.ts # Central re-exports
โโโ project.ts # Project types
โโโ vscode.ts # VS Code types
โโโ packageAndAngular.ts # package.json/angular.json types
๐งฉ Text system
// Texts organized by category
TEXTS.ERRORS.PROJECT_NOT_FOUND
TEXTS.PROMPTS.PROJECT_NAME
TEXTS.MESSAGES.SETUP_COMPLETE
TEXTS.TASKS.START_PROJECT
// Helper functions
buildText.setupComplete(projectName)
buildText.startingProject(projectName)
๐ Setup flow
- Detection โ Check if itโs an Angular project
- Validation โ Analyze package.json and angular.json
- Input โ Ask user for project info
- Generation โ Create configuration files
- Installation โ Copy global scripts
- Finalization โ Configure workspace
๐ง Development
๐ Prerequisites
- Node.js 18+
- npm 8+
- VS Code 1.103.0+
- TypeScript 5.0+
- PowerShell (Windows)
๐ Dev setup
# 1. Clone the repository
git clone https://github.com/ViniciusSilvaSouza/angular-assist-automation.git
cd angular-assist-automation
# 2. Install dependencies
npm install
# 3. Compile in watch mode
npm run watch
# 4. Test the extension
# Press F5 in VS Code to open the development host
๐ Available scripts
npm run compile # Compile TypeScript
npm run watch # Watch mode
npm run lint # Lint with ESLint
npm run package # Generate .vsix
npm run publish # Publish to marketplace
๐งช Testing
# Test with a local Angular project
# 1. Launch the extension (F5)
# 2. Open an Angular project in the new window
# 3. Exercise the features
๐ฆ Creating Releases
# To create a new release:
# 1. Update the version in package.json
# 2. Compile and generate the VSIX
npm run compile
npm run package
# 3. Create a Git tag
git tag v1.0.2
git push origin v1.0.2
# 4. Create a GitHub release with the .vsix
๐ค Contributing
๐ฏ How to contribute
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'feat: add AmazingFeature') - Push the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
๐ Guidelines
- Follow the existing coding style
- Add tests for new features
- Update docs when necessary
- Use semantic commits (feat:, fix:, docs:)
๐ Reporting bugs
Use GitHub Issues with:
- Clear problem description
- Steps to reproduce
- VS Code and extension version
- Error logs (if any)
๐ Roadmap
๐ฏ v1.0.2
- Publish on VS Code Marketplace
- Documentation improvements based on feedback
- Bug fixes reported by the community
๐ v1.1.0 (Near future)
- Multi-root workspace support
- Per-project settings via UI
- Customizable project templates
- Git hooks integration
๐ v1.2.0 (Future)
- Support for other frameworks (React, Vue)
- Project status dashboard
- Development metrics
- Cloud sync
๐ก Ideas under consideration
- Docker support
- CI/CD integration
- Plugins for other editors
- Collaborative mode
๐ Changelog
v1.0.0 (2025-09-03)
โจ Features
- โ Auto-detection of Angular projects
- โ Complete VS Code environment setup
- โ Optimized and reusable PowerShell scripts
- โ Centralized text system
- โ Dynamic configuration reading
- โ Automatic route normalization
- โ 6 preconfigured tasks
- โ Integrated Chrome debug
- โ Custom keyboard shortcuts
๐๏ธ Architecture
- โ Modular TypeScript structure
- โ Organized type system
- โ Reusable templates
- โ Centralized constants
๐ก๏ธ License
This project is licensed under the MIT License โ see LICENSE for details.
๐จโ๐ป Author
Vinรญcius Silva Souza
- GitHub: @ViniciusSilvaSouza
- Email: viniciussss@outlook.com.br
๐ Acknowledgements
- Angular community for the inspiration
- VS Code team for the extensible APIs
- Colleagues for valuable feedback