ChatGPT - Genie AI - Visual Studio Marketplace (2023)

ChatGPT - Genie AI - Visual Studio Marketplace (1)
A Visual Studio Code - ChatGPT Integration

Prompt OpenAI's GPT-4, GPT-3.5, GPT-3 and Codex models within Visual Studio Code

This repository is meant for documentation, bug reports and feature requests

ChatGPT - Genie AI - Visual Studio Marketplace (4)

Testimonials

❄️ Featured by Snowflake on Medium blogpost

🎌 Blogpost VSCode に ChatGPT の拡張機能を入れてコードレビューやバグを発見してもらう

💙 Reviews on Twitter

❤️ ChatGPT the pair programmer - VS Code on Youtube

💙 Generative AI on LinkedIn

  • 🆕💬 Store your conversation history on your disk and continue at any time.
  • 🔁 See diff between your code and Genie's suggestion right within editor with one click.
  • 👤 Rename and personalize your assistant.
  • 📃 Get streaming answers to your prompt in editor or sidebar conversation.
  • 🔥 Streaming conversation support and stop the response to save your tokens.
  • 📝 Create files or fix your code with one click or with keyboard shortcuts.
  • ➡️ Export all your conversation history at once in Markdown format.
  • ➕ Use GPT-4, GPT-3.5, GPT3 or Codex models via your OpenAI API Key.
Save your conversations and continue at any time
  1. Conversation history
  • The goal: Collect feedback and measure the compatibility across different machine, OS setups.
  • We are experimenting a new feature to help you store your conversations in your disk using VS Code global storage API.
  • You need to opt-in to use this feature as this is experimental to collect feedback from the users. Setting name: genieai.enableConversationHistory
  • With this experimental feature, keep in mind this feature has limitations at the moment and may have bugs, use it at your own risk.
  • You may want to remove the stored files manually for privacy from time to time, extension doesn't have any way to modify the files other than writing new threads to files.
  • All conversations start with name 'New chat' and you can change it in genie.json file.
  • The conversations are stored only on your machine, using VS Code's provided global storage API for extensions.
  1. Misc. bug fixes and improvements

Conversation history - Demo

Genie - ChatGPT Conversation History - Watch Video

ChatGPT - Genie AI - Visual Studio Marketplace (5)

Get your API Key from here: OpenAI and see OpenAI official docs for available model details

  1. Simply ask any coding question by selecting a code fragment.
  2. Once asked, provide your API Key.

The extension comes with context menu commands, copy/move suggested code into editor with one-click, conversation window and customization options for OpenAI's ChatGPT prompts.

  • 💬 Store your conversation history on your disk and continue at any time.

    ChatGPT - Genie AI - Visual Studio Marketplace (6)
  • 🔁 See diff between your code and Genie's suggestion right within editor with one click.

    ChatGPT - Genie AI - Visual Studio Marketplace (7)
  • 📃 Get streaming answers to your prompt in editor or sidebar conversation.

    ChatGPT - Genie AI - Visual Studio Marketplace (8)
  • Customize what you are asking with the selected code. The extension will remember your prompt for subsequent questions.

    ChatGPT - Genie AI - Visual Studio Marketplace (9)
  • Automatic partial code response detection. If AI doesn't finish responding, you will have the option to continue and combine answers

    ChatGPT - Genie AI - Visual Studio Marketplace (10)
  • Copy or insert the code ChatGPT is suggesting right into your editor.

    ChatGPT - Genie AI - Visual Studio Marketplace (11)
  • 🍻 Optimized for dialogue

  • Edit and resend a previous prompt

  • 📤 Export all your conversation history with one click

  • Ad-hoc prompt prefixes for you to customize what you are asking ChatGPT

    ChatGPT - Genie AI - Visual Studio Marketplace (12)

