/rubberduck-vscode

Use AI-powered code edits, explanations, code generation, error diagnosis, and chat in Visual Studio Code with the official OpenAI API.

Primary LanguageTypeScriptMIT LicenseMIT

Rubberduck AI Chat

Rubberduck: ChatGPT for Visual Studio Code

 

AI chat in the Visual Studio Code side bar. Rubberduck can generate code, edit code, explain code, generate tests, find bugs, diagnose errors, and more. You can even add your own conversation templates.

 

License: MIT Twitter Discord All Contributors

Quick Install

You can install Rubberduck from the

Rubberduck requires an OpenAI API key. You can get an OpenAI API key from platform.openai.com/account/api-keys (you'll need to sign up for an account).

Features

AI Chat | Generate Code | Edit Code | Explain Code | Generate Tests | Find Bugs | Diagnose Errors | Custom Conversations

AI Chat

Chat with Rubberduck about your code and software development topics. Rubberduck knows the editor selection at the time of conversation start.

Chat

Generate Code

Instruct Rubberduck to generate code for you.

Generate Code

Edit Code

Change the selected code by instructing Rubberduck to create an edit.

Edit Code

Explain Code

Ask Rubberduck to explain the selected code.

Explain Code

Generate Tests

Generate test cases for the selected code.

Generate Tests

Find Bugs

Find potential defects in your code.

Find Bugs

Diagnose Errors

Let Rubberduck identify error causes and suggest fixes to fix compiler and linter errors faster.

Diagnose Errors

Custom Conversations

You can define your own conversation templates. See the Rubberduck Template docs for more information.

Here is an example of a drunken pirate describing your code:

Describe code as a drunken pirate

Configuration Options

  • rubberduck.syntaxHighlighting.useVisualStudioCodeColors: Use the Visual Studio Code Theme colors for syntax highlighting in the diff viewer. Might not work with all themes. Default is false.

Built With

Contributors

Lars Grammel
Lars Grammel

🤔 💻 📖 👀 💬 🐛
Iain Majer
Iain Majer

🐛 💻
Nicolas Carlo
Nicolas Carlo

💻 📖 🐛
RatoGBM
RatoGBM

🐛
Lionel Okpeicha
Lionel Okpeicha

🐛
MercerK
MercerK

🐛
Lundeen.Bryan
Lundeen.Bryan

🤔
DucoG
DucoG

🤔
sbstn87
sbstn87

🤔
Manuel
Manuel

🤔
alessandro-newzoo
alessandro-newzoo

🤔
Void&Null
Void&Null

🤔
WittyDingo
WittyDingo

🤔
Eva
Eva

🤔
AlexeyLavrentev
AlexeyLavrentev

🤔
linshu123
linshu123

📖
Michael Adams
Michael Adams

💻 🐛
restlessronin
restlessronin

💻
Igor Kupczyński
Igor Kupczyński

💻

Running it locally & Contributing

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes.

To help you get your feet wet and become familiar with our contribution process, we have a list of good first issues that contains things with a relatively limited scope. This is a great place to get started!