This blog is outdated. See https://cpeditor.org
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.
Credits : naimul_haque
Great Software Bruh! Loved it. Its easy to use and also lightweight. Takes less time to compile and run. Dark Mode is awesome. More than two input files can run together and in just a very few seconds, we can see the output as well. From today onwards, I will use this software to write codes for cp questions.
Hi! I installed the precompiled setup for Windows but I am having trouble running it.
After installing when I first tried to run CP-Editor, an error message popped up saying
VCRUNTIME140_1.dll is missing.
I downloaded the DLL file but now it shows a different error -
The procedure entry point __CxxFrameHandler4 could not be located in the dynamic link library.
Please fix.
DLL issues like such is caused by missing or outdated System DLL files. I have tested it on Windows 10, 64-bit. Could you provide your Information like OS version and architecture. It would help me find the issue.
Meanwhile, if you want to use it, you can compile it yourself after you download Qt. Instructions are on GitHub.
Thanks for your feedback.
I am using Windows 10 Pro 64-bit.
Is there any way I can update/install the required DLL files manually?
You should download a tool called Dependency Walker and Using that tool find all the required DLL/Dependency and download them manually. It may work.
Install https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
I am having the exact same DLL problem.
UPDATE: Downloading Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 fixed the issue.
Thanks, I will update the Post for those who might have the same issue.
I've got the same problem.
Searching online to download a VCRUNTIME140_1.dll would help.
Place the dll in the
System32
folder will fix the problem :PNever do this kind of thing you never know which is legit one :). It has the potential to infect you system.
I have not used the app however there's a suggestion from my side to use single key for run(maybe F10) and compile & run(F9). Small improvement but makes a huge diff.
In some future release I will provide a way to customize the shortcut keys. But Even having F10 or F5 still requires pressing
Fn
Keys. In most of the newer laptop the Function keys by default perform operations like volume Up, brightness and stuff, unless the behavior is changed from BIOS.I thought if it needs 2 keys anyways, why not make it easy to reach key like
Ctrl+R
to run.I have installed it but it failed to start compiler process.
What we need to enter in Compile Command, Run Command, Format Command
First you need to have a compiler installed. Install mingW-gcc. Then add it to your PATH (Environment variable). To verify if everything went well open a command prompt and run
g++ --version
it should return the version. Now go to editor setting and write compile command likeg++ -Wall
and now you should be able to compile.As for format command leave it default and run command also can be left as default.
Note Incase you already had DevCpp installed. You most likely have g++ installed. Simply navigate to the directory you installed DevCpp and inside of it you should find a directory named mingw, add this mingw/bin to environment variable and everything should work.
In a nutshell add any C++ compiler to your environment PATH.
Very good IDE for competitive programming purposes, but please implement some form of variable autocomplete. When upsolving I like to use long, descriptive variable names, and autocomplete is very useful.
Sure that can be done.
can't checkout the check box for comparing expected output. how can i do that?
That feature was kind of broken. So i disabled that check box. In future release i will re-enable it.
I downloaded the file on Linux and I also gave necessary permissions but it's still not working when I double click it. Am I missing something?
try
./CPEditor.AppImage
afterchmod a+x
No It's still not working.
So what is the error that comes when you run the execute command. Anything specific?
Also your distro and OS please?
I have ubuntu and I typed this in my terminal "./CP_Editor-1.50.2-x86_64.AppImage" and it is saying "./CP_Editor-1.50.2-x86_64.AppImage: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_CP_Edi2gRLA6/lib/libicuuc.so.65)"
It seems that you need to upgrade to Ubuntu Disco or Eoan. Otherwise you won't have the required libc version.
Yes, I packaged the AppImage on Arch Linux with latest glibc. You could either upgrade or wait for next release where i will use some older libc to package the AppImage.
how can i see the name of my current file? and how can i open two file at a time?
For opening 2 files at one time. You can open two instances of editor. As for the name of file you have opened, editor does not shows it. (Maybe I will add this feature).
This Is toooooooo good. I loved the dark theme.
i think save option isn't working at all. it saves a null file. it saves file when application closed.
I see do you mind opening ba issue on github regarding this bug.
An error popped out while trying to run my program:
Unsupported 16-Bit Application
The program or feature "\??\C:\Users\USER\AppData\Local\Temp\a.exe" cannot start or run due to incompatibility with 64-bit versions of Windows. Please contact the software vendor to ask if a 64-bit Windows compatible version is available.
Are you using a Cross compiler. The gcc or compiler you have used in compile command is most likely to be old and is producing 16 bit binaries. Use a different compiler the one compatible with your system.
My compiler is called "GNU GCC Compiler" as in Code::Blocks 17.12. I've been using this compiler at Code::Blocks and it works fine (assume that it means my compiler is compatible with my system).
I think the problem may be my compile command:
g++ -Wall -fexceptions -g -O3 -std=c++14 -c
. I'm not familiar with writing compile commands, since Code::Blocks automates it, so I think that there's something wrong with my compile command.For reference, I'm using a 64-bit Windows 7 Professional.
Reset the settings. Keep
g++ -Wall
as compile command.So I tested the editor on another code today, and the error above no longer shows up. Instead I saw this at the Compiler Messages:
[09:32:43] [Runner[1]] [Error occurred during execution on first testcase]
right after I run my code. The same error occurred for all the inputs I've specified. I've then changed my compile command into
g++ -Wall
but that doesn't seem to change anything.Is there a way I can reset all the settings other than uninstalling and reinstalling the editor?
There will be a file in your home directory (in case of windows : C:/Users/your_name) named
cp_editor_settings.ini
. Delete it or you can also reset all settings fromHelp => Reset Settings
If problem persist, try disabling your Antivirus which maybe preventing your executable from running. For that check to C:/Users/name/AppData/Local/Temp directory a file named a.exe, if it exists try running it by double clicking it, does it starts. (a.exe will exist only after compilation was okay)
It's finally working. Thanks!
Hope that the issue with file saving will be fixed soon. :)
Can you add the font changing
So which font you want?
It can be Consolas
I didn't understand it -> Code formatting with clang-format or any other tool of your choice In Codeblocks Code can be format A style how I gonna make this happen in this editor. You know sometimes codes are too large and if there a format option then it will be helpful for me. Thanks in advance for your this beautiful creature buddy .
Install llvm, it will install
clang-format
and while installing choose add to PATH. Now change format command toclang-format -i
. Press CTRL+ALT+L to format the code.I added clang-format in system path but its showing the same when i pressed ctrl+alt+L that "[The format process didn't finish in 2 seconds. This is probably because the clang-format binary is not found by CP Editor. You can set the path to clang-format in Preferences->Formatting.]"
What should I do?
So have you tried "set the path to clang-format in Preferences->Formatting"?
No, I didn't understand what I should do.In formatting there are two options 1)clang-format command 2)clang format style How should I proceed?
I was suggesting you try setting the path to your Clang Format executable file in "Clang Format Command".
Have you got this warning: "Code formatting failed to work. Please check whether the clang-format binary is in the PATH and the style is valid."?
Can you run exactly
clang-format --version
in the terminal to get the version of Clang Format?Can you use Clang Format in the terminal to format a file in no more than 2 seconds?
I just changed from "clang-format -i" to "clang-format" and it showed formatting complete.Is it done ?
Another question ,what is its use?I mean what formatting is it talking about?
Can it run on macOS?
I have not packaged it for MacOS, but it should run on MacOS. Install QT for Mac and then compile it yourself. (won't take more than 2 min). Follow the instructions on project url
Doesn't QT cost money?
Qt commercial costs money, Qt Community doesn't. Whole KDE plasma is made out of Qt
Very good editor for cp
An interesting feature would be merging it with cftools by xalanq, so the editor may automatically crawl sample cases from cf rounds and submit solutions (maybe use it as an extension).
I will add this feature in some far future release. At this moment i am making it more stable by adding more language like Python (interpreted lang) and Java (VM run Lang). I have added those for future release.
This is very good app, but just a suggestion to clear all the output boxes everytime we rerun the program and also to print stuff to the output boxes even if the program crashed for people who uses print messages to debug
I have added this feature in new release. If your program crashes everything in the stderr will be printed out to output box with red color.
The editor starts "Not responding" for large input, there should be a button to kill the compliation and run. Rest its amazing!!!!
Large input to stdin?. As for stopping compilation if an compilation was active and you again press compile button. The old would get killed a new would start. Making sure that editor only executes one compiler process at a time. Yes, a button to killing a running executable would be nice. I already added a killtimer. So if your process hang up. Say in some infinite loop. The editor will kill the process after 5 sec. (It doesn't seem to work on windows but works on my linux)
Oh! I am using in Windows.
Some constructive suggestions:
Hats off for your work!
I have installed it. I have also installed mingw compiler , now what should I write in change compile command?
Add gcc/g++ to PATH and No change required to setting
g++ -std=c++14 -static -Weffc++ -s
Here if you want to use
auto
, in case your compiler is not in C++ 14 settingsThis editor is amazing! I just tried it in a virtual contest, and it really makes editing and debugging code much faster. I liked that it can run my program on 3 test cases at the same time. And it is super fast compared to Code::Blocks, which I used before.
Wishing you High ratings!!
When i use character '{' and '}' to make pair, it auto create new line and i don't want it. So can you just create '}' when I type '{' and make create new line as option.
Yes, I know it is a Dependency issue. I will open an issue with the dependency. Meanwhile, You can avoid it by using
vec.emplace_back(2,3)
instead ofvec.push_back({2,3})
.It should create a new line on pressing Enter.
Good editor
gracias capo, saludos desde bolivia
Hats off for your work! Really amazing editor.
To fix what? If you mean the compiler warning:
It's not related to this editor, it's only about C++.
1<<32
will cause overflow because1
is an int literal, $$$2^{32}$$$ is out of the range of int.but cf accepted my solution with that, that's why i was confused.. btw tnx
thanks bro i thought my compiler is screwed after installing your editor i know sublime is screwed
I love this editor but the only problem for me is that it's currently displaying the whole code in a Single Colour for python Programs making it pretty ugly to look at. Can you please change this or provide a workaround for this!
UPD: I just removed the first line of my Program which had a Comment and it works now.
What's your code? Have you set the language to Python?
Yes, I did. I tried different codes. And looks like the problem is only with python programs, whenever I select Python from the menu at the IO Tab, the colou scheme changes and it turns into only one Colour.
UPD: I just removed the first line of my Program which had a Comment and it works now.
What's that first line?
It was like this at first!
It is showing this error: [Code formatting failed to work. Please check whether the clang-format binary is in the PATH and the style is valid.]
Error photo: Error
Please help me in setting up CP Editor with CF Tool and Competitive Companion. It would be really awesome if you can write the steps pointwise of how to set it up with CF tool and parse it and where to run all those commands like cf race, cf upgrade, etc. A video of setting it up will be highly appreciated. Please help snapdragon3101 ouuan
PS: I'm able to run the codes as I have installed MinGW in my PC.
Settings up CF tool is easy. Just add CF tool to PATH and if you were able to submit from command line using CF submit, You should be able to submit using editor as well. cf parse and cf race are not supported yet. We do plan to release YouTube videos as tutorials but we have some more work to do in improving editor now. Meanwhile you can ask all your queries at our telegram group ( @cpeditor )
For competitive companion, go to chrome extensions and add it. Set the port to 10045 in extension options of competitive companion.
For CF Tool, download latest zip and extract. Now move the file to the PATH by typing sudo mv cf ~/usr/bin on the terminal. Be sure to be in the directory of cf by cd.
Now in the terminal, type cf config, 0: to login, 1:add template.
In template, after selecting the language,just enter the path to your default code. just type the other suffixes, press enter in the optional stuff and write the path to your .exe or a.out of your default code.
after this u are good to go and submit through CP EDITOR!!
Feel free to ask and do upvote!
bro an error coming with cf no such file or directory when writing that command from the cf directory
darshan@darshan:~$ sudo -i [sudo] password for darshan: root@darshan:~# cd /home/darshan/Downloads/cf root@darshan:/home/darshan/Downloads/cf# sudo mv cf ~/usr/bin mv: cannot move 'cf' to '/root/usr/bin': No such file or directory root@darshan:/home/darshan/Downloads/cf# ^C root@darshan:/home/darshan/Downloads/cf#
I can't find out how to zoom in or out in editor.
That functionality is not added yet. Instead you can set a big font size for the time being.
You can now zoom in and out with Ctrl+(Wheel up/down), It should be available with version 6.5.x (could be in earlier version too, but not exactly sure of it)
Thanks for this. On the Macbook, You'd have to hold the CMD key and Scroll down to Zoom out and Scroll up to Zoom in.
snapdragon3101 I added the path "/usr/bin/clang++-10" after installing clang by the command 'sudo apt install clang' on Ubuntu 20.04 Now this error pops up in the Binary Formatter on the right. Can you please suggest me how to fix this.
clang: error: unsupported option '--cursor=360' clang: error: unsupported option '--style=file' ]
Just put
clang-format
snapdragon3101 Can you tell me the details like put
clang-format
but, where in the path or style. And if you meant to include a file named 'clang-format' then where do I find that, because I can only see these five executables in my \usr\bin directoryclang
clang++
clang++-10
clang-10
clang-cpp-10
Short answer:
sudo apt install clang-format-10
and putclang-format-10
in Clang Format->Path in the Preferences.Other details:
clang++
is the compiler, not the formatter.clang-format
is not included in theclang
package on Ubuntu.Hi, Can you please help me with how to handle interactive problems? Like is there any option through which one can open an interactive screen?
Actions -> Detached Run
runs your binary in separate command window.Can anyone Please tell me How to install and run CPEditor in Mac? And How to configure CFtool in Mac?
Upon clicking the executable file message of "Firewall protected windows" and the option of don't run comes. What should I do now?
Please look this error!!  How to fix it? I went to preference->extensions->clang format-> (there were two blocks: 1 was asking for clang path and 2 was asking for style) I have tried putting clang-format , clang-format-i,clang-format-6 & clang-format-10. But none of them worked. Please help ouuan snapdragon3101Seems like you had out some invalid configuration in .clang-format style: Reset that settings to default and check back again.
i am getting error pop up after installing that MSV.dll mising?
Hey, Can someone help me with setting up cpeditor in windows? I am currently getting this .
Thanks
Got fixed ! Had trouble with my c++ environment setup.
[03:11:52] [Runner[1]] [Failed to start running. Please compile first] gives me this but I already complied so many times. also this on saving [03:16:36] [Compiler] [The compile command for C++ is invalid. Is the compiler in the system PATH?]
I was able to solve it if anyone faces such error just go into your environment path and add mingw/bin folder their
has it auto complete feature like code blocks?
No, but it's in our future plans.
I want to ask 3 question. 1.its ram requirements. 2.how to change compiling options. 3.how to change theme to monokoi or any dark theme.
Is it faster than sublime in 2gb ram? please tell.
please tell another thing that will it compare the user and excepted output?
Install it and see for yourself. If it does not fits your needs, you can uninstall it. Install from cpeditor.org
please tell me how to change systemwide theme in cp editor 6.5.5. By the way i like your work so much.
Everything is fine except,
it looses its last saved setting, snippets..Any file missing??Or its happening with anyone.
.
a weird bug that gives TLE randomly. however, if I use cerr to debug somewhere then it works fine
Hi,
I decided to use the super tool but unfortunately I can't really use it bcs of TLE after compilation.
I read that it might be possible that anti-virus scans the program and we need to add it to the white-list. I added to exclusions (the entire directory with subdirs) and also tried to turn anti-virus off. I'm still not able to use it bcs of the compilation and getting TLE right after it. Can you guys help me? I would really like to use this fantastic tool...
Hello, how do I use language server arguments like -Wno-unused-variable,-Wno-infinite-recursion,-Werror=implicit-function-declaration,-Wshadow,-Wno-shadow-field-in-constructor-modified,-Wno-shadow-ivar,-Wuninitialized,-Wunused-label,-Wunused-lambda-capture ?
I tried to copy paste the arguments in the "Arguments for Language Server" section, but after I did that the linter stops working.
[Failed to start compilation: Failed to start the compiler. Please check Preferences->Language->C++->C++ Commands->C++ Compile Command or add the compiler in the PATH environment variable.] How do I fix this? I really need help.
it literally says it in the error
Thanks, after adding path I need to restart my PC
I already added mingw to the environment path . Still it shows same error message " [Failed to start compilation: Failed to start the compiler. Please check Preferences->Language->C++->C++ Commands->C++ Compile Command or add the compiler in the PATH environment variable.] "
I really like your idea, thanks!
amazing amazing
Is there any way to get this to work, if you are on a machine with limited access, meaning that one can't edit environment variables and add g++ to system path?
i installed it in mac m1 the app get stuck when i make it full screen even iam unable to exit it .i see a pop up saying press F11 to exit full screen but even the pop up is irresponsive. can u help me with the problem?