Skip to content

Add Spring Tools extension#6875

Open
luceat-lux-vestra wants to merge 3 commits into
zed-industries:mainfrom
luceat-lux-vestra:add-zed-spring-tools
Open

Add Spring Tools extension#6875
luceat-lux-vestra wants to merge 3 commits into
zed-industries:mainfrom
luceat-lux-vestra:add-zed-spring-tools

Conversation

@luceat-lux-vestra

@luceat-lux-vestra luceat-lux-vestra commented Jul 19, 2026

Copy link
Copy Markdown
  • I've read
    CONTRIBUTING.md
    and followed the relevant guidance for adding or updating my extension.

Adds Spring Tools (spring-tools, v0.1.0), a Spring Boot language
intelligence companion for Zed's required official Java extension.

The submodule now points to the current project main. The extension version
remains 0.1.0 because it has not yet been published.

Integration boundary

Spring Tools requires and coordinates with the official Java extension. It
contributes the reviewed Spring bundles to the Java-owned JDT LS and runs the
Spring Boot language server through its own coordinator; it does not modify the
official extension or start a second/self-managed Java language server.

User-visible capabilities

Configuration files and Spring-specific languages

  • Completion, hover, validation, and definition navigation for Spring Boot
    .properties and YAML.
  • Reviewable .properties ↔ YAML conversion and explicit shared-metadata
    reload.
  • Dedicated *.factories and META-INF/jpa-named-queries.properties
    languages, including JPQL validation for named queries.
  • Optional pom.xml Maven hints and Spring XML-config intelligence when an XML
    extension registers the XML language.

Java intelligence and navigation

  • Spring-aware completion for property keys, bean names, scopes, profiles,
    Spring Data repository methods, and injectable beans.
  • Request-mapping method templates with import edits, cron completion and
    validation, quick fixes, Spring workspace symbols, and Spring-specific
    references composed with official-Java results.
  • Static and live Spring CodeLens, native Hover detail, and cron/Spring Data
    inlay hints through standard Zed/LSP surfaces.

Project and runtime workflows

  • A source action discovers executable Boot projects and writes merge-safe,
    reviewable .zed/tasks.json and .zed/debug.json entries, including bounded
    profile and multi-module selection.
  • An opt-in generated Structure document preserves Spring's project/group
    hierarchy while Project Symbols remains the exact-location fallback.
  • Explicit local-process connect/refresh/disconnect, live bean/endpoint/injection
    data, bounded memory/GC/logger snapshots, and confirmed logger-level changes.
  • Default-off automatic local connection admits only one unambiguous
    worktree/project match; the explicit process action remains the fallback.

Remote live-data connection and capabilities that need unavailable Zed APIs
remain planned or explicitly blocked rather than silently emulated.

Requirements

  • The official Java extension and JDK 21 or newer.
  • At least one Java file must be opened so Zed starts the official Java language
    server and Spring receives the project classpath.
  • An XML extension is optional and is only needed for the XML/Maven surfaces
    above.
  • Network access is needed for the first pinned Spring Tools artifact download.

Pinned external inputs

  • Spring Tools 5.2.0.RELEASE,
    vscode-spring-boot-2.2.0-RC1.vsix, downloaded from the official
    spring-projects/spring-tools GitHub release at first use.
  • tree-sitter-grammars/tree-sitter-properties at
    579b62f5ad8d96c2bb331f07d1408c92767531d9 (MIT). The two Spring-specific
    file types require a grammar for Zed language classification; this is the
    same revision already pinned by the official Java extension.

No Spring VSIX/JAR, JDT LS distribution, or Zed binary is committed to the
extension repository.

Validation scope

Driven capability gates use macOS arm64, Zed 1.11.3, official Java
6.8.21/6.8.23, Spring Tools 5.2.0, Temurin JDK 25.0.3, and Spring Boot 3.5.5
fixtures. The current 58-row inventory records 33 capabilities as verified,
1 as implemented, and 6 as zed-native-equivalent. Other desktop/JDK
combinations remain untested; platform-aware code shape is not presented as a
support claim.

Copilot AI review requested due to automatic review settings July 19, 2026 15:03
@cla-bot cla-bot Bot added the cla-signed label Jul 19, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Points at the extension's main after the properties line completed:
properties/YAML conversion, shared properties metadata plus its reload
action, and the spring-factories / jpa-query-properties languages. The
version stays 0.1.0 because this submission has not been published yet.
Point the unpublished 0.1.0 registry entry at the current project main so the submission includes the completed Java-intelligence, structure, XML-settings, and live-data slices added while this PR was open.

The manifest version remains 0.1.0 because the extension has not yet been published. Verified the gitlink matches the zed-spring-tools main branch exactly.

Co-authored-by: OpenAI Codex (GPT-5.6 Sol) <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants