A modern Chrome extension for managing Xdebug sessions with IDE profiles and per-domain state. This extension helps PHP developers quickly enable or disable Xdebug debugging sessions directly from their browser, with support for multiple IDEs and custom configurations.
- 🔄 Enable/disable Xdebug sessions with a single click
- 🛠️ Support for multiple IDE profiles:
- PHPStorm
- VS Code
- Custom profiles with custom session keys
- 🌐 Per-domain state management
- 🔐 Secure implementation with strict CSP
- 🎨 Modern, user-friendly interface
- 🔒 Privacy-focused: no data collection, works offline
- Node.js (v18 or higher)
- npm (v9 or higher)
- Chrome browser
- Clone the repository:
git clone https://github.com/yourusername/xdebug-helper-pro.git
cd xdebug-helper-pro
- Install dependencies:
npm install
- Start development server:
npm run dev
- Build the extension:
npm run build
- Load the extension in Chrome:
- Open Chrome and navigate to
chrome://extensions
- Enable "Developer mode" in the top right
- Click "Load unpacked" and select the
dist
directory - The extension icon should appear in your toolbar
- Open Chrome and navigate to
To create a production build and package the extension:
npm run build:prod
This will:
- Clean the
dist
directory - Build the extension for production
- Create a
xdebug-helper-pro.zip
file ready for Chrome Web Store submission
- Download the latest release from the releases page
- Extract the ZIP file
- Open Chrome and navigate to
chrome://extensions
- Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extracted directory
This project uses:
- TypeScript for type safety
- Vite for building
- ESLint and Prettier for code quality
- Modern JavaScript features
- Strict CSP for security
Available commands:
npm run dev
- Start development servernpm run build
- Build the extensionnpm run lint
- Run ESLintnpm run format
- Format code with Prettier
xdebug-helper-pro/
├── src/ # Source files
│ ├── background.ts # Service worker
│ ├── popup.ts # Popup script
│ ├── popup.html # Popup HTML
│ ├── types.ts # TypeScript types
│ └── utils/ # Utility functions
├── public/ # Static assets
│ └── icon.png # Extension icon
├── dist/ # Build output (not in repo)
└── ...config files
Contributions are welcome! Please follow these steps:
- 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
Please ensure your PR:
- Follows the existing code style
- Includes appropriate tests
- Updates documentation as needed
- Has a clear description of changes
- Click the xDebug Helper Pro icon in your Chrome toolbar
- Select your preferred IDE profile (PHPStorm, VS Code, or custom)
- Toggle Xdebug sessions for each domain
- For custom profiles, enter your desired Xdebug session key
- The extension will maintain your preferences per domain
This extension implements:
- Strict Content Security Policy (CSP)
- Input validation and sanitization
- Secure cookie handling
- No external dependencies or tracking
- Regular security updates
MIT License - see LICENSE file for details
- Xdebug - The powerful PHP debugging tool
- Chrome Extensions Documentation - For development guidelines
- All contributors who help improve this project
If you find this project helpful, consider supporting us:
Every bit of support helps us improve and maintain this tool for developers like you.