The GitHub Copilot Handbook · PRACTICAL GUIDE

Use GitHub Copilot Chat with the Right Context

Use focused questions, selected code, repository context, constraints and evidence-based follow-ups to get useful GitHub Copilot Chat responses.

HANDBOOK JOURNEYByte 2 of 5View all Bytes
HANDBOOK JOURNEYByte 2 of 5

The GitHub Copilot Handbook

20 min focused reading
  1. BYTE 01What Is GitHub Copilot?
  2. 03BYTE 03Prompt Engineering for GitHub Copilot
  3. 04BYTE 04GitHub Copilot Agent Mode and Multi-File Work
  4. 05BYTE 05Use GitHub Copilot Safely
FAMILIAR SCENARIO

A new teammate needs the project brief

“Build the page” is weak. Share the goal, relevant files, brand rules and acceptance checks just as you would with a developer joining the team.

01Goal
02Files
03Rules
04Done

Connect the idea: Context quality determines whether AI output fits the real repository.

GITHUB COPILOT HANDBOOK 02

What you will learn

Use focused questions, selected code, repository context, constraints and evidence-based follow-ups to get useful GitHub Copilot Chat responses.

Quick Start

Copilot Chat answers questions, explains selected code and proposes focused changes. This Byte begins with the essential context model, so learners can start here without reading the inline-suggestions lesson first.


Meet the Scenario

Karthik inherits a legacy Java class in PaisaWise's codebase with zero comments and cryptic variable names. He says: "I have no idea what half of this TxnRcnclr class does." Rahul suggests: "Select the whole class and ask Copilot Chat to explain it — I do this constantly with unfamiliar code."


Core Concept

If inline suggestions are like a pair-programmer silently typing alongside you, Copilot Chat is that same partner now answering direct questions out loud. You can select code and ask "explain this," "find the bug in this," "write unit tests for this," or simply describe something you want built from scratch, in plain English (or Tanglish, in a comment, since it reads natural language too).

The key mental shift: inline suggestions react to what you're typing; Chat responds to what you ask. This makes Chat better suited for understanding, debugging, and generating larger blocks of logic, while inline suggestions remain better for fast, in-flow completions.


How It Works Under the Hood

Explaining unfamiliar code — select the confusing method, then ask in Chat:

TEXT
01Explain what this method does, step by step, in plain English.

Copilot Chat reads the selected code plus surrounding context and responds with a plain-language walkthrough — genuinely useful for the "legacy TxnRcnclr class" scenario above.

Generating tests directly from existing code — select a method, then ask:

TEXT
01Write JUnit tests for this method, covering the edge case where overdueAmount is zero.

Fixing a specific bug — paste an error message alongside the relevant code:

TEXT
01This method throws a NullPointerException when accountId is null.02Fix it defensively without changing the method signature.

In each case, notice the pattern: Chat works best when you give it a clear task (explain, test, fix) plus the relevant code as context — vague requests like "make this better" get much less useful responses than specific ones.


CONTEXT ENGINEERING

Better context reduces guessing

Animated workflow

01Goal
02Relevant files
03Project rules
04Examples
05Acceptance checks
Copilot combines your request with available project context before producing an answer.
INTERACTIVE COPILOT LAB

Assemble enough context for Copilot Chat

Choose what Chat needs to diagnose a refund-test failure.

Choose failure evidence, relevant code and expected behaviour; unrelated files add noise.

Try It Yourself (Small Snippet)

A "rubber duck debugging" style Chat prompt, useful when a piece of logic isn't behaving as expected:

TEXT
01Here's my function and the output I'm getting. I expected the late fee02to cap at 15%, but it's exceeding that. Walk through the logic and03tell me where it breaks.0405[paste your calculateLateFee method here]

Try this the next time something behaves unexpectedly — describing the expected versus actual behavior, rather than just pasting code and saying "fix it," usually gets a more precise answer.


Real Company Angle

