Give me the progress on the code suggestions for eclipse epic?

Sparkles Icon
Assistant
Research agent completed

Research Complete

0 items analyzed Complete
Complete08:32 PM

Executive Summary

Research completed successfully! I've analyzed 0 GitLab items and generated a comprehensive report.

Research process completed. See event stream for details.

Can you give me progress on the distribute and develop a eclipse plugin for eclipse?

Sparkles Icon
Assistant
Research agent completed

Research Complete

0 items analyzed Complete
Complete08:33 PM

Executive Summary

Research completed successfully! I've analyzed 0 GitLab items and generated a comprehensive report.

I am unable to provide a progress report on the "distribute and develop a eclipse plugin for eclipse" or the "code suggestions for eclipse epic" at this time.

The research process requires a specific starting GitLab item ID (e.g., an Epic IID and its full path) to begin exploring related items in the GitLab system. Unfortunately, without an initial item ID, I cannot search for items based on keywords like "eclipse plugin" or "code suggestions."

To help me find the information you're looking for, please provide a specific Epic IID and its full path related to the Eclipse plugin or code suggestions for Eclipse. Once a starting point is identified, I can then gather details on its progress, related issues, merge requests, and sub-epics.

Sparkles Icon
Assistant
Research agent completed

Research Complete

41 items analyzed Complete
Complete08:41 PM

Executive Summary

Research completed successfully! I've analyzed 41 GitLab items and generated a comprehensive report.

GitLab for Eclipse Plugin: Progress Report on Code Suggestions

This report synthesizes the progress on the GitLab for Eclipse plugin, with a specific focus on the development and implementation of the GitLab Duo Code Suggestions feature.

Executive Summary

The development of GitLab Duo Code Suggestions for the Eclipse IDE is well advanced and is a key feature of the broader GitLab for Eclipse plugin initiative (tracked under Epic gitlab-org/editor-extensions&89+). The dedicated epic for Code Suggestions (gitlab-org/editor-extensions&87+) shows significant progress, with many core functionalities now implemented and their corresponding issues closed.

Key completed features for Code Suggestions include:

  • Establishing communication with the GitLab Language Server.
  • Basic display and formatting of suggestions.
  • Streaming of suggestions as ghost text.
  • Cycling through multiple suggestions via keyboard shortcuts and an interactive tooltip.
  • Accepting suggestions granularly (word-by-word and line-by-line).
  • Displaying a gutter icon to indicate suggestion status.
  • Integrating with the Language Server's feature state and API health status.
  • Allowing user configuration for supported languages.

