/cph

Makes judging, compiling, and downloading problems for competitive programming easy.

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Competitive Programming Helper (cph)

Build Status Downloads

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.

Screenshot

Quick start

  1. Install cph in VS Code and open any folder.
  2. Install competitive companion in your browser.
  3. Use Companion by pressing the green plus (+) circle from the browser toolbar when visiting any problem page.
  4. 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.

See detailed user guide

Features

  • Autmatic compilation with display for compilation errors.
  • Intelligent judge with support for signals, time outs and run time errors.
  • Works with Competitive Companion.
  • Codeforces auto-submit integration.
  • Kattis auto-submit integration.
  • Works locally for your own problems.
  • Support for several languages.

Supported Languages

  • C++
  • C
  • Rust
  • Python
  • Java

Contributing

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.

License

This software is licensed under GPL Version 3 or later ( at your choice ).