VS Code
The model under the window
A tour of an editor dates in two releases. What does not is the thing underneath: which files are indexed, where symbols come from, what a task really describes, and what the debugger is attached to. Learn those, then drill the parts with exactly one right answer — cursors, replacements, stepping, resolved arguments.
- Modules
- 6
- Drills
- 10
- Build steps
- 2
- Time
- ~4h
Walk out able to
Say which value a setting resolved to and why, predict the text a multi-cursor edit leaves, and stop a real process on a condition you chose.
What this covers
Roots, scopes and the index
Which files are searched, and which setting actually won.
Cursors and replacements
Count them before you type; predict the text they leave.
What the debugger sees
Attach, step by depth, and read a value at the break.
Tasks, configs, extensions
The process a config describes, and how to judge an add-on.
The pitch
What you practise, and what you leave with
A configured workspace for a repository you already have: a task that runs from a cold clone, a debugger that stops where you meant it to.
You will practise
- Resolve settings, and write search patterns
- Count cursors, predict the edit
- Rename against find-and-replace
- Step, break, and resolve an argv
Afterwards you can
- Say why a setting was ignored, without guessing
- Predict a multi-cursor edit before typing
- Stop a process on a condition you chose
- Read a config as the command it will run
Modules
6 modules, 27 items
Lessons explain one idea. Drills repeat it until it sticks. Build steps make something that exists afterwards.
- 1
What the editor knows about
~54 minResolve a setting to the value that applies, and say where a search result came from.
- LessonSay what the window is open on6 min
- LessonWork out which setting actually won9 min
- DrillResolve a setting to its winner9 min
- LessonTell a symbol search from a text search7 min
- LessonChoose the search that answers it5 min
- DrillScope a search to the right files9 min
- DrillWrite the pattern that selects them9 min
- 2
Many cursors, one edit
~30 minCount the cursors before you type, and predict the text the edit leaves behind.
- LessonPut a cursor exactly where you meant6 min
- DrillCount the cursors you just made8 min
- LessonPredict what many cursors will do6 min
- DrillPredict the text after a multi-edit10 min
- 3
Rename, or find and replace
~36 minSay what a rename touches, write a capture-group replace, and choose between them.
- LessonDecide between rename and replace7 min
- DrillSay what a rename actually touches10 min
- LessonSay when only a replace can work7 min
- DrillReplace with capture groups12 min
- 4
What the debugger is attached to
~56 minAttach to a real process, step deliberately, and read a value at the moment it stops.
- LessonSay what the debugger is attached to7 min
- LessonRead the three step commands as one6 min
- DrillStep, and say where you land11 min
- LessonRead a breakpoint as an assertion6 min
- DrillRead a value at the break11 min
- Build stepRun a real program under the debugger15 min
- 5
Tasks and launch configs
~38 minRead a configuration and say the exact command line it will run.
- LessonSay what a task actually describes7 min
- LessonResolve the substitution pass7 min
- DrillResolve a launch config to its argv10 min
- Build stepWire a task that really runs14 min
- 6
Judge it, then keep it
~29 minJudge an extension against criteria rather than a list, and configure a real workspace.
- LessonJudge an extension before installing9 min
- LessonConfigure a workspace from scratch20 min
More in Tools & workflow
Keep going
Regex
Read the pattern. Then predict exactly what it does.
Intermediate~4h6 modules
Git: The Model
Stop memorising the commands. Learn what they move.
Intermediate~5h6 modules
Git: Collaboration
Two people, one history, and no surprises.
Intermediate~5h7 modules
JSON & YAML
Two formats you can read. Neither one means what you think.
Intermediate~4h5 modules
Stop guessing what the window just did.
The first item is free. ~4h of focused work, at your own pace.
Foundational~4h6 modules