The GitLab for Eclipse plugin, including Code Suggestions, has been promoted from an experimental phase to Beta (as per Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#163+). Active "Customer Zero" testing for Code Suggestions is underway (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#159+) to gather feedback for further refinement. Ongoing work primarily focuses on supporting the overtyping of suggestions and general readiness for a General Availability (GA) release.

Overall Eclipse Plugin Development (Epic gitlab-org/editor-extensions&89+)

The development of the GitLab for Eclipse plugin is a comprehensive effort tracked under Epic gitlab-org/editor-extensions&89+, titled "[Eclipse] Develop and distribute an Eclipse 4 plugin". The primary goal is to expand the GitLab Editor Extension Suite to include an Eclipse 4 plugin, supporting the development needs of customers.

The proposed solution involves:

  • Building core foundational elements.
  • Implementing robust authentication strategies.
  • Integrating core product features, including GitLab Duo capabilities.
  • Providing user configuration options.
  • Establishing health checks and telemetry.
  • Integrating the GitLab Language Server out-of-the-box.

This main epic encompasses several child epics that manage specific areas of development:

  • gitlab-org/editor-extensions&87+: [Eclipse] Support Duo Code Suggestions in Eclipse
  • gitlab-org/editor-extensions&88+: [Eclipse] Support Duo Chat in Eclipse
  • gitlab-org/editor-extensions&148+: [Eclipse] Authentication Strategies - OAuth 2.0 in Eclipse
  • gitlab-org/editor-extensions&150+: [Eclipse] Observability - Add Telemetry
  • gitlab-org/editor-extensions&160+: [Eclipse] GA Release Readiness
  • And others covering documentation, workspace configuration, and Quick Chat.

The plugin's infrastructure, including build processes (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#3+, gitlab-org/editor-extensions/gitlab-eclipse-plugin#10+), distribution via a custom update site (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#7+, MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!11+) and the Eclipse Marketplace (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#94+, MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!67+), and support for various operating systems and network configurations (Issues gitlab-org/editor-extensions/gitlab-eclipse-plugin#78+, gitlab-org/editor-extensions/gitlab-eclipse-plugin#35+, gitlab-org/editor-extensions/gitlab-eclipse-plugin#88+) has seen significant progress with many foundational issues closed.

Progress on Duo Code Suggestions in Eclipse (Epic gitlab-org/editor-extensions&87+)

Epic gitlab-org/editor-extensions&87+, "[Eclipse] Support Duo Code Suggestions in Eclipse", is the central tracker for this feature. Its goal is to:

Support code suggestions inside of Eclipse using ghost test including streaming of suggestions and cycling through code suggestions using the inline completion API.

The epic emphasizes that:

Code Suggestions within Eclipse must leverage the textDocument/inlineCompletion request from the Language Server. All communications with the Language Server should when possible be done asynchronously to avoid potential deadlocks.

Completed Foundational Work:

The epic's description and related issues confirm the completion of foundational elements:

  • Language Server Communication: Established (referenced as completed via gitlab-org/editor-extensions/gitlab-eclipse-plugin#32+ in Epic 87 description).
  • Basic Suggestion Display & Formatting: Implemented (referenced as completed via gitlab-org/editor-extensions/gitlab-eclipse-plugin#23+ and gitlab-org/editor-extensions/gitlab-eclipse-plugin#29+ for formatting in Epic 87 description).
  • Language Server Feature State Integration: The plugin now respects the Code Suggestions feature state reported by the Language Server (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#110+ closed by MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!106+).
  • Language Server API Health Status: Methods to receive and notify about the Code Suggestions API health status from the Language Server have been added (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#92+ closed by MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!46+).

Implemented Core Features:

Significant progress has been made on user-facing Code Suggestions features, with many related issues closed:

  • Streaming Suggestions: Support for streaming code generation requests inline using ghost text has been implemented (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#95+ closed by MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!163+).
  • Cycling Through Suggestions:
    • Users can cycle through suggestions using keyboard shortcuts (Alt/Opt + ]/[) (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#148+ closed by MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!193+).
    • An interactive tooltip allows cycling through suggestions with UI buttons (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#149+ closed by MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!208+).
  • Accepting Suggestions:
    • Suggestions can be accepted word by word (e.g., using Alt + ->) (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#157+ closed by MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!249+).
    • Suggestions can be accepted line by line (e.g., using Cmd + ->) (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#158+ closed by MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!200+).
  • User Interface:
    • A gutter icon is displayed in the editor to indicate the status of code suggestion requests (loading/ready) (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#109+ closed by MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!139+).
    • Integration with Eclipse's built-in auto-complete menu using LSP4E completion items has been addressed (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#22+ closed).
  • Configuration:
    • Users can configure additional languages for code suggestions and toggle them via the status bar menu (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#168+ closed by MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!270+).
  • Session Management:
    • The system for Code Suggestions sessions to listen to document changes has been implemented and refined (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#124+ closed, related to MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!114+).
  • Telemetry:
    • Initial telemetry for Code Suggestions is in place (referenced as completed via gitlab-org/editor-extensions/gitlab-eclipse-plugin#57+ in Epic 87 description).
    • Confirmation that Code Suggestion telemetry events are working has been addressed (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#90+ closed).
    • Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#161+ ([Eclipse] Duo Chat telemetry), though titled for Duo Chat, is linked to Epic 87 and aims to ensure correct client attributes (IDE, version, plugin version) are sent for telemetry, which could be relevant for overall Duo feature tracking. MR gitlab-org/editor-extensions/gitlab-eclipse-plugin!215+ (chore: Update initializationOptions attributes) resolved this.

Ongoing and Planned Work:

  • Support for Overtyping Code Suggestions: This feature is planned and tracked under the open Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#169+.
  • Continued refinement and bug fixing based on feedback from Beta testing and Customer Zero programs.

Release Status and Testing

The GitLab for Eclipse plugin has achieved significant milestones in its release lifecycle:

  • Promotion to Beta: A formal decision was made to promote the Eclipse plugin from an experimental phase to a beta release (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#163+ closed). The issue description highlights this strategic advancement:

    We're strategically advancing our Eclipse plugin from experimental status to beta release. This transition represents a key milestone in our product development roadmap and creates opportunities for broader market validation. The Eclipse plugin has matured significantly, now incorporating both core Duo functionalities: chat capabilities and code suggestions.

  • GA Release Readiness (Epic gitlab-org/editor-extensions&160+): This epic tracks the overall effort to prepare the plugin for General Availability. It includes Early Access Testing (EAT) to gather customer feedback.

    As we get the Eclipse plugin to be ready for General Availability (GA), we first want to get feedback from our customers via early access testing (EAT).

  • Customer Zero Testing for Code Suggestions (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#159+): This open issue is dedicated to gathering feedback on the Code Suggestions feature from "Customer Zero" participants. The issue description outlines prerequisites and specific scenarios for testing:

    Welcome to the Customer Zero feedback for the Eclipse Duo Code Suggestions feature. The goal is to give the feature a test drive and garner feedback in order to release a polished experience for our customers.

    Scenarios:

    1. Code Suggestions status
      • At the bottom right of the screen, you should be able to click the Tanuki icon and confirm that Code Suggestions is enabled.
    2. Automatically trigger a code suggestion
      • In an open editor for a file with a supported language, code suggestions should automatically be triggered when typing code.
      • Pressing TAB should accept the code suggestion.
      • Pressing ESC should reject the code suggestion.
    3. Manually trigger a code suggestion
      • A user should manually be able to request a code suggestion when cmd + . are pressed...

    One comment on this issue by jgdoyon1 (2025-04-08T17:35:54Z) invites maintainers and engineers to add any missing scenarios or prerequisites.

  • BETA Feedback (Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#162+): This open issue serves as a general channel for collecting feedback from beta users of the plugin.

Authentication Context

Robust authentication is crucial for GitLab Duo features. Epic gitlab-org/editor-extensions&148+ focuses on implementing OAuth 2.0. The planned OAuth flow is illustrated in its description:

Mermaid Diagram (click to expand)
sequenceDiagram
    actor User
    User->>+GitLab Duo Eclipse: Login with OAuth

    GitLab Duo Eclipse ->>+ Browser: Open authorization URL (gitlab.com/oauth/authorize)
    Browser ->>+ GitLab: Show the authorize page and user login
    GitLab  ->>+ Browser: Redirect to authorization URL
    Browser ->>+ GitLab Duo Eclipse: Return the OAuth code URL
    GitLab Duo Eclipse ->>+ GitLab: Send code to get a token in exchange
    GitLab ->>+ GitLab Duo Eclipse: Send the token back after validation
    GitLab Duo Eclipse ->>+ GitLab Duo Eclipse: Cache the token
    GitLab Duo Eclipse ->>+ GitLab: Send API requests using the token

Progress in this area, including Issue gitlab-org/editor-extensions/gitlab-eclipse-plugin#74+ (Update OAuth token in LS configuration), directly supports the secure use of Code Suggestions.

Conclusion

The GitLab Duo Code Suggestions feature for the Eclipse IDE has made substantial progress. Core functionalities are largely implemented, and the feature is included in the beta release of the GitLab for Eclipse plugin. Active testing through the Customer Zero program and general beta feedback channels is underway to refine the feature. While support for overtyping suggestions is still planned, the existing capabilities provide a solid foundation for AI-assisted coding in Eclipse. The development team is focused on addressing feedback, fixing bugs, and moving towards a General Availability release.