CP Editor: An Editor for Competitive Programming

Hi Guys!
For the past couple of weeks, I was working on a new Code Editor for Competitive Programmers. Today, I am happy to present it to you all, the first release of CP Editor.

But First, Why we need a new editor?

There exists so many code editor of all types, written in all languages but all of them are tailored down for Development of Software and none is specially focused for Competitive Programming. As competitive Programmers, we need our Editor to be Fast, Reliable and Something that just works. We focus mostly on correctness of our code and this involves compiling and re-running on sample test cases again and again.

CP Editor is Fast written in Native C++ (Qt), Cross-platform (works everywhere), and has all basic features that a competitive programmer needs from an editor. CP Editor takes away your responsibility of compiling the code and running it on your sample test cases. It automatically with just one click or keystroke compiles and runs your program and gives back to you the output.

Features
  • Code formatting with clang-format or any other tool of your choice.
  • Auto-parenthesis, Word Wraps, auto-indentation and all other basic editor features.
  • Syntax highlighting for C/C++
  • Dark theme for the code editor
Limitations
  • No support for language other than C/C++ (Sorry Python and Java users, I will try to add these languages ASAP)
  • No Auto-complete or Intelli-sense (It makes things slower, learn to remember stuff don’t rely on LS too much).
  • Highlighting of Closed and its corresponding Open braces is not working. (I am working on it).
Installation
  • For Windows, you can get the Installer file from here. Install it just as you do with other software.
  • For Linux, you can download and run the Editor on any distribution with AppImages. Get it here

This is a code editor and does not come with any Compiler bundled.

So you will need mingW-gcc or clang or msvc on your PATH.

As with every great software, this Editor also comes with all its code open-sourced and you can verify for yourself that your code remains on your machine and never goes anywhere.

The project is available at https://github.com/coder3101/cp-editor2

For complete instructions, setup queries and other issues please refer to the above URL.

Happy Coding !!!

EDIT

If you face any issue regarding VCRUNTIME140_1.DLL MISSING.

Please Install Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 for your system.

8 Likes

Why should I use your editor instead of using Sublime Text 3 which supports compiling and execution of more than one programming language? Indeed it is fast.

The only thing that makes my editor better than others like sublime is that you don’t have to give input on terminal and wait for output on terminal and rerun and then again give input to terminal and again waiting for output.

With this editor you give only once, your input and then you write code and when you press CTRL+Shift+R, it will compile your code automatically and run your program on the input provided and then give/show you output directly. No terminal and third party involved.

Its fast in this sense.

6 Likes

You can directly give input to an input file and output will be printed to an output file using freopen syntax and its pretty common on sublime text.So the feature you mentioned is widely used on on sublime and atom. Also in sublime you always have the option of changing the layout of input and output files.

2 Likes

I already know that but it needs you to modify your source code (redirect stdin and stdout with freopen syscalls). In my editor no modification is required in source to achieve the same, and if some mistake take place and you copy paste the same code on submission or upload it. You will get TLE and penalty for no reason.

It may not be good for Codechef Long challengers, Long challenges are not race against time. In contests that where time constraints are strict. Such mistake are common, so i made it that mitigates it all along.

Also, With slight modification of settings in this editor you can use it to run C#, Java, Rust, Go, Python anything. (However i do not officially support those languages yet).

2 Likes