This extension allows you to quickly compile, run and judge competitive programming problems from within VS Code. You can automatically download testcases write & test your own problems. Once you are done, you can submit your solutions directly with the click of a button!
Using the competitive companion browser extension, cph supports a large number of popular platforms like Codeforces, Codechef, TopCoder etc.
- Install cph in VS Code and open any folder.
- Install competitive companion in your browser.
- Use Companion by pressing the green plus (+) circle from the browser toolbar when visiting any problem page.
- The file opens in VS Code with testcases preloaded. Press Ctrl+Alt+B to run them.
- (Optional) Install the cph-submit browser extension to enable submitting directly on CodeForces.
- (Optional) Install submit client and config file from the Kattis help page after logging in.
You can also use this extension locally, just open any supported file and press 'Run Testcases' (or Ctrl+Alt+B) to manually enter testcases.
- Automatic compilation with display for compilation errors.
- Intelligent judge with support for signals, timeouts and runtime errors.
- Works with Competitive Companion.
- Codeforces auto-submit integration.
- Kattis auto-submit integration.
- Works locally for your own problems.
- Support for several languages.
- C++
- C
- Rust
- Go
- Python
- Java
CPH is in a steady-state. There are no new features planned for the extension. Only bug-fixes will be worked on.
You can contribute to this extension in many ways:
- File bug reports by creating issues.
- Develop this extension further - see developer guide.
- Spreading the word about this extension.
Before creating a Pull Request, please create an issue to discuss the approach. It makes reviewing and accepting the PR much easier.
Copyright (C) 2023 Divyanshu Agrawal
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.