Copilot Chat is available across supported development environments, but exact capabilities depend on the client, plan and organisation policy. Teams should document which surfaces and features are approved instead of assuming every developer has identical access.


Common Mistakes

  1. Asking vague questions like "fix this" without describing what's wrong — Chat performs much better with a specific task and a description of the expected vs. actual behavior.
  2. Not providing enough surrounding context — if the bug depends on code in a different file that isn't open or referenced, Chat may not have visibility into it.
  3. Trusting a generated explanation of legacy code as fully accurate without verifying against actual behavior — Chat's explanation is a strong starting hypothesis, not a guaranteed-correct specification, especially for genuinely obscure or poorly-named legacy code.
  4. Using Chat for large, multi-file refactors — this is a job better suited to agent mode (Byte 4); Chat is optimized for focused, single-context conversations.

Persona Wrap-Up

Karthik, after using Chat to explain TxnRcnclr: "This just saved me probably two hours of tracing through cryptic code by hand." Meena, curious, asks: "Can it write our test cases too?" Rahul: "Yes — and it does surprisingly well when you point it at one method with a clear ask, like 'test the edge cases.'" Divya: "That's the pattern to remember — Chat rewards specificity, just like a good question to a very well-read colleague."


Compare & Contrast

Task TypeBetter Suited To
"What does this confusing code do?"Copilot Chat (explain)
"Complete this line I'm typing"Inline suggestions
"Write tests for this specific method"Copilot Chat (generate)
"Refactor this pattern across 12 files"Agent mode (Byte 4)

Mini Practice Task

Find a piece of code in your own project that you didn't write, or wrote long ago and half-forgot. Select it and ask Copilot Chat to explain it step by step. Then ask it to write one unit test for the trickiest edge case you can think of. Compare its test against what you would have written yourself.


Key Takeaways

  • Copilot Chat shifts from silent, reactive suggestions to direct, conversational Q&A — explaining, debugging, testing, and generating code on request.
  • Chat performs best with a specific task (explain/test/fix) plus relevant code as context — vague requests get vague, less useful answers.
  • Describing expected vs. actual behavior when debugging tends to produce more precise, useful responses than simply pasting code and saying "fix it."
  • Chat is available consistently across VS Code, JetBrains, and Visual Studio, letting mixed-toolchain teams share the same conversational experience.
  • Chat suits focused, single-context conversations; larger multi-file changes are better handled by agent mode, covered in Byte 4.

FAQ / Knowledge Check

Q1: What's the main difference between inline suggestions and Copilot Chat? Inline suggestions react automatically to what you're typing; Chat responds directly to a question or task you explicitly ask it.

Q2: Why does describing "expected vs. actual behavior" help when debugging with Chat? It gives Chat a clear target to reason toward, rather than making it guess what "fix it" means for your specific situation.

Q3: Should Copilot Chat be used for a large refactor spanning many files? Not ideally — Chat is optimized for focused, single-context conversations; a large multi-file change is better suited to agent mode.

Knowledge Check:

  1. Name three types of tasks Copilot Chat is well-suited for.
  2. True/False: Vague prompts like "fix this" generally get better results than specific, detailed ones.
  3. On which editors is Copilot Chat available?

(Answers: 1. Explaining code, debugging, writing tests (generating code from a description also acceptable); 2. False — specific tasks with clear context get more useful responses; 3. Visual Studio Code, JetBrains IDEs, and Visual Studio)


Next byte: Prompt Engineering for Copilot — writing comments, instructions, and context that consistently get better suggestions and answers.

Interactive Knowledge Check

LESSON CHECKPOINTConfirm the concept before moving forward

Choose an answer, inspect the explanation and explain the idea in your own words.

RETENTION
Learning rule: explain the answer in your own words before checking the next Byte.

Primary sources

OPTIONAL LEARNING CONNECTIONS

Continue by concept

Choose only what supports your next goal. This Byte does not require either link.