Equo IDE: AI Coding Tools

for Eclipse Developers + Your IDE as a Build Artifact

Sebastian Sampaoli on February 27th 2024


We've been collaborating with our friend and partner Ned Twigg (@NedTwigg) from Diffplug on an open-source project: an Eclipse-based IDE, named Equo IDE. Special thanks to Ned for his exceptional work, as he was the visionary who conceived this idea and worked with us on this development.

The buzz around AI coding tools has been undeniable, broadly categorized into:

  • Autocomplete tools, with GitHub Copilot being the most recognized.
  • Chat tools that allow developers to input existing code, request modifications (e.g. refactoring, explanations, test additions), and then implement the AI-generated suggestions. These tools are accessible via web browsers or IDE plugins for enhanced convenience and functionality.
  • Eclipse users can now leverage these AI tool categories. For a quick start, clone this repository and execute ./gradlew equoIde --clean or ./mvnw equo-ide:launch to set up an example project complete with the discussed plugins and some code for experimentation.


    ChatGPT: Embedded in the IDE!

    When it comes to chat-based tools, the trick is to say "this is the code I have, this is what I want you to do with it". It is shocking how effective it is.

    ChatGPT with Junit demo

    You can also ask ChatGPT to write code from scratch. The combination of its domain knowledge plus coding ability is surprisingly effective.

    ChatGPT from scratch demo

    Copilot

    While GitHub Copilot isn't currently available for Eclipse, Tabnine offers a similar solution, with benefits including a free tier and self-hosting capabilities.

    Tabnine demo

    Ensure Tabnine functionality by logging into your account via the Tabnine Starter button located in the bottom right corner of the IDE.

    How to use the Equo IDE in your Projects

    To use the Equo IDE in your project in Gradle with gradlew equoIde (more info):

    plugins {
      id 'dev.equo.ide' version '{{ latest version at top of page }}'
    }
    equoIde { // launch with gradlew equoIde
      gradleBuildship().autoImport('.')
      tabnine() // same idea as GitHub Copilot, but with free and self-hosted versions available
      chatGPT() // use GPT3 & 4 (no waitlist!) to refactor, write tests, and generate documentation
    }
    

    or like this in Maven with mvn equo-ide:launch (more info):

    <plugin> // add this to pom.xml/<project><build><plugins>
        <groupId>dev.equo.ide</groupId>
        <artifactId>equo-ide-maven-plugin</artifactId>
        <version>{{ latest version at top of page }}</version>
        <configuration>
          <jdt/>
          <m2e><autoImport>${project.basedir}</autoImport></m2e>
          <tabnine/> // same idea as GitHub Copilot, but with free and self-hosted versions available
          <chatGPT/> // use GPT3 & 4 (no waitlist!) to refactor, write tests, and generate documentation
        </configuration>
    </plugin>
    

    You can also see all the plugins we support in Catalog, and we also support any arbitrary maven-based or p2-based plugins. See P2 Multitool for info on browsing and working with p2 repositories.


    Prompt Engineering

    If you do some googling around "Prompt engineering", you'll see suggestions to start every chat session with "You are an expert Java programmer" to put the LLM into the "right mood" for best generating your code. You can also ask the LLM to make its answers as brief as possible, or to explain each step in detail.

    The Equo ChatGPT plugin lets you put these best practices into templates so that you don't have to repeat yourself. It also copy-pastes your code into the chat window for you, to save a step and remove a possible source of errors.

    The Equo ChatGPT plugin was inspired by another Eclipse plugin called AssistAI. AssistAI has the advantage that it integrates with the Eclipse context menus, but the disadvantage is that it requires an API key - ChatGPT Plus isn't enough.


    Join the Equo IDE Community

    We invite Eclipse IDE developers to explore the Equo IDE and contribute to its ongoing development. By joining the Equo IDE project on GitHub, developers can not only leverage its powerful features but also shape its future.


    Conclusion

    Equo IDE empowers Eclipse IDE users with AI by integrating ChatGPT and Tabnine directly into the IDE. ChatGPT enhances programming assistance, code completion, error detection, and natural language processing, boosting coding efficiency and productivity. Tabnine further complements this with its advanced autocomplete tool.

    Moreover, Equo IDE serves as a build plugin for Gradle and Maven. That means that Equo IDE is:

  • an Eclipse-based IDE powered by AI
  • a build plugin for Gradle and Maven
  • And allow teams to:

  • download, configure, and launch an instance of the Eclipse IDE
  • ensure that all their devs have a zero-effort and perfectly repeatable IDE setup process
  • make it easy to develop, dogfood, and distribute new IDE plugins

  • Source Code

  • https://github.com/equodev/equo-ide
  • https://github.com/equodev/eclipse-ai-example
  • https://github.com/equodev/equo-ide-chatgpt
  • Equo

    © 2024 Equo Tech, Inc.