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
findByEmialContainingare flagged inline; nested properties (findByUserEmail) are resolved across entity boundaries. - Smart completion inside repository interfaces — given an entity
with
email: String?, typingfindByproposesfindByEmail,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 analysisSpring Data Kotlin: Toggle gutter iconsSpring 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