1. Install from VS Code Marketplace
2. Open any JavaScript/TypeScript file
3. Hover over any symbol
No configuration. No API keys. Just works.
Hover over async, await, class, const, let, yield—get instant explanations with syntax and examples.
Array.map(), String.split(), Object.keys(), Promise.all()—all 200+ methods documented.
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.
| 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 |
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:
&,|,^,~,<<,>>
- 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...
split,join,slice,substring,substrtoLowerCase,toUpperCase,trim,trimStart,trimEndreplace,replaceAll,match,matchAll,searchincludes,startsWith,endsWith,indexOfpadStart,padEnd,repeat,at- And more...
Object.keys,Object.values,Object.entriesObject.assign,Object.freeze,Object.sealObject.create,Object.definePropertyObject.hasOwn,Object.is,Object.fromEntries- And more...
Promise.all,Promise.race,Promise.allSettled,Promise.anyPromise.resolve,Promise.reject.then,.catch,.finallyasync,await
console.log,console.error,console.warn,console.infoconsole.table,console.group,console.groupEndconsole.time,console.timeEnd,console.timeLogconsole.assert,console.count,console.trace
JSON.parse,JSON.stringifyparseInt,parseFloat,isNaN,isFinitesetTimeout,setInterval,clearTimeout,clearIntervalfetch,Request,ResponseMap,Set,WeakMap,WeakSetSymbol,Proxy,Reflect- And more...
document.querySelector,document.querySelectorAlldocument.getElementById,document.createElementaddEventListener,removeEventListenerclassList,setAttribute,getAttributeinnerHTML,textContent,appendChild- And more...
Error,TypeError,ReferenceError,SyntaxErrorRangeError,URIError,EvalError- Custom error handling patterns
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 |
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 |
# 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:packagePress F5 to launch the extension in debug mode.
- 🎉 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
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
MIT © KiidxAtlas
Leave a 5-star review — Takes 30 seconds, helps thousands of developers discover this tool!