Overview Version History Q & A Rating & Review
⚡ Fast Olympic Coding ⚡
Fast Olympic Coding is an extension to assist with various tasks in competitive programming. It is a ported and enhanced version of the corresponding Sublime Text plugin that also leverages the power of VSCode.
⚡ Overview
📜 Concurrently run, edit, and delete multiple testcases
👨🏻💻 Stress tester to find counterexamples
👜 Insert pre-written code from another file with automatic folding
🛜 Reads testcases and outputs from Competitive Companion onto the current file
🏃 BLAZINGLY FAST! Asynchronous design + optimizations = 99% spam proof!
💻 Keybinds
Compile (if file has compile command and file had changed) and run all testcases: Ctrl+Alt+B
Stop all testcases: Ctrl+Alt+K
Delete all testcases: Ctrl+Alt+D
Run stress test: Ctrl+Alt+G
Insert file template: Ctrl+Alt+I
</> Setting Up
Provide run settings for the languages you use in settings.json
. Here are some examples for C++, Python, and Java:
{
"fastolympiccoding.runSettings": {
".cpp": {
"compileCommand": "g++ -std=gnu++20 -D_GLIBCXX_DEBUG ${path:${file}} -o ${path:${fileDirname}/${fileBasenameNoExtension}${exeExtname}} -fdiagnostics-color=always",
"runCommand": "${path:${fileDirname}/${fileBasenameNoExtension}${exeExtname}}"
},
".py": {
"runCommand": "python ${path:${file}}"
},
".java": {
"compileCommand": "javac ${path:${file}}",
"runCommand": "java -cp ${fileDirname} ${fileBasenameNoExtension}"
}
}
}
We can use the following variables in the syntax of ${...}
Most of VSCode's built-in variables
${exeExtname}
returns .exe
for Windows and an empty string for other platforms
${path:*some value*}
turns *some value* into a valid path string for the current platform, which normalizes slashes and handles spaces
📜 Testcase Window
👨🏻💻 Stress Tester
Required files (naming scheme configurable in settings):
<name>.[ext]
: the solution to bruteforce against
<name>__Good.[ext]
: the solution that outputs the correct answer
<name>__Generator.[ext]
: to generate inputs for the other 2 files
Gif is recorded at 15FPS but the tester runs as low as 5ms between testcases!
👜 Inserting Prewritten Code
Specify your library directory in settings to enable this functionality. Otherwise, nothing happens!
Make sure there is no newlines at the end of your templates for the folding to work!
🛜 Competitive Companion
Open the extension's tab on VSCode's sidebar to activate the process of listening for Competitive Companion first!
© Attributions