Quickly compile, run and judge competitive programming problems in VS Code. Automatically download testcases , or write & test your own problems. Once you are done, easily your solutions directly with the click of a button!
Cph supports a large number of popular platforms like Codeforces, Codechef, TopCoder etc. with the help of competitive companion browser extension
- 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
- JavaScript (Node.js)
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.
The extension collects basic events defined in src/telmetry.ts
. To disable,
modify the setting telemetry.telemetryLevel
(applies to all VSCode
extensions).
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/.