Module 2 — GitHub Copilot Features
Exam tactic. This is the largest single domain on GH-300 — roughly one in four exam questions comes from here. Spend the most study time on this module.
L01 — Copilot in the IDE
Officially supported IDEs
- Visual Studio Code (most fully supported)
- Visual Studio
- JetBrains IDEs (IntelliJ, PyCharm, etc.)
- Eclipse
- Vim / Neovim (inline suggestions only)
- Xcode (inline suggestions only)
- Azure Data Studio (inline suggestions only)
Inline suggestions
Inline suggestions are Copilot's foundational feature. As you type, Copilot proposes a continuation in grey text.
| Action | Shortcut (VS Code) |
|---|---|
| Accept suggestion | Tab |
| Dismiss suggestion | Esc |
| Next suggestion | Alt+] / Option+] |
| Previous suggestion | Alt+[ / Option+[ |
| Open all suggestions | Ctrl+Enter |
Next Edit Suggestions works in VS Code, Xcode and Eclipse — Copilot predicts the next likely edit location and offers a completion there. Accept with Tab like any other suggestion.
Content Exclusions (not .copilotignore)
Content Exclusions define which files or folders are kept out of Copilot's context. The official mechanism is configured at repository or organization level:
- Repository: Settings → Copilot → Content exclusions
- Organization: Organization Settings → Copilot → Content exclusions
Exam note. The term .copilotignore appears in unofficial usage, but GitHub's official term and mechanism is Content Exclusions in settings. Content Exclusions stop automatic context collection — they do not stop a user from manually pasting content into a chat message.
Plan limitation. Content Exclusions are available only on Copilot Business and Enterprise. Free, Student, Pro and Pro+ users cannot configure file exclusions.
Copilot Chat in the IDE
Slash commands (VS Code):
| Command | Purpose |
|---|---|
/explain | Explain selected code or the file |
/fix | Suggest a fix for selected code or an error |
/tests | Generate tests for selected code |
/doc | Generate documentation for selected code |
/new | Create a new file or project |
/clear | Start a new chat session |
Chat participants (@): @workspace, @vscode, @terminal, @github. File and selection references with #: #file:path/to/file.ts, #selection.
L02 — GitHub Copilot CLI
GitHub Copilot CLI is a standalone AI agent in the terminal. It is not just a command suggester — it can read and write files, run shell commands, perform Git operations, and interact with GitHub.com (PRs, issues, Actions workflows) directly from the command line.
Preview status. Copilot CLI is currently in preview. Syntax and installation may change. Always follow the official installation guide.
Two usage modes
Interactive — start with the bare command:
copilot
- Opens a chat session where you iterate with Copilot.
- Two sub-modes: Ask/Execute (default) and Plan Mode (toggle with
Shift+Tab).
Programmatic — pass the prompt directly:
copilot -p "Show me this week's commits and summarize them" --allow-tool='shell(git)'
- Runs the task and exits.
- Useful for automation and scripts. Supports piping:
./generate-options.sh | copilot.
Tool approval and security
| Option | Effect |
|---|---|
--allow-all-tools | Allow every tool without prompting |
--allow-tool='shell(git)' | Allow only git commands without prompting |
--deny-tool='shell(rm)' | Block rm entirely |
Security. --allow-all-tools grants Copilot the same file and shell access as your user. Use with care — especially in automation.
CLI vs. IDE — when to use which
| Situation | Recommended tool |
|---|---|
| Actively writing code | IDE (inline + Chat) |
| Agent in the terminal without an IDE | CLI (interactive) |
| Automation or scripting | CLI (programmatic, -p) |
| Plan before executing | CLI Plan Mode (Shift+Tab) |
| Reviewing code in a PR | IDE or GitHub.com (Code Review) |
| Org administration | GitHub.com |
L03 — Agent Mode, Plan Mode, and MCP
Agent Mode
Agent Mode runs Copilot autonomously through multi-step development tasks. Unlike regular Chat, Agent Mode can:
- Read and write multiple files.
- Run terminal commands.
- Iterate and fix errors on its own.
- Use external tools through MCP integrations.
Agent sessions hold state and context for the duration of the task. Sub-agents let the main agent delegate parts of large tasks to specialized smaller agents to optimize context usage.
Chat modes — Ask, Plan, Agent
| Feature | Ask | Plan | Agent |
|---|---|---|---|
| File edits | No (manual) | Yes (after approval) | Yes (autonomous) |
| Autonomy | None — human-driven | Low — plan first | High — runs on its own |
| Terminal access | No | No | Yes |
| Best for | Questions, snippets | Complex tasks before execution | Multi-file tasks, iteration |
Exam note. Older GH-300 materials may reference Edit Mode as a separate mode. In current Copilot UI (VS Code), Edit Mode is no longer a distinct selectable mode — its behavior has been folded into Agent Mode. If an exam question still distinguishes them, remember: Edit Mode = scoped, user picks files, diff view; Agent Mode = autonomous, Copilot picks files, can run terminal commands.
MCP — Model Context Protocol
MCP is an open standard that lets GitHub Copilot integrate with external tools and services:
- Copilot can fetch data from external sources (databases, APIs, documentation services).
- Copilot can use specialized tools (test frameworks, CI/CD pipelines).
- Extended context from outside project knowledge.
For the exam, remember: MCP is the mechanism that enables external integrations in Agent Mode.
L04 — Code Review, Spaces, Spark, PR summaries, cloud agent, memory
Copilot Code Review
Automated code review on GitHub pull requests. Configured at the organization level (Settings → Copilot → Code Review). Review standards can be defined in instructions files (.github/copilot-instructions.md).
Copilot Spaces and GitHub Spark
Copilot Spaces organize relevant context (code, documentation, specifications) into a curated knowledge surface that Copilot draws on for a specific task. Spaces is a context-management tool, not a shared team workspace.
GitHub Spark (public preview) builds and deploys full-stack apps from natural language. Available only on Pro+ and Enterprise plans.
Pull Request Summaries
Copilot generates a natural-language summary of PR changes. Plan limitation: not available on Free — Student plan and above.
Instructions files and prompt files
.github/copilot-instructions.md— organization or project-wide instructions.- Project-specific instructions files at the repository root.
- Prompt files store and reuse frequently used prompts to keep team usage consistent.
Copilot cloud agent vs. Agent Mode in the IDE
| Feature | Agent Mode (IDE) | Copilot cloud agent (GitHub) |
|---|---|---|
| Where it runs | Local IDE | GitHub.com (cloud) |
| Tasks | Local code edits | Issue → branch → PR end-to-end |
| Trigger | Developer in the IDE | Issue assignment or request on GitHub |
| Output | Local code change | Pull Request for review |
Exam note. Copilot cloud agent is not the same as Agent Mode in the IDE. Cloud agent runs autonomously on GitHub; Agent Mode runs locally under developer control.
Copilot Memory and Copilot in GitHub Desktop
Copilot Memory (public preview) lets Copilot infer and store useful repository facts automatically. Cloud agent and Code Review use this memory to improve quality on that repo over time.
Copilot in GitHub Desktop generates commit messages and PR descriptions automatically based on your changes.
Feature decision table
| Situation | Feature |
|---|---|
| Automated PR review | Copilot Code Review |
| Curated team context | Copilot Spaces |
| Quick prototype or demo app | GitHub Spark |
| PR description takes too long | PR Summary |
| Consistent team behavior | Instructions + prompt files |
| Delegate implementation on GitHub | Copilot cloud agent |
| Repo memory for the agent | Copilot Memory |
| Auto commit messages | Copilot in GitHub Desktop |
L05 — Organization governance
Org-level policies
GitHub.com → Organization Settings → Copilot:
| Setting | Purpose |
|---|---|
| Copilot Business / Enterprise activation | Enable Copilot for the organization |
| Access control | Choose who gets a seat |
| IDE availability | Restrict or allow specific IDEs |
| Copilot Chat | Enable / disable |
| Copilot Code Review | Configure review policies |
| Content exclusions | Org-level file exclusions |
| Suggestions for training | Allow / block use of data for model training |
Audit log events
Plan limitation. Audit logs are available on Pro+, Business and Enterprise. Free, Student and Pro do not get Copilot audit logs.
| Event | Description |
|---|---|
copilot.create_api_key | API key created |
copilot.revoke_api_key | API key revoked |
copilot.enable_copilot | Copilot enabled for the org |
copilot.disable_copilot | Copilot disabled |
copilot.add_member | User added to a Copilot subscription |
copilot.remove_member | User removed from a Copilot subscription |
REST API for seat management
GET /orgs/{org}/copilot/billing - billing info
GET /orgs/{org}/copilot/billing/seats - per-seat info
POST /orgs/{org}/copilot/billing/selected_users - add users
DELETE /orgs/{org}/copilot/billing/selected_users - remove users
Exam-ready checklist (M02)
- IDE: inline (Tab/Esc/Alt+]), Chat slash commands, @-participants, #-references, Plan Mode, Content Exclusions.
- CLI: terminal agent, interactive vs. programmatic (
-p), tool approval flags. - Agent Mode is autonomous, multi-file, terminal-capable, supports sub-agents.
- Plan Mode = plan first, developer approves before code is written.
- MCP enables external integrations in Agent Mode.
- Code Review on PRs, configurable with instructions files.
- Cloud agent (GitHub) ≠ Agent Mode (IDE). Cloud agent goes issue → branch → PR.
- Copilot Memory persists repository-level facts for cloud agent and Code Review.
- Org governance: policies, audit log (Pro+/Business/Enterprise), REST API for seats.
