Code With Imran Khan
Replace your compiler with Imran Khan — just like she replaced you with someone she liked more!!
A fun VS Code extension that reacts to your code with Imran Khan GIFs and audio clips. The sidebar shows context-aware GIFs based on your diagnostic errors/warnings, and plays audio feedback when you compile or run code from the terminal.
Features
A dedicated sidebar panel shows Imran Khan GIFs that change based on your code's diagnostic state:
| State |
Reaction |
| Zero errors & warnings |
Calm, approving GIF |
| Warnings only (no errors) |
Mildly concerned GIF |
| 1–3 errors |
Disappointed GIF |
| More than 3 errors |
Peak disappointment GIF |
Audio Feedback on Compile / Run
When you compile or run code in the integrated terminal, the extension automatically detects the language and plays a random audio clip:
- Success — plays a random clip from the success audio pool
- Failure — plays a random clip from the failure audio pool
Supported Languages
| Compiled |
Interpreted |
C / C++ (gcc, g++, clang) |
Python (python, py) |
C# (dotnet, csc) |
JavaScript (node) |
Java (javac, java) |
TypeScript (ts-node) |
Go (go run, go build) |
Ruby (ruby) |
Rust (rustc, cargo) |
PHP (php) |
| Swift |
Shell / PowerShell |
Audio also triggers on VS Code Build tasks.
Requirements
- VS Code 1.109+ (uses
onDidStartTerminalShellExecution / onDidEndTerminalShellExecution APIs)
- The sidebar panel must be open (click the smiley icon in the Activity Bar) for audio playback to work
Extension Settings
This extension contributes the following settings under code-with-imran-khan:
| Setting |
Type |
Default |
Description |
audio.enabled |
boolean |
true |
Enable or disable audio feedback on code compile/run. |
audio.success |
string[] |
["assets/audios/ok1.ogg", ...] |
Audio files to play (randomly) on successful compile or run. |
audio.fail |
string[] |
["assets/audios/e1.ogg", ...] |
Audio files to play (randomly) on failed compile or run. |
gifs.sidebarClean |
string |
"assets/ok2.gif" |
GIF shown in sidebar when code has zero errors and warnings. |
gifs.sidebarWarnings |
string |
"assets/e1.gif" |
GIF shown in sidebar when code has warnings but no errors. |
gifs.sidebarErrorsMinor |
string |
"assets/e3.gif" |
GIF shown in sidebar when code has 1–3 errors. |
gifs.sidebarErrorsMajor |
string |
"assets/e5.gif" |
GIF shown in sidebar when code has more than 3 errors. |
All GIF and audio paths can be relative to the extension directory or absolute paths or HTTP URLs.
Disabling Audio
To turn off audio feedback while keeping GIF reactions:
{
"code-with-imran-khan.audio.enabled": false
}
Known Issues
- Audio playback requires the sidebar panel to be visible. If the panel is collapsed or hidden, audio will not play.
- Autoplay may be blocked in some environments if the sidebar webview has not received any user interaction.
Release Notes
0.0.1
- Initial release
- Sidebar GIF reactions based on diagnostic errors/warnings
- Audio feedback on terminal compile/run (success & failure)
- Support for compiled and interpreted language detection
- Configurable GIF and audio assets
- Toggle to enable/disable audio
Enjoy coding with Imran Khan!