https://github.com/elumine-dev/kotlin-jump
Kotlin navigation in VS Code that actually feels instant.
https://github.com/elumine-dev/kotlin-jump
android androidstudio code-navigation developer-tools kotlin kotlin-navigation navigation productivity vscode
Last synced: about 1 month ago
JSON representation
Kotlin navigation in VS Code that actually feels instant.
- Host: GitHub
- URL: https://github.com/elumine-dev/kotlin-jump
- Owner: elumine-dev
- License: mit
- Created: 2026-03-28T02:52:54.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-18T01:16:39.000Z (about 1 month ago)
- Last Synced: 2026-04-18T01:29:18.386Z (about 1 month ago)
- Topics: android, androidstudio, code-navigation, developer-tools, kotlin, kotlin-navigation, navigation, productivity, vscode
- Language: TypeScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=elumine.kotlin-jump
- Size: 60.1 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 Kotlin Jump
Instant Kotlin & Java navigation for VS Code
No language server. No delay. Just speed.
⚡ < 1 ms lookups • ⚡ 3,000+ files in <500ms
## ⚡ Why Kotlin Jump?
Most navigation tools are:
* slow
* heavy
* tied to language servers
**Kotlin Jump is different.**
👉 No LSP
👉 No JVM
👉 No waiting
Just **instant navigation**.
---
## 🚀 Get Started
After installing, open the interactive walkthrough:
**Command Palette** (`Cmd+Shift+P`) → **Kotlin Jump: Get Started**
It covers every feature with animated demos — takes less than 2 minutes.
---
## 🚀 Features
### 🔎 Core Navigation
| Shortcut | Action |
| ------------------- | ----------------------------------------------------- |
| `Cmd+Click` / `F12` | **Go to Definition** — jump to any symbol instantly |
| `Cmd+F12` | **Go to Implementation** — interface → implementation |
| `Shift+F12` | **Find All References** — across entire project |
| `Alt+F7` | **Find Usages** — filtered panel with preview toggles |
---
### ⚡ Smart Navigation (🔥 standout feature)
Cmd+Click adapts intelligently:
| You're on... | It does... |
| --------------------- | ----------------------- |
| Interface | Jumps to implementation |
| Interface method | Jumps to override |
| Method (single usage) | Jumps directly to usage |
👉 No extra steps. Just flow.
---
### 🎯 Developer Productivity
| Shortcut | Feature |
| ------------- | ----------------------------------------------------------- |
| `Cmd+T` | **Workspace Search** — fuzzy + filters (`@class:`, `@fun:`) |
| `Cmd+Shift+O` | **Outline** — symbol hierarchy |
| `Alt+Shift+T` | **Go to Test** — toggle `Foo.kt` ↔ `FooTest.kt` |
| Hover | **Hover Info** — signature, KDoc, package, types |
---
### 🔢 Code Lens
Inline usage counts above every class and function — always visible, no hover required.
* **N usages** — click to open the Find Usages panel
* **M implementations** — click to list all implementors
* Works on interfaces, abstract classes, open functions, and sealed types
---
### 🤖 AI Assistant
Use `@kotlin-jump` in Copilot Chat to query your symbol index in natural language:
```
@kotlin-jump find all implementations of Repository
@kotlin-jump doc for BattleEngine
@kotlin-jump usages of loadData
```
No extra setup — works as soon as the index is built.
---
## 🧠 What gets indexed
### Kotlin
* class, data class, sealed class, interface, object
* enum, fun, @Composable fun
* val, var, typealias
### Java
* class, interface, enum, record, @interface
---
## ⚙️ Configuration
Search **"Kotlin Jump"** in Settings (`Cmd+,`) or use:
```jsonc
{
"kotlinJump.excludeFromReferences": ["**/src/test*/**", "**/src/debug/**/*Preview.kt"],
"kotlinJump.testSourceSets": ["/src/test/", "/src/androidTest/"],
"kotlinJump.smartNavigation": true,
"kotlinJump.excludePatterns": ["**/build/**", "**/.gradle/**", "**/generated/**"],
"kotlinJump.maxIndexedFiles": 10000,
"kotlinJump.concurrency": 20,
"kotlinJump.parserWorkers": 4
}
```
---
## ⚡ Performance
* ⚡ <1 ms lookup time
* ⚡ <500 ms indexing (3,000+ files)
* ⚡ O(1) symbol resolution
> No language server. No compiler. Just speed.
---
## 🛠 How it works
A lightweight regex-based parser builds an in-memory symbol table using optimized maps.
* 4 worker threads
* incremental indexing
* disk persistence
👉 Only changed files are re-parsed.
---
## ⚠️ Limitations
* ❌ No code completion (not an LSP)
* ❌ No refactoring
* ⚠️ Overloaded functions → selection list
* ⚠️ Extension functions → indexed by name only
---
## 📦 Install
### Marketplace
Search **"Kotlin Jump"** in VS Code (`Cmd+Shift+X`)
---
### VSIX
Download the latest `.vsix` from [GitHub Releases](https://github.com/elumine-dev/kotlin-jump/releases/latest), then run:
```bash
code --install-extension kotlin-jump-1.5.0.vsix
```
---
### Build from source
```bash
git clone https://github.com/elumine-dev/kotlin-jump
cd kotlin-jump && npm install
node esbuild.js --production && npx @vscode/vsce package --no-dependencies
code --install-extension kotlin-jump-1.5.0.vsix
```
---
## 🔗 Links
* [Changelog](CHANGELOG.md)
* [Marketplace](https://marketplace.visualstudio.com/items?itemName=elumine.kotlin-jump)
* [Releases](https://github.com/elumine-dev/kotlin-jump/releases)
* [Issues](https://github.com/elumine-dev/kotlin-jump/issues)