vscode-spring-data-kotlin
Spring Data + Kotlin developer experience for VS Code. Validates derived
JPA query methods, suggests column-aware completions, and decorates
repository methods with the JetBrains JpaIcons gutter set.
Features
- Derived query method validation — typos like
findByEmialContaining are flagged inline; nested properties
(findByUserEmail) are resolved across entity boundaries.
- Smart completion inside repository interfaces — given an entity
with
email: String?, typing findBy proposes
findByEmail, findByEmailContaining, findByEmailIsNull, …
- JpaIcons gutter glyphs — every method gets a category-specific
icon (find single, find collection, count, delete, save/update,
@Query, @Modifying, projection, custom).
- Hover + CodeLens + Go-to-Definition — hover over a repository
method to see its derivation tree; click the lens above the
interface to jump to the entity.
- Pure regex/heuristic analyzer; no JVM round-trip required.
Configuration
| Setting |
Default |
Description |
springDataKotlin.diagnostics.enabled |
true |
Toggle inline validation. |
springDataKotlin.gutterIcons.enabled |
true |
Toggle gutter glyphs. |
springDataKotlin.codeLens.enabled |
true |
Toggle interface CodeLens. |
springDataKotlin.completion.enabled |
true |
Toggle column-aware completions. |
springDataKotlin.extraQuerySubjects |
[] |
Extra query subject prefixes (e.g. searchAll). |
Commands
Spring Data Kotlin: Refresh workspace analysis
Spring Data Kotlin: Toggle gutter icons
Spring Data Kotlin: Go to entity
Sample workspace
A multi-module Spring Boot + Kotlin project lives under sample/. Use
the Run Extension (sample/) launch configuration to develop the
extension against real Spring Data code, including a deliberately
mistyped repository method.
Development
bun install
bun run compile
bun run test # 33 unit tests, ~90ms
bun run icon # regenerate images/icon.png (also fetches JpaIcons)
The analyzer modules in src/ (entityScanner.ts,
queryMethodParser.ts, repositoryAnalyzer.ts, methodSuggester.ts,
sourceUtils.ts, entityModel.ts) are pure-Node and unit-tested with
vitest. Anything that touches vscode lives in extension.ts.
Credits
Method gutter glyphs and the base repository icon are
JpaIcons by
JetBrains. The Kotlin logo is from kotlinlang.org.
License
MIT