Soft Aware Workbench
Soft Aware is a comprehensive VS Code extension that transforms your editor into a complete local development environment for PHP, MySQL, and Apache. Manage runtimes, databases, websites, and development tools—all without leaving VS Code.
Supports Windows and macOS — works with your existing PHP, MySQL, and Apache installations or MAMP/XAMPP setups.
Feature Highlights
🖥️ Modern Dashboard
- Tabbed Workbench UI – Dashboard, Services, Sites, and Tools tabs for organized workflow
- Real-time Status – Visual status indicators for Apache and MySQL services
- Quick Actions – One-click access to common tasks
🔧 Runtime Management
- Multi-version Support – Register and switch between multiple PHP, MySQL, and Apache versions
- Configuration Access – Jump directly to php.ini, my.ini, httpd.conf from the sidebar
- Service Control – Start/stop Apache and MySQL from the status bar or command palette
🌐 Website Provisioning
- Local Domains – Create local development sites with automatic hosts file entries
- SSL Automation – One-click self-signed SSL certificate generation
- Virtual Hosts – Automatic Apache vhost configuration with SSL support
- Quick Access – Open sites in browser, terminal, or file explorer
- Database Browser – TreeView for exploring databases, tables, and columns
- SQL Query Runner – Execute queries and view results in output panel
- Import/Export – Backup and restore databases with mysqldump integration
- Database Management – Create and drop databases from the sidebar
📦 Composer Integration
- Package Browser – View installed dependencies in the sidebar
- Package Management – Install, update, and remove packages
- Autoloader – Regenerate optimized autoloader
- Validation – Check for outdated packages and validate composer.json
🧩 PHP Extension Manager
- Extension List – View loaded and available PHP extensions
- Toggle Extensions – Enable/disable extensions by modifying php.ini
- PHP Info – View full phpinfo() in a webview panel
- Quick Access – Open php.ini directly for manual editing
🐛 Xdebug Configurator
- Setup Wizard – Interactive wizard for configuring Xdebug
- Mode Selection – Debug, develop, coverage, profile, or trace modes
- Launch.json – Automatic VS Code debug configuration generation
- Quick Toggle – Enable/disable debugging with one command
📄 .htaccess Generator
- Template Library – 15+ ready-to-use templates for common configurations
- Categories – Rewrite, security, caching, optimization, and redirect templates
- Project Presets – WordPress, Laravel, SPA, or custom PHP setups
- Smart Insert – Insert templates at cursor or create new .htaccess file
Default Layout
Soft Aware pre-fills directories when it detects the standard layout:
Windows
| Stack |
Default Root |
Detection |
| PHP |
C:\softaware\bin\php |
Each subfolder becomes a PHP version |
| MySQL |
C:\softaware\bin\mysql |
Each subfolder becomes a MySQL version |
| Apache |
C:\softaware\bin\apache |
Each subfolder becomes an Apache version |
| Websites |
C:\softaware\www |
Site folders created from domain names |
macOS
| Stack |
Default Root |
Detection |
| PHP |
/usr/local/softaware/bin/php |
Each subfolder becomes a PHP version |
| MySQL |
/usr/local/softaware/bin/mysql |
Each subfolder becomes a MySQL version |
| Apache |
/usr/local/softaware/bin/apache |
Each subfolder becomes an Apache version |
| Websites |
/Users/Shared/softaware/www |
Site folders created from domain names |
Getting Started
- Install:
npm install
- Build:
npm run compile
- Launch: Press
F5 to open Extension Development Host
- Open Workbench: Run
Soft Aware: Open Workbench from command palette
Soft Aware adds four views to the activity bar:
- Stack Overview – Runtime versions, services, and websites
- Databases – MySQL database browser with context actions
- Composer – Package dependencies from composer.json
- PHP Extensions – Loaded and available PHP extensions
Commands
Core Commands
| Command |
Purpose |
softaware.openWorkbench |
Open the Soft Aware dashboard |
softaware.services.restartAll |
Restart Apache and MySQL |
softaware.services.stopAll |
Stop all running services |
Database Commands
| Command |
Purpose |
softaware.database.connect |
Connect to MySQL server |
softaware.database.create |
Create a new database |
softaware.database.query |
Open SQL query runner |
softaware.database.export |
Export database to SQL file |
softaware.database.import |
Import SQL file into database |
softaware.database.runQuery |
Execute current SQL file |
Composer Commands
| Command |
Purpose |
softaware.composer.init |
Initialize new composer.json |
softaware.composer.require |
Add a package |
softaware.composer.update |
Update all packages |
softaware.composer.install |
Install from composer.lock |
softaware.composer.dumpAutoload |
Regenerate autoloader |
softaware.composer.outdated |
Show outdated packages |
PHP Commands
| Command |
Purpose |
softaware.php.extensions.toggle |
Enable/disable extension |
softaware.php.extensions.openIni |
Open php.ini |
softaware.php.extensions.phpinfo |
Show PHP info |
softaware.xdebug.setup |
Run Xdebug setup wizard |
softaware.xdebug.toggle |
Quick toggle debugging |
Apache Commands
| Command |
Purpose |
softaware.htaccess.generate |
Generate .htaccess for project |
softaware.htaccess.insertTemplate |
Insert template at cursor |
Quick Actions
| Command |
Purpose |
softaware.tools.openPhpMyAdmin |
Open phpMyAdmin |
softaware.tools.openHostsFile |
Edit hosts file |
softaware.logs.openApacheError |
View Apache error log |
softaware.logs.openPhpError |
View PHP error log |
softaware.logs.clearAll |
Clear all log files |
Configuration
Settings are stored in VS Code's global configuration:
{
"softaware.php": {
"baseDirectory": "C:\\softaware\\bin\\php",
"selectedVersion": "php-8.3.16",
"versions": [{ "name": "php-8.3.16", "path": "..." }]
},
"softaware.mysql": { ... },
"softaware.apache": { ... },
"softaware.websites": {
"documentRoot": "C:\\softaware\\www",
"sites": [{ "domain": "myapp.local", "sslEnabled": true }]
}
}
Development
npm run watch # Incremental webpack build
npm run compile # Single production build
npm run test # Run integration tests
npm run lint # ESLint check
npm run package # Create .vsix package
Debugging
- Run Extension: Start development host for manual testing
- Debug Extension Tests: Run tests with breakpoint support
Release Notes
0.0.1
- Complete PHP/MySQL/Apache workbench with modern tabbed UI
- Database browser with query runner and import/export
- Composer package manager integration
- PHP extension manager with toggle support
- Xdebug configurator with launch.json generation
- .htaccess template generator with 15+ templates
- Service control via status bar and commands
- SSL certificate automation for local sites
- Quick actions for common development tasks
Requirements
- VS Code 1.106.0 or later
- Windows (primary target platform)
- PHP, MySQL, and Apache installations (portable recommended)
License
MIT
| |