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.
- 📜 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!
- Compile (if file has compile command and file had changed) and run all testcases:
Ctrl+Alt+B
- Run stress test:
Ctrl+Alt+G
- Delete all testcases:
Ctrl+Alt+D
- Insert file template:
Ctrl+Alt+I
📥 Installation: Visual Studio Marketplace
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 ${file} -o ${fileDirname}/${fileBasenameNoExtension}${exeExtname} -fdiagnostics-color=always",
"runCommand": "${fileDirname}/${fileBasenameNoExtension}${exeExtname}"
},
".py": {
"runCommand": "python ${file}"
},
".java": {
"compileCommand": "javac ${file}",
"runCommand": "java -cp ${fileDirname} ${fileBasenameNoExtension}"
}
}
}
- Make sure the directory for your compiled file exists!
- We can use VSCode's built-in variables as well as
${exeExtname}
that resolves into.exe
for Windows and an empty string for other platforms. - Forward/backward slashes are automatically normalized when being executed.
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!
- Specify your library directory in settings to enable this functionality. Otherwise, nothing happens!
- FastOlympicCoding: The original Sublime Text package that inspired this extension 💖
- Flaticon: Icon for this extension 💖