StickyScroll brings VS Code's Sticky Scroll to JetBrains IDEs — the current scope stays pinned at the top of the editor while you scroll.
VS Code Sticky Scroll for JetBrains IDEs — see at a glance which class / method / scope you are scrolling through.
sticky-scroll-for-jetbrains-ide.mp4
Note: JetBrains now ships native Sticky Lines (2023.3+). This plugin was built as a proof-of-concept before that landed and is no longer actively maintained, but remains available for older IDE versions and for anyone who prefers its behavior.
- Pins the enclosing scopes (class, method, function, etc.) at the top of the editor
- Click a pinned header to jump to its declaration
- Configurable maximum number of pinned lines (Settings → Tools → StickyScroll)
| Language | Status |
|---|---|
| Java | ✅ Supported |
| Kotlin | ✅ Supported |
| Python | ✅ Supported |
| JSON | ✅ Supported |
| XML / HTML and other XML-based | ✅ Supported |
| Go, Rust, C/C++, C#, JavaScript, TypeScript, CSS, Dart, PHP, YAML, F# | 🔲 Requested — contributions welcome (see open issues) |
Jupyter notebooks (
.ipynb) are explicitly excluded to avoid crashes (#3).
From the Marketplace (recommended): Settings / Preferences → Plugins → Marketplace → Search "StickyScroll" → Install
From disk: download the latest release ZIP from Releases or the JetBrains Marketplace, then Settings → Plugins → ⚙️ → Install Plugin from Disk.
Settings → Tools → StickyScroll → Maximum lines — how many scopes to pin (0–10, default 10).
- #5 Javadoc can dominate the pinned area
- #14 Git blame gutter interaction
- #21 Pinned fragment vs. editor header z-order
- #23 Annotations shown before class header
See the open issues for the full list and language requests.
./gradlew runIde # run a sandboxed IDE with the plugin
./gradlew test # unit tests
./gradlew buildPlugin # build distribution ZIP
./gradlew runPluginVerifierRequires JDK 17 and Gradle 8.5 (see gradle.properties).
Contributions are welcome! Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md first.
No explicit license file is present — please open an issue if you need one clarified.