Code Highlight for Lectures
Perfect tool for programming instructors and code reviewers! Highlight code sections and add Markdown annotations during live coding lectures, tutorials, and demos. Create step-by-step lesson guides to explain codebases to other developers. Organize notes by lessons, review them with keyboard navigation, and keep your audience engaged - all without modifying source code.

🎯 About
Code Highlight for Lectures is a VS Code extension designed for programming instructors, code reviewers, and developers who want to create educational content about codebases. It helps you create more engaging educational experiences and step-by-step guides by allowing you to:
- Highlight code sections with visual decorations that focus your audience's attention
- Add contextual Markdown annotations without modifying your source code
- Organize notes by lessons for structured teaching sessions and codebase guides
- Review notes with keyboard navigation for smooth presentations
Perfect for:
- Educators who want to explain complex logic, draw attention to key concepts, or provide additional context during live coding demonstrations
- Code reviewers and senior developers creating step-by-step instruction guides to help other developers understand a codebase, walk through architecture, or explain implementation details
📦 Installation
From VS Code Marketplace
- Open VS Code
- Go to the Extensions view (
Ctrl+Shift+X / Cmd+Shift+X)
- Search for "Code Highlight for Lectures"
- Click Install
- Reload VS Code when prompted
From Command Line
code --install-extension academeez.academeez-code-highlight
🚀 Quick Start
Create a lesson to organize your notes:
- Press
Ctrl+Shift+P (or Cmd+Shift+P on Mac)
- Type "Create New Lesson"
- Enter a lesson title (e.g., "Introduction to React Hooks")
Highlight code and add notes:
- Select code in any file
- Press
Ctrl+Alt+L (or Cmd+Alt+L on Mac)
- Write your Markdown notes in the side panel
- Click Save
Review your notes:
- Press
Ctrl+Shift+P
- Type "Review Lecture Notes"
- Use arrow keys to navigate between notes
✨ Features
🎓 Lesson Management
Organize your lecture notes into lessons. Each lesson can contain multiple notes, making it easy to structure your teaching sessions.
Commands:
- Create New Lesson - Start a new lesson
- Set Active Lesson - Switch between lessons
- Delete Lesson - Remove a lesson


💡 Code Highlighting & Annotation
Highlight specific code sections and attach Markdown explanations without modifying your source code.
How to use:
- Select the code you want to highlight
- Press
Ctrl+Alt+L (or Cmd+Alt+L)
- A side panel opens where you can write Markdown notes
- Click Save to add the note to your active lesson
Features:
- Multiple code ranges per note
- Add/remove ranges dynamically
- Visual highlighting with blue decorations
- Dim other code for focus
- File explorer indicators for highlighted files

📝 General Notes
Add general notes that don't reference specific code - perfect for introducing concepts, providing context, or explaining theory.
How to use:
- Press
Ctrl+Alt+L without selecting any code
- The panel opens for general notes
- Write your Markdown content
- Save to add to your lesson
🔍 Notes Review Mode
Review all your lecture notes in order with smooth keyboard navigation. Navigate through notes while viewing the highlighted code and Markdown preview side-by-side.
How to use:
- Press
Ctrl+Shift+P
- Type "Review Lecture Notes"
- Use Arrow Keys to navigate:
- → (Right Arrow): Next note
- ← (Left Arrow): Previous note
- Esc: Exit review mode
Features:
- Automatic code highlighting as you navigate
- Markdown preview for each note
- Smooth navigation through notes in order
- Focus management for keyboard-only control

⌨️ Keyboard Shortcuts
| Action |
Shortcut |
| Add Lecture Notes |
Ctrl+Alt+L / Cmd+Alt+L |
| Next Note (Review Mode) |
→ (Right Arrow) |
| Previous Note (Review Mode) |
← (Left Arrow) |
| Exit Review Mode |
Esc |
Note: Review mode shortcuts only work when the markdown preview is focused.
📚 Usage Examples
Example 1: Teaching a React Component
- Create a lesson: "React Components Basics"
- Select the component code
- Press
Ctrl+Alt+L
- Add notes explaining:
- Component structure
- Props usage
- State management
Example 2: Code Review Session
- Create a lesson: "Code Review - Pull Request #123"
- Highlight different sections of code
- Add annotations explaining:
- Potential issues
- Suggested improvements
- Best practices
Example 3: Step-by-Step Tutorial
- Create a lesson for each step of your tutorial
- Highlight code at each step
- Add explanations for each concept
- Review mode allows smooth progression through steps
Example 4: Codebase Instruction Guide
- Create lessons like "Architecture Overview", "Database Layer", "API Endpoints"
- Highlight key files and code sections
- Add detailed explanations for each part of the codebase
- Create a sequential guide that other developers can follow to understand the repository
- Share the
.vscode/lessons.json file with your team - they can review the guide using review mode
🛠️ Commands
Access all commands via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
| Command |
Description |
Code Highlight: Add Lecture Notes |
Open panel to add notes for selected code |
Code Highlight: Review Lecture Notes |
Start review mode to navigate through notes |
Code Highlight: Create New Lesson |
Create a new lesson |
Code Highlight: Set Active Lesson |
Switch the active lesson |
Code Highlight: Delete Lesson |
Delete a lesson |
📁 File Structure
Your lecture notes are stored in:
.vscode/
├── lessons.json # Master file tracking all lessons
└── lessons/
├── lesson-1.json # Individual lesson files
├── lesson-2.json
└── ...
Note: These files are stored in your workspace .vscode folder and are safe to commit to version control.
🎨 Features Overview
- ✅ Non-intrusive: Never modifies your source code
- ✅ Markdown support: Rich formatting for your notes
- ✅ Lesson organization: Structure notes by teaching sessions
- ✅ Keyboard navigation: Smooth review experience
- ✅ Visual highlighting: Focus attention on specific code
- ✅ Multiple ranges: Highlight non-adjacent code sections
- ✅ File indicators: See which files have notes in explorer
🐛 Troubleshooting
No active lesson error
Solution: Create a new lesson or set an active lesson using the Command Palette.
Notes panel not opening
Solution: Make sure you have a file open in the editor.
Review mode not working
Solution: Ensure you're in review mode (Command Palette → "Review Lecture Notes") and the markdown preview panel is focused.
Keyboard shortcuts not working in review mode
Solution: Click on the markdown preview panel to ensure it has focus, then use arrow keys.
📝 Requirements
- VS Code version 1.107.0 or higher
🤝 Contributing
Contributions are welcome! This is an open source project from Academeez.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
📄 License
This extension is licensed under the MIT License.
🙏 Acknowledgments
Built by Academeez - an open source education platform for coders where professional developers publish advanced content including articles, videos, and live code editors.
📮 Support & Feedback
Made with ❤️ for programming instructors