Skip to content

Commit

Permalink
1.4.0 (#149)
Browse files Browse the repository at this point in the history
* Update gradle.properties

* Remove dynamic actions (TEMPORARY)

* Rm InternalCoderAction (TEMPORARY)

* 1.4.0

* bug fix

* misc

* misc fixes

* showMenuBar impl

* Update README.md
  • Loading branch information
acharneski authored Apr 15, 2024
1 parent ce7c621 commit 74fb4f3
Show file tree
Hide file tree
Showing 26 changed files with 1,881 additions and 2,396 deletions.
73 changes: 69 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,33 @@

## [Unreleased]

## [1.4.0]

### Added

- Support for Gemini models
- Support for Mistral Large

### Removed

- Dynamic action support (temporarily) due to performance issues and bugs

### Improved

- Patching logic
- Various fixes

## [1.3.0]

### Added

- `DiffChatAction`: A new action for engaging in a chat session to generate and apply code diffs directly within the IDE.
- `DiffChatAction`: A new action for engaging in a chat session to generate and apply code diffs directly within the
IDE.
- `MultiDiffChatAction`: Allows for collaborative code review and diff generation across multiple files.
- `AutoDevAction`: Automates development tasks by translating user directives into actionable development tasks and code modifications.
- Support for models from https://www.perplexity.ai/, https://console.groq.com/, and https://modelslab.com/dashboard/, enhancing the plugin's versatility and performance in code generation and analysis.
- `AutoDevAction`: Automates development tasks by translating user directives into actionable development tasks and code
modifications.
- Support for models from https://www.perplexity.ai/, https://console.groq.com/, and https://modelslab.com/dashboard/,
enhancing the plugin's versatility and performance in code generation and analysis.

### Improved

Expand Down Expand Up @@ -437,49 +456,95 @@
from [IntelliJ Platform Plugin Template](https://github.com/JetBrains/intellij-platform-plugin-template)

[Unreleased]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.18...HEAD

[1.2.18]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.14...v1.2.18

[1.2.14]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.11...v1.2.14

[1.2.11]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.10...v1.2.11

[1.2.10]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.9...v1.2.10

[1.2.9]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.8...v1.2.9

[1.2.8]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.7...v1.2.8

[1.2.7]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.4...v1.2.7

[1.2.4]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.2...v1.2.4

[1.2.2]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.1...v1.2.2

[1.2.1]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.2.0...v1.2.1

[1.2.0]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.1.4...v1.2.0

[1.1.4]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.1.3...v1.1.4

[1.1.3]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.1.2...v1.1.3

[1.1.2]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.1.1...v1.1.2

[1.1.1]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.1.0...v1.1.1

[1.1.0]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.20...v1.1.0

[1.0.20]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.19...v1.0.20

[1.0.19]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.18...v1.0.19

[1.0.18]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.17...v1.0.18

[1.0.17]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.16...v1.0.17

[1.0.16]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.15...v1.0.16

[1.0.15]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.14...v1.0.15

[1.0.14]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.13...v1.0.14

[1.0.13]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.12...v1.0.13

[1.0.12]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.11...v1.0.12

[1.0.11]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.10...v1.0.11

[1.0.10]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.9...v1.0.10

[1.0.9]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.8...v1.0.9

[1.0.8]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.7...v1.0.8

[1.0.7]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.6...v1.0.7

[1.0.6]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.5...v1.0.6

[1.0.5]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.3...v1.0.5

[1.0.3]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.2...v1.0.3

[1.0.2]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v1.0.0...v1.0.2

[1.0.0]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.1.9...v1.0.0

[0.1.9]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.1.8...v0.1.9

[0.1.8]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.1.7...v0.1.8

[0.1.7]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.1.6...v0.1.7

[0.1.6]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.1.5...v0.1.6

[0.1.5]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.1.4...v0.1.5

[0.1.4]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.1.3...v0.1.4

[0.1.3]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.1.2...v0.1.3

[0.1.2]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.1.0...v0.1.2

[0.1.0]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.0.4...v0.1.0

[0.0.4]: https://github.com/SimiaCryptus/intellij-aicoder/compare/v0.0.1...v0.0.4
[0.0.1]: https://github.com/SimiaCryptus/intellij-aicoder/commits/v0.0.1

[0.0.1]: https://github.com/SimiaCryptus/intellij-aicoder/commits/v0.0.1
111 changes: 47 additions & 64 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,90 +6,73 @@

<!-- Plugin description -->

# **AI Coding Assistant Plugin for IntelliJ**
# **AI Coding Assistant: The Ultimate IntelliJ Plugin for Developers**

**Fully open source plugin for IntelliJ that integrates with a variety of LLM APIs**

* No membership fees! API access is typically paid but is billed by usage, with no base fee.
* The plugin is free and open source, with a focus on utility. No hype here! I'm sharing a tool I use, and I hope you find it useful too.
* A variety of APIs are supported! Get your api keys at:
* https://platform.openai.com/
* https://www.perplexity.ai/
* https://console.groq.com/
* https://modelslab.com/dashboard/
* https://console.aws.amazon.com/bedrock/
* Fully customizable actions, including the ability to create your own actions using AI
* Toolbar UI for quick configuration of temperature/model and display of current token count
* Ability to intercept, edit, and log API requests

**NOTE**: This project is not affiliated with OpenAI, JetBrains, or any other corporation or organization.
It is provided free of charge, as-is, with no warranty or guarantee of any kind.
It is the work of a sole developer working as a hobby project.

## **Installation & Configuration**

To begin with AI Coding Assistant, you will need one or more api tokens,
which needs to be input it into the appropriate field in the plugin's settings panel.
![Build](https://github.com/SimiaCryptus/intellij-aicoder/workflows/Build/badge.svg)
[![Version](https://img.shields.io/jetbrains/plugin/v/20724-ai-coding-assistant.svg)](https://plugins.jetbrains.com/plugin/20724-ai-coding-assistant)
[![Downloads](https://img.shields.io/jetbrains/plugin/d/20724-ai-coding-assistant.svg)](https://plugins.jetbrains.com/plugin/20724-ai-coding-assistant)

## **Usage Overview**
Are you a developer looking to supercharge your coding workflow? Look no further than AI Coding Assistant, the
game-changing IntelliJ plugin that harnesses the power of cutting-edge Language Model APIs to revolutionize the way you
code!

AI Coding Assistant offers a variety of actions, which are tools specifically designed to simplify and speed up your
coding process. These are not passively triggered by your typing but are invoked on command, giving you full control
over when and how to use them. You can access these actions via the context menu within an editor or in the project view.
## **Key Features**

### **New in Version 1.3.0**
* 🌐 **Extensive API Support**: AI Coding Assistant seamlessly integrates with a wide range of leading LLM APIs,
including [OpenAI](https://platform.openai.com/), [AWS Bedrock](https://console.aws.amazon.com/bedrock/), [Anthropic](https://api.anthropic.com/v1), [Google Generative Language](https://generativelanguage.googleapis.com/), [Groq](https://console.groq.com/), [Perplexity AI](https://www.perplexity.ai/),
and [ModelsLab](https://modelslab.com/dashboard/). Get your API keys and unlock a world of possibilities!

* **DiffChatAction**: Engage in a chat session to generate and apply code diffs directly within the IDE, streamlining the code review and modification process.
* **MultiDiffChatAction**: Facilitates collaborative code review and diff generation across multiple files, enhancing team productivity.
* **AutoDevAction**: Translates user directives into actionable development tasks and code modifications, automating parts of the development workflow.
* **mermaid.js**: Generate diagrams using the mermaid.js library, providing a visual representation of your code and ideas.
* 💸 **No Membership Fees**: While API access is typically paid, AI Coding Assistant charges no base fee. You only pay
for what you use, giving you complete control over your expenses.

## **Action Customization**
* 🌟 **Free and Open Source**: AI Coding Assistant is a free, open-source tool designed with a focus on utility. No hype,
no gimmicks – just a powerful, user-friendly plugin that enhances your coding experience.

Tailor actions to your coding habits and project requirements!
Within the settings UI, you can view, edit, clone, or delete actions,
enabling you to fine-tune existing tools or create new ones from scratch.
* 🎛️ **Intuitive Toolbar UI**: Easily configure temperature/model settings and monitor your current token count with AI
Coding Assistant's sleek, intuitive toolbar UI.

These custom actions use dynamically compiled Kotlin, and can be as complex or simple as required, even having access to the
entire IntelliJ API. This powerful feature allows for numerous possibilities, from refining prompts to adding intricate
logic to better support your preferred coding language.
* 🔍 **API Request Management**: Intercept, edit, and log API requests with ease, giving you granular control over your
plugin's behavior.

## **Actions Catalogue**
## **Installation & Setup**

Our plugin includes a broad catalogue of actions, categorized into Plaintext, Code, Markdown, and Developer-Mode
Actions.
Getting started with AI Coding Assistant is a breeze:

### **Plaintext Actions**
1. Obtain one or more API tokens from your preferred LLM API provider(s).
2. Input your token(s) into the appropriate field(s) in the plugin's settings panel.
3. Start coding smarter, not harder!

These actions offer text processing features for any language, and include tools such
as `Chat Append Text`, `Dictation`, `Redo Last`, `Replace Options`, and `Generate Story`.
## **Unleash Your Coding Potential**

### **Code Actions**
AI Coding Assistant offers a suite of powerful actions designed to streamline your coding process. Access these
game-changing features via the context menu within your editor or project view:

Our Code Actions simplify and expedite your coding workflow with actions
like `Add Code Comments`, `Convert To...`, `Edit Code...`, `Describe Code and Prepend Comment`, `Add Doc Comments`,
`Implement Stub`, `Insert Implementation`, `Paste`, `Ask a question about the code`, `Recent Code Edits`,
`Rename Variables`, and `Generate Project`.
* 💬 **DiffChatAction & MultiDiffChatAction**: Collaborate effortlessly with AI-powered chat sessions that generate and
apply code diffs across single or multiple files.

### **Markdown Actions**
* 🚀 **AutoDevAction**: Transform user directives into actionable development tasks and code modifications, automating
key aspects of your workflow.

Our Markdown Actions allow quick and easy additions to your Markdown documents. You can swiftly implement a Markdown
prompt in a specific language with the `Implement As...` action or rapidly add list items to your document using
the `Add List Items` action.
* 📊 **mermaid.js Integration**: Visualize your code and ideas with stunning diagrams generated using the mermaid.js
library.

### **Developer-Mode Actions**
* 📝 **Plaintext, Code, and Markdown Actions**: From text processing and code editing to Markdown enhancements, AI Coding
Assistant has you covered.

The Developer-Mode Actions are available when the plugin is in developer mode. These actions offer debugging and
development tools and experimental features that may not be fully functional. They
include `Open Code Chat`, `Launch Skyenet`, and `Print PSI Tree`.
* 🛠️ **Developer-Mode Actions**: Access debugging tools, experimental features, and more with our developer-mode
actions.

## **Support**
## **Join the AI Coding Revolution**

Should you encounter issues or require further information, please file an issue on our github project.
Ready to take your coding to the next level? Install AI Coding Assistant today and experience the future of software
development. With our powerful features, extensive API support, and user-friendly interface, you'll wonder how you ever
coded without it!

Understand that this plugin is in active development, and we are constantly working to improve and expand its abilities.
🌟 Boost your productivity, unleash your creativity, and code smarter with AI Coding Assistant – the ultimate IntelliJ
plugin for developers. 🌟

With AI Coding Assistant, coding becomes more efficient, versatile, and customizable, enhancing your productivity and
creative potential. We look forward to seeing what you will create!
*Please note that AI Coding Assistant is not affiliated with OpenAI, JetBrains, or any other corporation or
organization. The plugin is provided free of charge, as-is, with no warranty or guarantee of any kind, and is the work
of a sole developer working on a hobby project.*

<!-- Plugin description end -->
<!-- Plugin description end -->
9 changes: 6 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ repositories {
val kotlin_version = "2.0.0-Beta5"
val jetty_version = "11.0.18"
val slf4j_version = "2.0.9"
val skyenet_version = "1.0.61"
val skyenet_version = "1.0.62"
val remoterobot_version = "0.11.21"
dependencies {

Expand All @@ -39,7 +39,7 @@ dependencies {
exclude(group = "org.jetbrains.kotlin", module = "")
}

implementation(group = "com.simiacryptus", name = "jo-penai", version = "1.0.50")
implementation(group = "com.simiacryptus", name = "jo-penai", version = "1.0.51")
{
exclude(group = "org.jetbrains.kotlin", module = "")
}
Expand All @@ -59,6 +59,7 @@ dependencies {
exclude(group = "org.jetbrains.kotlin", module = "")
}

implementation(group = "com.vladsch.flexmark", name = "flexmark-all", version = "0.64.8")
implementation("com.googlecode.java-diff-utils:diffutils:1.3.0")
implementation(group = "org.apache.httpcomponents.client5", name = "httpclient5", version = "5.2.3")
implementation(group = "org.eclipse.jetty", name = "jetty-server", version = jetty_version)
Expand All @@ -84,13 +85,15 @@ dependencies {
}


/*
tasks.register<Copy>("copySourcesToResources") {
from("src/main/kotlin")
into("src/main/resources/sources/kt")
}
tasks.named("processResources") {
dependsOn("copySourcesToResources")
}
*/


kotlin {
Expand Down Expand Up @@ -162,7 +165,7 @@ tasks {
publishPlugin {
dependsOn("patchChangelog")
token.set(System.getenv("PUBLISH_TOKEN"))
channels.set(listOf(properties("pluginVersion").split('-').getOrElse(1) { "default" }.split('.').first()))
// channels.set(listOf(properties("pluginVersion").split('-').getOrElse(1) { "default" }.split('.').first()))
}
}

Expand Down
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
pluginName=intellij-aicoder
pluginRepositoryUrl=https://github.com/SimiaCryptus/intellij-aicoder
pluginVersion=1.3.10
pluginVersion=1.4.0

jvmArgs=-Xmx8g
org.gradle.jvmargs=-Xmx8g
Expand All @@ -10,8 +10,8 @@ pluginSinceBuild=232
pluginUntilBuild=241.*

platformType = IC
platformVersion=2023.3
gradleVersion=8.4
platformVersion=2024.1
gradleVersion=8.6

# Opt-out flag for bundling Kotlin standard library -> https://plugins.jetbrains.com/docs/intellij/kotlin.html#kotlin-standard-library
# suppress inspection "UnusedProperty"
Expand Down
Loading

0 comments on commit 74fb4f3

Please sign in to comment.