Actions

Save

Save Files Faster

Use QFile instead of QSaveFile to save files.

This is slightly unsafer but notably faster.

Save Testcases on Save

Save the test cases on the disk when saving the code.

You can choose where to save the test cases in File Path/Testcases .

Auto Save

Auto Save Interval Type

It is easier to describe if we explain a little bit about the internal implementation: There is a countdown timer. When we “reset” it, it will be “running” in the next Auto Save Interval milliseconds, and after Auto Save Interval milliseconds, the timer will “timeout” and the code is auto-saved.

After the last modification

The timer is reset whenever you modify the code. i.e. Your codes will be saved if you haven’t modified it for Auto Save Interval milliseconds.

This mode is suitable for a small Auto Save Interval so that your codes will be auto-saved every time you take a short break from typing. If the interval is too long, likely, your codes will never be auto-saved.

After the first modification

The timer is reset when you modify the code if the timer is not running. i.e. Your codes will be saved if you modified it Auto Save Interval milliseconds ago.

This mode is suitable for a long Auto Save Interval, otherwise, it’s likely that the save happens when you are typing, which could affect your typing experience.

Without modification

The timer is reset when it timeouts. i.e. Your codes will be saved every Auto Save Interval milliseconds, no matter you have modified it or not.

This mode is suitable for saving test cases, etc. In the other modes, the test cases are not auto-saved if you don’t modify the codes.

Detached Execution

Terminal Program

Terminal Arguments

This setting is only available on Linux.

The terminal program is the name/path of the terminal emulator you want to use.

The arguments are used to execute a given command. i.e. <Terminal Program> <Terminal Arguments> <command> can be used to execute <command> in the terminal emulator.

In most terminal emulators including konsole, xterm and xfce-terminal, the argument is -e.

In gnome-terminal, it is --.

You can read the manual of your terminal emulator to get the suitable arguments.

Save Session

Restore last session at startup

Save the status of the editor, and restore most status from the last session when you start CP Editor.

You can use the --no-restore-session command-line option to temporarily disable this, in case that the last session is too big and the application hangs.

Auto-save the current session periodically

Save the current session periodically instead of only when exiting the application.

This is useful if you don’t want to lose your codes after abnormal terminations, such as power outage, forced shutdown, killing CP Editor, etc. However, if the files and test cases are too large, the editor hangs each time the auto-save happens.

Bind file and problem

Restore the problem URL when opening a file

If a problem URL was set for a file, when you open that file again, the problem URL will be restored.

Open the old file when parsing an old problem URL

If a problem URL was set for a file, when parsing that problem from Competitive Companion again, the old file will be opened.

Test Cases

Run your codes on empty test cases

Run your code on all non-hidden test cases even if the input is empty.

Check your answer on test cases with empty output

Check your answer even if your output or the expected output is empty.

Auto Uncheck Accepted Testcases

After the code is executed, the accepted test cases will be automatically unchecked. When test cases are unchecked, they are collapsed and won’t be tested on when you execute your code.

Load External File Changes

Auto-load external file changes if there’s no unsaved modification

If the file on the disk and the code in CP Editor was the same, and then the file is changed outside of CP Editor, load the external change without confirmation.

Ask whether to load external file changes

If the file is changed outside of CP Editor, ask whether to load the change or not.

If this setting is disabled, external changes won’t be loaded.

Auto-load external file changes if there’s no unsaved modification overrides this setting. i.e. if Auto-load external file changes if there’s no unsaved modification is enabled, external file changes will be loaded without confirmation regardless of Ask whether to load external file changes ; if Auto-load external file changes if there’s no unsaved modification is disabled, the user will be asked whether to load the changes only when Ask whether to load external file changes is enabled, otherwise the changes won’t be loaded.

Stopwatch

Display Stopwatch

Show a stopwatch in the UI. You can use it to track your time spent on solving a problem.

Start/Stop stopwatch on tab switch

When switching to a different tab, automatically start the stopwatch on the current tab and pause the stopwatch on the previous tab.

If you switch to the correct tab when solving a problem, with this setting enabled, you won’t need to manually start/stop the stopwatch.

Show stopwatch result only when the button is pressed

Hide the time of the stopwatch and only show the time when the “Show” button is pressed.

This may reduce distractions caused by stopwatch updates.