 # Rubberduck: ChatGPT for Visual Studio Code > > > #### AI chat in the Visual Studio Code side bar. Rubberduck can [generate code](#generate-code), [edit code](#edit-code), [explain code](#explain-code), [generate tests](#generate-tests), [find bugs](#find-bugs), [diagnose errors](#diagnose-errors), and more. You can even add [your own conversation templates](#custom-conversations). > > [](https://opensource.org/licenses/MIT) [](https://twitter.com/rubberduckai) [](https://discord.gg/8KN2HmyZmn) [](#contributors) ## Quick Install You can install Rubberduck from the - [Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Rubberduck.rubberduck-vscode) - [Open VSX Registry](https://open-vsx.org/extension/Rubberduck/rubberduck-vscode) Rubberduck requires an OpenAI API key. You can get an OpenAI API key from [platform.openai.com/account/api-keys](https://platform.openai.com/account/api-keys) (you'll need to sign up for an account). ## Features [AI Chat](#ai-chat) | [Generate Code](#generate-code) | [Edit Code](#edit-code) | [Explain Code](#explain-code) | [Generate Tests](#generate-tests) | [Find Bugs](#find-bugs) | [Diagnose Errors](#diagnose-errors) | [Custom Conversations](#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.  # Generate Code Instruct Rubberduck to generate code for you.  ## Edit Code Change the selected code by instructing Rubberduck to create an edit.  ### Explain Code Ask Rubberduck to explain the selected code.  ### Generate Tests Generate test cases for the selected code.  ## Find Bugs Find potential defects in your code.  ### Diagnose Errors Let Rubberduck identify error causes and suggest fixes to fix compiler and linter errors faster.  ### Custom Conversations You can define your own conversation templates. See the [Rubberduck Template docs](https://github.com/rubberduck-ai/rubberduck-vscode/blob/main/doc/rubberduck-templates.md) for more information. Here is an example of a [drunken pirate describing your code](https://github.com/rubberduck-ai/rubberduck-vscode/blob/main/template/fun/drunken-pirate.rdt.md):  ## 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 - [ModelFusion](https://modelfusion/dev) - AI library - [Prism.js](https://prismjs.com/) - Syntax highlighting - [React](https://reactjs.org/) - UI rendering ## Contributors