FAHHH on Error 🔊
A fun VS Code extension that plays a "FAHHH" sound effect whenever a command fails in your terminal or a task exits with an error. Never miss a failed build or broken test again!
Features
🎵 Automatic Error Sound Detection
The extension automatically detects errors in two ways:
Terminal Command Failures: When any command you run in the integrated terminal exits with a non-zero exit code (e.g., failed npm install, git push rejection, compilation errors)
Task Failures: When VS Code tasks (build tasks, test tasks, etc.) complete with an error
🎮 Manual Sound Test
Test the sound anytime using the Command Palette:
- Press
Ctrl+Shift+P (or Cmd+Shift+P on macOS)
- Type "Play FAHHH Sound"
- Press Enter
⏱️ Debouncing
The extension includes smart debouncing (1.5 second cooldown) to prevent sound spam when multiple errors occur in quick succession.
Installation
From VSIX File
- Download the
.vsix file
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X)
- Click the
... menu at the top of the Extensions panel
- Select "Install from VSIX..."
- Choose the downloaded
.vsix file
From Source
- Clone this repository
- Run
npm install
- Run
npm run compile
- Press
F5 to launch the Extension Development Host
Requirements
- VS Code version 1.109.0 or higher
- Windows: PowerShell (built-in)
- macOS:
afplay (built-in)
- Linux:
aplay (install via sudo apt install alsa-utils on Debian/Ubuntu)
Extension Commands
This extension contributes the following command:
| Command |
Description |
Play FAHHH Sound |
Manually trigger the FAHHH sound effect |
How It Works
The extension listens to two VS Code events:
onDidEndTerminalShellExecution: Fired when a command in the integrated terminal finishes executing. If the exit code is non-zero, the sound plays.
onDidEndTaskProcess: Fired when a VS Code task completes. If the task exits with a non-zero code, the sound plays.
The sound is played using native system commands:
- Windows:
System.Media.SoundPlayer via PowerShell
- macOS:
afplay
- Linux:
aplay
Customization
Using Your Own Sound
To use a custom sound:
- Replace the
media/fahhh.wav file with your own .wav file
- Keep the filename as
fahhh.wav, or update the path in src/extension.ts
- Recompile the extension with
npm run compile
Note: The sound file must be in WAV format for cross-platform compatibility.
Known Issues
- On some Linux distributions, you may need to install ALSA utilities for sound playback
- The terminal shell execution event requires VS Code 1.109.0 or higher
Release Notes
0.0.1
- Initial release
- Automatic error detection for terminal commands and tasks
- Manual sound test command
- Cross-platform support (Windows, macOS, Linux)
- Debouncing to prevent sound spam
Contributing
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
License
MIT
Enjoy never missing an error again! FAHHH! 🔊
Following extension guidelines
Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension.
Working with Markdown
You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:
- Split the editor (
Cmd+\ on macOS or Ctrl+\ on Windows and Linux).
- Toggle preview (
Shift+Cmd+V on macOS or Shift+Ctrl+V on Windows and Linux).
- Press
Ctrl+Space (Windows, Linux, macOS) to see a list of Markdown snippets.
Enjoy!