██████╗ ██████╗ ██████╗ ███████╗ ██████╗ ██╗ ██╗████████╗
██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔═══██╗██║ ██║╚══██╔══╝
██║ ██║ ██║██║ ██║█████╗ ██║ ██║██║ ██║ ██║
██║ ██║ ██║██║ ██║██╔══╝ ██║ ██║██║ ██║ ██║
╚██████╗╚██████╔╝██████╔╝███████╗╚██████╔╝╚██████╔╝ ██║
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝
LeetCode, directly from VS Code.Solve, run, sync, and submit LeetCode problems without constantly switching between your editor and browser. Browser Extension • Report a Bug 🚀 OverviewCodeOut is a VS Code extension that connects LeetCode with your local VS Code development environment. It allows you to:
CodeOut uses a lightweight local WebSocket server to communicate between the VS Code extension and the CodeOut browser extension. ✨ Features📥 Problem TransferOpen a problem on LeetCode and launch CodeOut from the browser extension. The problem information is automatically transferred to VS Code. 📁 Automatic Problem FilesCodeOut creates a source file using the LeetCode problem ID and slug. For example:
The appropriate LeetCode starter code is inserted when the file is created. Existing problem files are never overwritten. 🔄 Automatic Code SyncChanges made in VS Code are automatically synchronized with the LeetCode editor. A manual Sync Code button is also available. ▶️ Run from VS CodeRun LeetCode test cases directly from the CodeOut sidebar. Shortcut:
CodeOut sends the current code to LeetCode and triggers LeetCode's native Run functionality. 🧪 Test Case ResultsTest results are displayed individually inside the CodeOut sidebar. Supported states include:
Accepted test cases are automatically collapsed while failed test cases remain expanded. 📤 Submit from VS CodeSubmit your solution without leaving VS Code. Shortcut:
🔌 Automatic Server StartupCodeOut automatically starts its local communication server when the VS Code extension is activated. 🔁 WebSocket ReconnectionIf the connection between VS Code and the local CodeOut server is interrupted, CodeOut automatically attempts to reconnect. 🏗️ Architecture
🔄 Workflow1. Open a LeetCode ProblemOpen a problem on LeetCode and click the CodeOut browser extension. The browser extension extracts the problem information and sends it to the local CodeOut server. 2. Select a LanguageCodeOut displays a language picker in VS Code. The selected language determines the file extension and starter code. 3. Solve in VS CodeWrite your solution using the VS Code editor. CodeOut automatically synchronizes changes with the LeetCode editor. 4. RunPress:
CodeOut updates the LeetCode editor and triggers LeetCode's native Run action. The resulting test-case statuses are sent back to VS Code. 5. SubmitPress:
CodeOut triggers LeetCode's native Submit action. 🌍 Supported Languages
⌨️ Keyboard Shortcuts
Shortcuts can be customized through the native VS Code Keyboard Shortcuts interface. Open:
Then search for:
📂 Project Structure
🛠️ Tech Stack
📦 InstallationInstall from VSIXDownload the latest In VS Code:
Select the CodeOut Build from Source
The generated 🌐 Browser ExtensionThe VS Code extension works together with the CodeOut browser extension. CodeOut Browser Extension: https://github.com/Dev-Gaurav-3/CodeOut_Browser Both components communicate through the local CodeOut server. 🔌 Local ServerThe CodeOut server runs locally on:
The server acts as the communication bridge between the browser extension and VS Code. No external CodeOut backend is required. 🔐 PrivacyCodeOut uses a local communication server running on your machine:
The core communication between the browser extension and VS Code takes place through this local server. No CodeOut cloud account is required. 🚧 Project StatusThe core LeetCode ↔ VS Code workflow is implemented and tested. Working
🔮 Future Plans
🤝 ContributingContributions, suggestions, and bug reports are welcome. If you find a bug or have an idea for improving CodeOut, please open an issue. 📄 LicenseSee the repository license for details. 👨💻 AuthorGaurav Built with ❤️ for competitive programmers. who are tired of switching Leetcode and VS Code. |