🚀 Get Started in 10 Seconds
1. Install from VS Code Marketplace
2. Open any JavaScript/TypeScript file
3. Hover over any symbol
No configuration. No API keys. Just works.
📖 What You Get
Keywords & Syntax
Hover over async, await, class, const, let, yield—get instant explanations with syntax and examples.
Built-in Methods
Array.map(), String.split(), Object.keys(), Promise.all()—all 200+ methods documented.
Framework Support
Works automatically with React, Vue, Angular, Node.js, Express and more:
| Frontend |
Backend |
Utilities |
| React |
Node.js |
Lodash |
| Vue |
Express |
jQuery |
| Angular |
Next.js |
TypeScript |
| Svelte |
— |
— |
Using something else? If it's on DevDocs, JavaScript Hover can fetch it.
✨ Features
| Feature |
Description |
| 🎯 Smart Context Detection |
Knows if you're calling Array.filter() vs String.split() |
| 📚 200+ Built-in Docs |
Complete JavaScript/TypeScript reference |
| ⚡ Blazing Fast |
Cached documentation, works offline |
| 🔗 MDN Links |
One-click access to official docs |
| 💡 Practical Examples |
Copy-paste ready code snippets |
| 🎨 Beautiful UI |
Clean, readable hover tooltips |
| 🔧 Framework Detection |
Auto-detects React, Vue, Node.js, etc. |
| 💾 Persistent Cache |
Documentation cached across sessions |
🎯 The Problem This Solves
Every JavaScript developer faces this:
const items = data.filter(???) // What's the callback signature again?
const result = arr.reduce(???) // How does the accumulator work?
Your choices:
- ❌ Stop coding, open browser, search MDN, lose focus
- ❌ Try to remember from memory
- ✅ Hover over
filter() — documentation appears instantly
- Logical:
&&, ||, !, ?? (nullish coalescing)
- Optional Chaining:
?.
- Spread/Rest:
...
- Arrow Function:
=>
- Assignment:
=, +=, -=, *=, /=, ??=
- Bitwise:
&, |, ^, ~, <<, >>
Array Methods
- Iteration:
forEach, map, filter, reduce, find, findIndex
- Testing:
every, some, includes, indexOf
- Transformation:
slice, splice, concat, flat, flatMap
- Sorting:
sort, reverse, toSorted, toReversed
- And 20+ more...
String Methods
split, join, slice, substring, substr
toLowerCase, toUpperCase, trim, trimStart, trimEnd
replace, replaceAll, match, matchAll, search
includes, startsWith, endsWith, indexOf
padStart, padEnd, repeat, at
- And more...
Object Methods
Object.keys, Object.values, Object.entries
Object.assign, Object.freeze, Object.seal
Object.create, Object.defineProperty
Object.hasOwn, Object.is, Object.fromEntries
- And more...
Promise & Async
Promise.all, Promise.race, Promise.allSettled, Promise.any
Promise.resolve, Promise.reject
.then, .catch, .finally
async, await
Console Methods
console.log, console.error, console.warn, console.info
console.table, console.group, console.groupEnd
console.time, console.timeEnd, console.timeLog
console.assert, console.count, console.trace
Built-in Functions & Objects
JSON.parse, JSON.stringify
parseInt, parseFloat, isNaN, isFinite
setTimeout, setInterval, clearTimeout, clearInterval
fetch, Request, Response
Map, Set, WeakMap, WeakSet
Symbol, Proxy, Reflect
- And more...
DOM APIs
document.querySelector, document.querySelectorAll
document.getElementById, document.createElement
addEventListener, removeEventListener
classList, setAttribute, getAttribute
innerHTML, textContent, appendChild
- And more...
Error Types
Error, TypeError, ReferenceError, SyntaxError
RangeError, URIError, EvalError
- Custom error handling patterns
⚙️ Configuration
All settings are under jsHover.*:
| Setting |
Default |
Description |
enabled |
true |
Enable/disable the extension |
showExamples |
true |
Show code examples in hover |
showRelated |
true |
Show related methods/functions |
useDynamicDocs |
true |
Fetch live docs from DevDocs |
cacheDuration |
86400 |
Cache duration in seconds (24h) |
fontSize |
"medium" |
Font size: small, medium, large |
showEmojis |
true |
Show category emoji icons |
showBorders |
true |
Show section dividers |
maxSnippetLines |
15 |
Max lines in code examples |
showSignatures |
true |
Show function signatures |
showReturnTypes |
true |
Show return type info |
showDeprecationWarnings |
true |
Show deprecation alerts |
showQuickActions |
true |
Show doc/copy links |
showKeyboardHints |
true |
Show keyboard tips |
debounceDelay |
150 |
Hover delay in ms |
requestTimeout |
10000 |
HTTP timeout in ms |
openDocsInEditor |
false |
Open docs in Simple Browser |
enableDebugLogging |
false |
Enable debug output |
maxContentLength |
800 |
Max chars before truncation |
🎹 Commands
Access via Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
| Command |
Description |
JavaScript Hover: Clear Documentation Cache |
Clear all cached documentation |
JavaScript Hover: Open Documentation in Browser |
Open MDN/DevDocs for last hovered symbol |
JavaScript Hover: Copy Documentation URL |
Copy doc URL to clipboard |
JavaScript Hover: Insert Example at Cursor |
Insert code example at cursor |
JavaScript Hover: Increase Hover Font Size |
Make hover text larger |
JavaScript Hover: Decrease Hover Font Size |
Make hover text smaller |
JavaScript Hover: Show Cache Information |
View cache stats |
🔧 Development
# Clone repository
git clone https://github.com/KiidxAtlas/js-hover.git
cd js-hover
# Install dependencies
npm install
# Compile
npm run compile
# Watch mode
npm run watch
# Lint
npm run lint
# Package extension
npm run vsce:package
Press F5 to launch the extension in debug mode.
📝 Release Notes
0.1.0
- 🎉 Initial release
- 200+ JavaScript/TypeScript constructs documented
- Live DevDocs integration with caching
- Rich hover formatting with examples
- Status bar cache indicator
- 7 command palette actions
- Full configuration options
🤝 Contributing
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
📄 License
MIT © KiidxAtlas
⭐ Love JavaScript Hover?
Leave a 5-star review — Takes 30 seconds, helps thousands of developers discover this tool!
| |