Customization

  • You can enable/disable all of your context menu items. Simply go to settings and find the prompt that you would like to disable. Custom prompts are hidden by default.
  • Genie: Ad-hoc prompt: Ad-hoc custom prompt prefix for the selected code. Right click on a selected block of code, run command.
    • You will be asked to fill in your preferred custom prefix and the extension will remember that string for your subsequent ad-hoc queries.
  • Genie: Add tests: Write tests for you. Right click on a selected block of code, run command.
    • "default": "Implement tests for the following code",
    • "description": "The prompt prefix used for adding tests for the selected code"
  • Genie: Find bugs: Analyze and find bugs in your code. Right click on a selected block of code, run command.
    • "default": "Find problems with the following code",
    • "description": "The prompt prefix used for finding problems for the selected code"
  • Genie: Optimize: Add suggestions to your code to improve. Right click on a selected block of code, run command.
    • "default": "Optimize the following code",
    • "description": "The prompt prefix used for optimizing the selected code"
  • Genie: Explain: Explain the selected code. Right click on a selected block of code, run command.
    • "default": "Explain the following code",
    • "description": "The prompt prefix used for explaining the selected code"
  • Genie: Add comments: Add comments for the selected code. Right click on a selected block of code, run command.
    • "default": "Add comments for the following code",
    • "description": "The prompt prefix used for adding comments for the selected code"
  • Genie: Custom prompt 1: Your custom prompt 1. It's disabled by default, please set to a custom prompt and enable it if you prefer using customized prompt
    • "default": "",
  • Genie: Custom prompt 2: Your custom prompt 2. It's disabled by default, please set to a custom prompt and enable it if you prefer using customized prompt
    • "default": "",
  • Genie: Generate code: If you select a Codex model (code-*) you will see this option in your context menu. This option will not feed the ChatGPT with any context like the other text completion prompts.

Other available commands

  • Genie: Clear API Key: Clears the API Key from VS Code Secrets Storage
  • Genie: Ask anything: Free-form text questions within conversation window.
  • Genie: Reset session: Clears the current session and resets your connection with ChatGPT
  • Genie: Clear conversation: Clears the conversation window and resets the thread to start a new conversation with ChatGPT.
  • Genie: Export conversation: Exports the whole conversation in Markdown for you to easily store and find the Q&A list.
  • Genie: Focus on Genie View: Focuses on Genie window if it was hidden. You can move Genie window to right sidebar or bottom bar by dragging the Genie icon.

FAQ

Common Issues

  • It's possible that OpenAI systems may experience issues responding to your queries due to high-traffic from time to time.

  • If you get HTTP 429 Too Many Requests, it means that you are making Too Many Requests. Please wait and try again in a few moments. If it persists, restart your vs-code.

    • This could be due to insufficient_quota on your OpenAI account. You could run the following cURL command to check if your account has enough quota. (Make sure to replace $OPENAI_API_KEY with your key that you use in this extension)
     curl https://api.openai.com/v1/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "text-davinci-003", "prompt": "Can I make a request?\n\n", "temperature": 0.7, "max_tokens": 256, "top_p": 1, "frequency_penalty": 0, "presence_penalty": 0 }'
  • If you get HTTP 404 Not Found error, it means one of the parameters you provided is unknown (i.e. genieai.openai.model). Most likely switching to default model in your settings would fix this issue.

  • If you get HTTP 400 Bad Request error, it means that your conversation's length is more than GPT/Codex models can handle. Or you supplied an invalid argument via customized settings.

  • If you encounter persistent issues with your queries

    • Try Genie: Reset session to clear your session/conversation or Genie: Clear API Key to clear your API Key and re-enter
    • As a last resort try restarting your VS-Code and retry logging in.
  • If you are using Remote Development and cannot use ChatGPT

    • In settings.json add "remote.extensionKind": {"genieai.chatgpt-vscode": ["ui"]}
  • There is no guarantee that the extension will continue to work as-is without any issues or side-effects. Please use it at your own risk.
  • This extension never uses/stores your personally identifiable information.
  • This extension collects metadata to improve its features. No personally identifiable information is collected. You can opt-out from telemetry either by setting the global 'telemetry.telemetryLevel' or 'genieai.telemetry.disable'. The extension will respect both of these settings and will collect metadata only if both allow telemetry. We use the official telemetry package provided by the vscode team here to understand this extension's usage patterns to better plan new feature releases.
  • We assume no responsibility of any issues that you may face using this extension. Your use of OpenAI services is subject to OpenAI's Privacy Policy and Terms of Use.
  • 💻 OpenAI: https://openai.com/
  • 🧪 Uses NodeJS OpenAI API wrapper

References

Top Articles
Latest Posts
Article information

Author: Lidia Grady

Last Updated: 11/19/2023

Views: 5590

Rating: 4.4 / 5 (45 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.