Train your aim without leaving your editor.
CodeAim is a modern, lightweight aim trainer built directly into VS Code. Practice your clicking accuracy, flicking speed, tracking precision, and reaction time — all without alt-tabbing to a browser.
- Click — Targets spawn randomly. Click them before they expire.
- Flick — Sequential targets appear one at a time. Flick to each as fast as possible.
- Tracking — A moving target with an HP bar. Keep your cursor on it to drain HP and score.
- Reaction — A red target turns green. Click as fast as possible when it changes. No false starts!
- Glassmorphism Design — Frosted glass panels with backdrop blur
- Neon Glow Effects — Targets and UI elements glow with theme-aware colors
- Particle System — Hit explosions with glowing particles
- Screen Effects — Screen shake on miss, streak announcements, combo counter
- Toggle fullscreen overlay with
Ctrl+Alt+Q(macOS:Cmd+Alt+Q) - Custom crosshair with accuracy ring
- Immersive aim training experience
- Keyboard shortcuts:
1-4for modes,Spaceto start,Escto exit
- Persistent Leaderboard — Top 50 sessions saved across restarts
- Performance Chart — Visual trend of your last 20 sessions
- Session Summary — Detailed breakdown after each session
- High Score Tracking — Per-mode best scores
- Difficulty Presets — Easy, Normal, Hard, Expert
- Fine-grained Settings — Target size, lifetime, spawn rate, max targets
- Sound Effects — Web Audio API synthesized audio (hits, misses, streaks)
- Warmup Mode — 3-second countdown before session starts
Search for "CodeAim" in the Extensions view (Ctrl+Shift+X) and click Install.
- Download the latest
.vsixfrom the Releases page - Open VS Code → Extensions sidebar →
⋯→Install from VSIX... - Select the downloaded file
git clone https://github.com/islam666/CodeAim.git
cd CodeAim
npm install
npm run compileThen press F5 to launch the Extension Development Host.
- Look for the ◉ CodeAim icon in the Activity Bar (left sidebar)
- Select a game mode: Click, Flick, Track, or React
- Choose a difficulty preset or customize settings
- Press ▶ Start and click the targets on the mini canvas
- View your stats and leaderboard history
- Press
Ctrl+Alt+Q(macOS:Cmd+Alt+Q) to toggle fullscreen overlay - Select mode, press ▶ Start
- Press
Escto exit overlay mode - Keys
1-4switch between modes Spacestarts the game
Open the Command Palette (Ctrl+Shift+P):
| Command | Description |
|---|---|
CodeAim: Start Training |
Start a training session |
CodeAim: Stop Training |
Stop the current session |
CodeAim: Reset High Score |
Reset all progress (with confirmation) |
CodeAim: Toggle Overlay Mode |
Toggle fullscreen overlay |
CodeAim: Open Settings |
Open CodeAim settings in VS Code preferences |
Access settings directly in the sidebar panel or via VS Code preferences (Ctrl+, → search "CodeAim"):
| Setting | Default | Range | Description |
|---|---|---|---|
| Target Size | 28 |
14–50 | Target radius in pixels |
| Target Lifetime | 3000 |
800–6000 | How long targets stay alive (ms) |
| Spawn Interval | 1200 |
400–3000 | Time between spawns (ms) |
| Max Targets | 4 |
1–10 | Maximum simultaneous targets |
| Sound Effects | on |
— | Toggle sound effects |
| Warmup | off |
— | Enable 3s warmup countdown |
- Base score: 10 points per hit
- Streak bonus: Up to +20 points scaling with current streak
- Reaction bonus: +20 for <300ms, +10 for <500ms reaction time
- Tracking bonus: +50 points for destroying a tracking target
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your 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
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch mode
npm run watch
# Lint
npm run lint
# Format
npm run format
# Package as VSIX
npm run packageSee CHANGELOG.md for version history.
MIT © Islam Elshayib