Skip to content

Conversation

@chedim
Copy link
Collaborator

@chedim chedim commented Apr 23, 2025

changes jetbrains plugin to the new one and pushes both minimal and maximum compatibility to 2025.1

@chedim chedim requested a review from deniswsrosa April 23, 2025 06:00
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Hello @chedim, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

This pull request updates the Couchbase IntelliJ plugin to use the new IntelliJ Platform Gradle Plugin and bumps the supported IntelliJ version to 2025.1. It also updates the plugin version and description.

Highlights

  • Plugin Update: The pull request updates the Gradle IntelliJ Plugin from 1.17.3 to 2.5.0.
  • Compatibility: The plugin's compatibility is extended to IntelliJ version 2025.1.
  • Plugin Configuration: The plugin configuration is updated with a detailed description, change notes, and vendor information.

Changelog

Click here to see the changelog
  • build.gradle.kts
    • Updated Gradle IntelliJ Plugin version to 2.5.0.
    • Added IntelliJ Platform repository.
    • Set IntelliJ IDEA Community version to 2025.1.
    • Added bundled plugins for Java, JSON, and Terminal.
    • Configured plugin details like ID, name, version, description, and vendor.
    • Configured plugin verification for IntelliJ IDEA Community 2025.1.
  • src/main/java/org/intellij/sdk/language/completion/FeedbackUi.java
    • Removed unused imports like it.unimi.dsi.fastutil.ints.H, java.time.Duration, java.util.Locale, and java.util.Optional.
  • src/main/resources/META-INF/plugin.xml
    • Added dependency on the intellij.json module.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


A plugin's update,
For new IDE's estate,
Brings features anew,
For me and for you,
Code flows, sealed by fate.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

The pull request updates the JetBrains plugin to a newer version and adjusts compatibility settings. The changes seem straightforward and necessary for maintaining plugin functionality with newer IDE versions. However, a few points need closer inspection to ensure smooth operation and maintainability.

Summary of Findings

  • Plugin Description: The plugin description in build.gradle.kts is quite verbose. Consider summarizing it for better readability in the IDE plugin manager.
  • Change Notes: The change notes in build.gradle.kts are minimal. Expand on the changes for better user understanding.
  • Dependencies Update: The plugin.xml should be updated to reflect the new dependencies structure.

Merge Readiness

The pull request updates the JetBrains plugin to a newer version and adjusts compatibility settings. While the changes seem necessary, addressing the points raised in the review comments would improve the plugin's maintainability and user experience. I am unable to approve this pull request, and recommend that another reviewer also takes a look. I would recommend addressing these before merging.

Comment on lines +86 to +96
description = """
Couchbase is an award-winning distributed NoSQL cloud database that delivers unmatched versatility, performance, scalability, and financial value for all of your cloud, mobile, on-premises, hybrid, distributed cloud, and edge computing applications.<br>
The plugin provides integrated support for Couchbase within the IntelliJ IDEA, making it easier to interact with your Couchbase databases directly from your development environment.<br>
<ul>
<li><strong>Connection Management:</strong> Easily connect to your local or remote Couchbase clusters and manage your connections within the IntelliJ IDEA.</li>
<li><strong>Data Manipulation:</strong> View, add, update, and delete documents in your Couchbase buckets directly from IntelliJ.</li>
<li><strong>SQL++ Support:</strong> Write and execute SQL++ queries from within IntelliJ. The plugin includes syntax highlighting, error checking, and auto-completion features for SQL++ (previously known as N1QL), making it easier to write and debug your queries.</li>
</ul>
For more information visit the
<a href="https://github.com/couchbaselabs/couchbase_jetbrains_plugin">project repo</a>.
""".trimIndent()

Choose a reason for hiding this comment

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

medium

The plugin description is quite verbose. Consider summarizing it for better readability in the IDE plugin manager. Perhaps focus on the core features and benefits.

description = """
            Provides integrated support for Couchbase within IntelliJ IDEA, making it easier to interact with your Couchbase databases directly from your development environment. Key features include Connection Management, Data Manipulation, and SQL++ Support.
        """.trimIndent()

Comment on lines +97 to +99
changeNotes = """
1.1.6.2 — adds support for 2025.1
""".trimIndent()

Choose a reason for hiding this comment

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

medium

The change notes are minimal. Expand on the changes for better user understanding. What specific improvements or bug fixes are included in this version?

changeNotes = """
            1.1.6.2 — Updated plugin to support IntelliJ 2025.1 and included minor bug fixes.
        """.trimIndent()

Comment on lines +41 to +43
<dependencies>
<module name="intellij.json"/>
</dependencies>

Choose a reason for hiding this comment

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

medium

The dependencies section has been updated in build.gradle.kts. Ensure that the plugin.xml reflects these changes to maintain consistency and avoid potential issues with plugin loading or functionality.

   <dependencies>
        <module name="com.intellij.modules.lang"/>
        <module name="com.intellij.modules.json"/>
    </dependencies>

deniswsrosa
deniswsrosa previously approved these changes Apr 23, 2025
@chedim chedim merged commit 504ba69 into main May 29, 2025
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants