Skip to content

Completions vs chat — two ways in

Copilot is installed and reading orders-service. Before you point it at the ordering bug, spend two minutes on a distinction that quietly decides how productive the next hour is: completions and chat are not the same tool, and they’re not good at the same things. Most early frustration with Copilot comes from using one where the other belongs.

Completions: the autocomplete that finishes your thought

Section titled “Completions: the autocomplete that finishes your thought”

Inline completions are the grey ghost text. You’re typing, and Copilot offers the rest of the line — or the rest of the block — which you accept with a keypress or ignore by typing past it. It’s reading the file around your cursor and the shape of what you’ve started, and it’s fast: no prompt, no waiting, no conversation.

What completions are good at is continuation. You’ve written a function signature and it drafts the body. You’ve started a test and it fills in the assertions. You’re halfway through a repetitive block and it finishes the pattern. You stay in the driver’s seat, typing, and Copilot keeps pace half a step ahead.

What completions are not good at is anything you’d have to explain. They can’t take an instruction. They can’t reason across files you don’t have open. They can’t be told “do it our team’s way.” If you find yourself wishing you could tell the suggestion what you want — that’s the signal you’ve reached the edge of what completions do, and chat is the tool you actually want.

The Chat view is a conversation. You describe what you want in words, Copilot proposes — an explanation, a diff, a multi-step change — and you review. It reads far beyond your cursor: the open files, files it decides are relevant, and (in a few chapters) the rules you’ve written and the tools you’ve connected.

Chat is the surface this whole course is about, because it’s where Copilot stops being autocomplete and becomes an agent — something you delegate to, not just type alongside. Within chat there’s a second choice waiting — the modes, which decide how much latitude Copilot has to act on what you asked. That’s the entire next chapter. For now, the only thing to internalize is the split:

  • Reaching for a continuation of what you’re typing? Completions. Stay in the file, let the ghost text help.
  • Have something to explain — a bug to describe, a change to request, a question about unfamiliar code? Chat. Open the panel and brief it like you’d brief a teammate.

Here’s where the distinction bites for your situation specifically. orders-service is code you didn’t write. The fastest way to get oriented in an unfamiliar repo isn’t to start typing and hope completions catch your drift — it’s to ask. Chat can read the code and explain it back to you, trace where a value comes from, or summarize what a module does, before you change a single line. Completions can’t do any of that, because there’s nothing to continue yet — you don’t know enough to start the line.

That’s exactly the situation in front of you: a bug in unfamiliar code, which you can describe but couldn’t confidently fix by typing. So this one’s a chat job. Open the Chat view and let’s fix the ordering bug. Next: your first reviewed change.