Table of Contents
Understanding Code Completion
Code completion is GitHub Copilot's core feature that provides real-time code suggestions as you type. It's the primary way developers interact with Copilot in their IDEs.
Key Concept: Code completion appears as gray ghost text in your editor. Press Tab to accept, or continue typing to reject.
How Code Completion Works
1. Context Analysis
Copilot analyzes your code context:
- Current file content
- Function signatures and variables
- Imports and dependencies
- Comments and documentation
- Recent code patterns
2. Suggestion Generation
AI model generates code suggestions:
- Predicts next tokens based on context
- Generates syntactically correct code
- Follows language conventions
- Considers multiple possibilities
- Ranks suggestions by relevance
3. Display
Suggestions appear in your editor:
- Gray ghost text shows suggestions
- Updates as you type
- Multiple suggestions can be cycled
- Context-aware and relevant
Types of Code Completion
1. Inline Completions
Single-line or short code completions:
- Completes current line
- Appears as you type
- Fast and responsive
- Most common type
2. Function Completions
Complete function implementations:
- Generates entire functions
- Based on function signature and comments
- Includes error handling
- Follows best practices
3. Multi-Line Completions
Completes multiple lines of code:
- Blocks of related code
- Complete patterns or structures
- Maintains consistency
- Context-aware
Keyboard Shortcuts
| Action | Windows/Linux | macOS |
|---|---|---|
| Accept suggestion | Tab |
Tab |
| Reject suggestion | Esc |
Esc |
| Show next suggestion | Alt + ] |
Option + ] |
| Show previous suggestion | Alt + [ |
Option + [ |
| Trigger suggestion | Ctrl + Enter |
Cmd + Enter |
Best Practices for Code Completion
1. Provide Context
- Write descriptive comments
- Use clear function and variable names
- Include type hints where applicable
- Provide examples in comments
2. Review Suggestions
- Always review before accepting
- Understand what the code does
- Check for security issues
- Verify it matches your intent
3. Iterate and Refine
- Accept partial suggestions
- Modify as needed
- Use multiple suggestions
- Combine with your own code
4. Use Descriptive Prompts
- Be specific about requirements
- Include edge cases
- Specify output format
- Mention constraints
Language Support
Code completion works best with popular languages:
Note: More popular languages have better suggestions due to more training data. Less common languages may require more detailed prompts.
Common Use Cases
- Boilerplate Code: Generate repetitive code structures
- Function Implementation: Complete function bodies from signatures
- Error Handling: Add try-catch blocks and error handling
- Test Cases: Generate unit test structures
- API Calls: Create HTTP request code
- Data Processing: Write data transformation code
- Configuration: Generate config files (YAML, JSON, etc.)
Troubleshooting
Suggestions Not Appearing
- Check if Copilot is enabled
- Verify you're signed in
- Check internet connection
- Verify file type is supported
- Check subscription status
Poor Quality Suggestions
- Provide more context in comments
- Use clearer, more specific prompts
- Check if language is well-supported
- Ensure sufficient code context
Exam Key Points
- Code completion appears as gray ghost text in editor
- Press Tab to accept, Esc to reject suggestions
- Alt/Option + ]/[ to cycle through suggestions
- Analyzes context: current file, imports, comments, recent code
- Types: inline completions, function completions, multi-line completions
- Works best with popular languages (Python, JavaScript, Java, etc.)
- Provide context through comments and descriptive names
- Always review suggestions before accepting
- Can be used for boilerplate, functions, tests, API calls
- Real-time suggestions update as you type
0 Comments