Last reviewed
Correct answer: D. For more involved requests like explaining a design decision or refactoring a larger block
Explanation
The difference is the shape of the request. Inline completion answers a single question, what comes next here, from the code surrounding your cursor, and it answers in dimmed ghost text at that spot. There is no slot for intent. You cannot tell it to keep the public API unchanged, and you cannot ask why the current version allocates twice. Chat gives you that slot: state the goal in a sentence, attach the files or symbols that matter, read the reasoning next to the proposed change, then push back in a follow-up turn without retyping any of it.
That makes the boundary practical. Finishing an obvious loop body or the next row of a test table is completion's job, and opening chat for it is slower. Renaming a concept across four files, or asking why a colleague chose a queue over a channel, is chat's. Option B inverts the split, since per-keystroke prediction is precisely what completion already does. C is wrong twice over: both surfaces call a hosted model, so neither works offline. D denies a distinction GitHub's own documentation draws.
Sources
“GitHub Copilot in VS Code provides AI-powered inline suggestions that complete your code, comments, tests, and more as you type.”
“Ask mode is optimized for answering questions about your codebase, coding, and general technology concepts.”
“Start typing in the editor, and Copilot provides dimmed ghost text suggestions at your current cursor location.”
Practise 2 questions on this topic
Take Copilot Chat Features — Timed Test (2 questions) — scored instantly, explanation for every question, no login.