Automate competitive programming workflows with polyglot Fast I/O templates and native Codeforces API integration.
Codeforces Toolkit is a lightweight, high-performance VS Code extension designed specifically for competitive programmers. It eliminates the repetitive friction of contest setups by providing instant, language-specific boilerplate injection and dynamically fetching problem metadata directly into your editor using standard CodeLens UI.
🚀 Features
1. Dynamic Polyglot Fast I/O Generation
Stop copying and pasting templates. Simply type cf followed by your target problem code (e.g., cf112A, cf800) to instantly inject a highly optimized, language-specific boilerplate.
- Automatically configures the fastest standard I/O streams for your active language.
- Seamlessly adapts to your keystrokes without conflicting with standard IntelliSense.
- Includes GCC-specific optimizations (like
<bits/stdc++.h>) where applicable.
2. Native API Integration & CodeLens UI
Say goodbye to context-switching between your editor and the browser to check problem tags.
- Hover over any problem comment to reveal a custom
⚩ Fetch Codeforces Data CodeLens button.
- One click securely queries the Codeforces public API to retrieve the problem's official Name, Rating, Topics, and URL.
- Alternatively, execute the fetch manually via the Command Palette:
Codeforces Toolkit: Fetch Problem Details.
💐 Usage
Step 1: Generate the Template
Open an empty file and type your target problem code using the cf prefix:
cf131A
```@Hit `Enter`. The extension will immediately generate the optimized template:
```cpp
#include <bits/stdc++.h> // Includes every standard library
using namespace std;
// Problem 131A
int main() {
// Fast I/O (Standard speedup, perfectly safe to remove)
ios_base::sync_with_stdio(false);
cin.tie(NULL);
return 0;
}
Step 2: Fetch the Metadata
Click the ⚩ Fetch Codeforces Data (131A) CodeLens that appears directly above your problem comment. The extension will format the data directly into your source code:
// Problem 131A: cAPS loCK
// Rating: 1000
// Topics: Implementation, Strings
// Link: https://codeforces.com/problemset/problem/131/A
🌌 Supported Languages
The toolkit detects your active file and injects the correct syntax and standard speedups for:
- C++ (
.cpp)
- Python (
.py)
- Java (
.java)
- Rust (
.rs)
- Go (
.go)
- JavaScript (
.js)
- C# (
.cs)
♙ Installation
- Open Visual Studio Code.
- Navigate to the Extensions view (
Ctrl+Shift+X or Cmd+Shift+X).
- Search for Codeforces Toolkit.
- Click Install.
(Alternatively, launch VS Code Quick Open (Ctrl+P) and paste: ext install hashir-hameed.codeforces-toolkit)
🤩 Contributing & Open Source
This tool was built to strip away the tedious operational overhead of competitive programming so developers can focus strictly on algorithmic logic.
If you want to contribute, add support for a new language, or report a bug, feel free to open an issue or submit a Pull Request on GitHub.
🔐 License
MIT License. See the LICENSE file for details.