What is GitHub Copilot?
GitHub Copilot is an AI-powered coding assistant that helps you write code faster with less work. It draws context from comments and code to suggest individual lines or whole functions instantly, right in your editor.
"GitHub Copilot is trained on billions of lines of code, turning natural language prompts into coding suggestions across dozens of languages."
Code Completion
Lines & functions
Copilot Chat
Natural language
Code Review
PR assistance
CLI Assistant
Terminal help
Copilot Products
Copilot Individual
For individual developers. $10/month or $100/year. Includes code completion, chat, and IDE integration.
Copilot Business
For organizations. $19/user/month. Adds admin controls, policy management, and excludes code from training.
Copilot Enterprise
For large enterprises. $39/user/month. Adds knowledge bases, fine-tuned models, and advanced security features.
Copilot in VS Code
Quick Setup
- 1 Install "GitHub Copilot" extension in VS Code
- 2 Sign in with your GitHub account
- 3 Start typing—suggestions appear automatically
Essential Shortcuts
# Accept suggestion
Tab
# See next suggestion
Alt + ] (Windows) / Option + ] (Mac)
# See previous suggestion
Alt + [ (Windows) / Option + [ (Mac)
# Open Copilot Chat
Ctrl + Shift + I (Windows) / Cmd + Shift + I (Mac)
# Inline chat
Ctrl + I / Cmd + I
Ghost Text
As you type, Copilot shows grayed-out suggestions inline. Press Tab to accept or keep typing to ignore.
Copilot Chat
Ask questions about code, get explanations, generate tests, and refactor—all in natural language.
Slash Commands
Use /explain,
/fix,
/tests for quick actions.
Context Agents
Use @workspace for project
context,
@terminal for CLI help.
Configuration Files
GitHub Copilot supports several configuration files to customize its behavior for your project and IDE:
.github/copilot-instructions.md
This file provides custom instructions that Copilot reads for every prompt in your repository. Similar to Codex's SETUP.md, it helps Copilot understand your project's conventions.
.github/copilot-instructions.md
# Copilot Instructions
## Code Style
- Use TypeScript with strict mode enabled
- Prefer functional components with React hooks
- Use ESLint and Prettier formatting
- Follow the existing naming conventions in the codebase
## Architecture
- Place new components in /src/components/
- API routes go in /src/api/
- State management uses Zustand, not Redux
## Libraries
- Use `date-fns` for date manipulation, not moment.js
- Use `axios` for HTTP requests
- Use `zod` for schema validation
## Testing
- Write tests using Jest and React Testing Library
- Place tests next to source files with .test.ts suffix
## Avoid
- Don't use `any` type in TypeScript
- Don't use class components
- Don't modify files in /src/legacy/
.copilotignore
Exclude files from being sent to Copilot. Works like .gitignore.
Great for sensitive files, secrets, or files you don't want influencing suggestions.
.copilotignore
# Sensitive files
.env
.env.*
secrets/
*.pem
*.key
# Configuration with credentials
config/production.json
firebase-adminsdk*.json
# Large generated files
dist/
build/
*.min.js
*.bundle.js
# Legacy code (don't learn from it)
src/deprecated/
src/legacy/
VS Code Settings (settings.json)
Configure Copilot behavior per workspace or globally. Place in .vscode/settings.json
for project-specific settings.
.vscode/settings.json
{
// Enable/disable Copilot for specific languages
"github.copilot.enable": {
"*": true,
"markdown": true,
"plaintext": false,
"yaml": true
},
// Inline suggestions settings
"github.copilot.inlineSuggest.enable": true,
// Enable Copilot Chat
"github.copilot.chat.enable": true,
// Show suggestions automatically
"editor.inlineSuggest.enabled": true,
// Delay before showing suggestion (ms)
"github.copilot.advanced.inlineSuggestCount": 3,
// Tab completion behavior
"editor.tabCompletion": "on"
}
.vscode/copilot.json (Workspace Instructions)
Alternative to .github/copilot-instructions.md
for VS Code-specific instructions.
.vscode/copilot.json
{
"instructions": [
"This is a Next.js 14 app using App Router",
"Use Server Components by default",
"Add 'use client' only when needed",
"Use TailwindCSS for styling",
"Follow Airbnb JavaScript style guide"
],
"enabledLanguages": ["typescript", "javascript", "css"],
"disabledLanguages": ["json"]
}
Pro Tip: Create a .github/copilot-instructions.md
in your repository root and commit it. Every team member will automatically benefit from consistent
Copilot behavior,
and suggestions will match your project's coding standards.
Tips for Better Results
1 Write Descriptive Comments
// Copilot uses comments as prompts:
// Function to validate email format using regex
function validateEmail(email) {
// Copilot will complete this...
}
2 Use Good Variable Names
Copilot understands context from naming. userEmail
gives better suggestions than x.
3 Open Related Files
Copilot considers open tabs for context. If you're working with a model, open the model file to get better suggestions for related code.
4 Cycle Through Suggestions
Don't accept the first suggestion blindly. Use Alt+] to see alternatives—often there's a better option.
Copilot vs Codex (OpenAI)
| Aspect | GitHub Copilot | OpenAI Codex |
|---|---|---|
| Primary Use | Real-time code completion | Async task execution |
| Interaction | Inline suggestions + chat | Task-based PRs |
| Execution | Local in editor | Cloud sandbox |
| Best For | Day-to-day coding | Complex multi-file tasks |
| Price | From $10/month | ChatGPT Pro ($20+) |
Try GitHub Copilot
Get Started Free
GitHub Copilot offers a free tier for students, teachers, and open-source maintainers. Everyone else can try with a 30-day free trial.
Get Copilot