GitHub Copilot study materials
GitHub Copilot study resources

GitHub Copilot: Use GitHub Copilot Features

GitHub Copilot · Work through your exam, one topic at a time.

All guide sections

Use GitHub Copilot Features

Domain 2 - Use GitHub Copilot Features

This domain checks whether you can pick the right Copilot surface for a task: inline completions, next edit suggestions, chat across environments, agentic edits, code review, CLI, and Autofix.

Where features live

  • Inline completions: ghost text in the editor as you type; Tab accepts, Esc dismisses, and partial-accept shortcuts take a single word or line.
  • Next Edit Suggestions (NES): predicts the location and content of your next change after an edit, so it propagates a rename or fix across a file rather than only inserting at the cursor.
  • Copilot Chat: IDE chat view, inline chat (Ctrl/Cmd+I), github.com, GitHub Mobile, and the CLI.
  • Chat participants (VS Code): @workspace for project-wide questions, @vscode for editor settings, @terminal for shell help, @github for GitHub-specific queries.
  • Context variables: #file, #selection, #editor, #terminalLastCommand, #codebase attach explicit context.
  • Slash commands: /explain, /fix, /tests, /doc, /new, /help, /clear - shortcuts that vary in availability by surface and never replace a well-scoped prompt.
  • Copilot Edits / agent mode: multi-file changes shown as reviewable diffs accepted or discarded per hunk.
  • Copilot code review on pull requests, AI-drafted PR summaries, and Copilot Autofix for CodeQL code-scanning alerts.
  • Custom instructions in .github/copilot-instructions.md apply standing repo conventions to chat and edits.

Worked example

A refactor breaks tests/test_billing.py and the traceback appears in the terminal. The right move is inline chat with /fix plus #terminalLastCommand, so the model sees the failing assertion and stack. If instead the module simply has no tests, use /tests with #file on the module, then review the assertions before trusting them. /fix consumes error context; /tests creates new coverage - different problems, and neither replaces running the suite.

Traps

  • Confusing @workspace (a participant) with #codebase (a context variable); both widen context but are invoked differently.
  • Assuming every slash command exists in every surface.
  • Expecting Copilot Edits to run tests or validate its own diffs.
  • Treating AI code review as a substitute for human approval.