CP Debug Printer
Instantly generate cerr debug print statements for any C++ variable with a single shortcut — built for competitive programming.
Usage
- Place cursor on any variable (or select it)
- Press
Ctrl+Shift+D
- A debug print line is inserted below automatically
Features
- Works with any alias —
vll, pii, vpii, or whatever you define
- Automatically decodes
using and typedef aliases
- Supports all common CP data structures
Supported Types
| Type |
Example |
Output |
| Scalar |
int, ll, double |
cerr << "x: " << x << "\n"; |
| Bool |
bool |
prints true/false |
| String |
string |
quoted print |
| Pair |
pair<int,int>, pii |
{a, b} |
| Tuple |
tuple<int,int,int> |
{a, b, c} |
| Vector |
vector<int>, vi, vll |
range-for loop |
| 2D Vector |
vector<vector<int>>, vvi |
nested loop |
| Vector of Pairs |
vector<pii>, vpii |
{a,b} per element |
| Vector of Tuples |
vector<tuple<...>> |
{a,b,c} per element |
| Set / Multiset |
set<int>, si |
range-for loop |
| Set of Pairs |
set<pii> |
{a,b} per element |
| Map |
map<int,int>, mii |
k->v |
| Map + Vector value |
map<int,vector<int>> |
k->[v1 v2 ...] |
| Map + Pair value |
map<int,pii> |
k->{a,b} |
| Map + Set value |
map<int,set<int>> |
k->{s1 s2 ...} |
| Nested Map |
map<int,map<int,int>> |
nested print |
| Stack |
stack<int> |
destructive copy loop |
| Queue |
queue<int> |
destructive copy loop |
| Priority Queue |
priority_queue<pii> |
destructive copy loop |
| Deque |
deque<int> |
range-for loop |
Alias Support
Any alias defined with using or typedef is automatically resolved:
using ll = long long;
using pii = pair<int,int>;
using vpii = vector<pii>; // chained alias — works!
vpii v = {{1,2},{3,4}};
// Ctrl+Shift+D generates:
cerr << "v: "; for(auto& [_a,_b]: v) cerr << "{" << _a << "," << _b << "} "; cerr << "\n";
Aliases defined in locally #included header files are also resolved automatically.
Requirements
C++ files only (.cpp). Activated automatically on onLanguage:cpp.
| |