Directly copy selected code or files from vscode to a chatgpt tab in browser

Latest Version

Version
0.0.1
Update
March 14, 2024
Size
14.67KiB
Developer
Category
Users
14
Rating
0 ★
Manifest Version
3
Web Store Status
Languages Support
English
See more
Permissions
Scripting
See more

VSCode Chatgpt Easy Copy Extension

VSCode Chatgpt Easy Copy is a simple utility to make it slightly convenient to copy code/text and files from vscode into chatgpt's textarea using commands. There are two components in the utility - this chrome extension and a vscode extension. Both must be installed and running for it to work. The vscode counterpart can be installed from the extension marketplace or manually following the instructions at https://github.com/nikhils98/vscode-chatgpt-easy-copy/tree/main

- How it works?
The vscode extension initializes a websocket server at port 8765 on startup which the chrome extension connects to. On execution of a command, the selected text or contents of file(s) are sent to the chrome extension, via websocket, which manipulates chatgpt's DOM to input in the prompt textarea and send.

More information about the vscode extension can be found at https://github.com/nikhils98/vscode-chatgpt-easy-copy/tree/main/vscode

-- Service Worker
This is where the crux of the logic resides for the chrome extension. It's a background script managing the websocket connection to the vscode extension and responsible for injecting a function to manipulate chatgpt's DOM when a command is received.

It uses chrome's scripting api (https://developer.chrome.com/docs/extensions/reference/api/scripting#description) to inject the function in runtime and requires host permissions for chatgpt to do so. A service worker can become inactive after 30s of idle time so to prevent that a keepalive message is sent to the websocket server every 20s.

In most circumstances, the service worker should be active as long as chatgpt or vscode is running but if it gets inactive at some point, you can try one of the following:

1. Refresh chatgpt tab.
2. Reload the extension from Extensions page. After reload, chatgpt tab must be refreshed as well.

-- Content Script: Ping Server Worker
This runs only when chatgpt is open. It sends a ping message to the service worker every 20s to keep it active when vscode isn't open. Essentially if you open vscode after the service worker had become inactive, opening a tab of chatgpt will make it active again.

- Note:
1. At least one tab of chatgpt must be open. If multiple tabs are open, command is sent to only one.
2. You may see an error related to Websocket connection failure in extension console especially if installed manually. This will be the case when vscode is not running. It can be ignored as the service worker retries connection every second so when you run vscode it should connect.
Read more

Source Manifest.json

{"update_url": "https://clients2.google.com/service/update2/crx", "manifest_version": 3, "name": "VSCode Chatgpt Easy Copy", "description": "Directly copy selected code or files from vscode to a chatgpt tab in browser", "version": "0.0.1", "icons": { "16": "icons/arrow-16.png", "32": "icons/arrow-32.png", "64": "icons/arrow-64.png", "128": "icons/arrow-128.png" }, "content_scripts": [ { "js": ["scripts/ping-service-worker.js"], "matches": ["https://chat.openai.com/*"] } ], "host_permissions": ["https://chat.openai.com/*"], "background": { "service_worker": "workers/index.js" }, "minimum_chrome_version": "116", "permissions": ["scripting"]}
Read more

Similar Extensions

icon

WindChat-ChatGPT Tailwind CSS React Previewer Extension · Developer Tools 14 4 ★ 483KiB

icon

Saved Prompts Extension · Developer Tools 14 33 ★ 16.47KiB

icon

ChatGPT Extension Extension · Productivity 14 3 ★ 1.73MiB

icon

Bookmark Folders for ChatGPT Extension · Productivity 14 16 ★ 140KiB

icon

ChatGPT Chat SAVE Extension · Productivity 14 9 ★ 12.5KiB

icon

ExportGPT: Export ChatGPT Conversation Extension · Productivity 14 26 ★ 395KiB

icon

ChatGPT to Markdown Extension · Developer Tools 14 22 ★ 117KiB

icon

ChatGPT Cookies Extension · Developer Tools 14 1 ★ 67.79MiB

icon

Searchable ChatGPT: search GPT conversation history Extension · Productivity 14 72 ★ 423KiB

icon

ChatGPT to MarkDown plus Extension · Productivity 14 21 ★ 37.46KiB

icon

ChatGPT Download For PC, Mac, Windows - Free Extension · Productivity 14 11 ★ 124KiB

icon

Chat GPT Extension · Productivity 14 2247 ★ 500KiB

icon

ChatGPT Print and Save Extension · Productivity 14 4 ★ 4.99MiB

icon

Save ChatGPT to Notion Extension · Productivity 14 16 ★ 415KiB

icon

ChatGPT to Notion Extension · Productivity 14 96 ★ 1.65MiB

icon

ChatGPT Folders Extension · Productivity 14 56 ★ 185KiB

icon

ChatGPT Web Preview Extension · Developer Tools 14 7 ★ 456KiB

icon

GPT Booster - ChatGPT File Uploader & Chats Saver Extension · Productivity 14 22 ★ 3.63MiB

icon

Export ChatGPT - image&Screenshot Extension · Productivity 14 8 ★ 3.41MiB

icon

Umbrella - Copy All URLs V3 Extension · Productivity 14 0 ★ 364KiB

icon

BookmarkGPT - Bookmark Your ChatGPT Prompts Extension · Productivity 14 13 ★ 1.68MiB

icon

Whisper to ChatGPT Extension · Accessibility 14 41 ★ 585KiB

icon

ChatGPT File Extension Extension · Productivity 14 4 ★ 3.91KiB

icon

Save ChatGPT to Obsidian markdown file Extension · Productivity 14 9 ★ 364KiB