Line Range Selector
A powerful VS Code extension that provides multiple ways to quickly select line ranges and code blocks using keyboard shortcuts.

✨ Features
🎯 Dual Selection Modes
- Line Range Selector: Traditional numeric range selection (e.g.,
10-50
, 500:800
)
- Function Selector: Smart context-aware selection for functions, classes, and methods
🌐 Multi-Language Support
Works seamlessly with all major programming languages:
- JavaScript/TypeScript - functions, classes, methods, arrow functions
- Python - functions, classes, methods (with proper indentation detection)
- Java - classes, interfaces, enums, methods
- C/C++ - functions, classes, structs, methods
- C# - classes, interfaces, structs, methods
- PHP - classes, interfaces, traits, functions
- Go - functions, methods, types, structs
- Ruby - classes, methods (with
end
keyword detection)
- And many more!
🔧 Smart Features
- Input Validation - Ensures valid line numbers within file bounds
- Visual Feedback - Automatically centers selected ranges in the editor
- Flexible Input Formats - Support for both
start-end
and start:end
formats
- Context-Aware Detection - Automatically detects file language and adapts patterns
- Block Boundary Detection - Accurately finds complete code blocks
🚀 Quick Start
- Install from VS Code Extensions marketplace
- Press
Ctrl+Alt+R
(Windows/Linux) or Cmd+Alt+R
(Mac)
- Choose your selection method:
- Line Range Selector for numeric ranges
- Function Selector for code blocks
- Enter your selection and press Enter
📖 Usage Examples
Line Range Selection
Input Format |
Description |
Example Use Case |
10-50 |
Select lines 10 through 50 |
Navigate to a specific function |
500:800 |
Alternative format using colon |
Jump to middle of large file |
1-1 |
Select just line 1 |
Select file header or title |
Function Selection
- Browse all functions, classes, and methods in your file
- See line numbers and language-specific context
- One-click selection of entire code blocks
- Works with nested structures and complex syntax
💡 Use Cases
- 📁 Large Files: Quickly navigate to specific sections
- 🔍 Code Review: Select specific ranges for discussion
- 🐛 Debugging: Focus on problem areas in long files
- 📝 Documentation: Reference specific code sections
- ♻️ Refactoring: Select complete functions or classes
- 📋 Copy/Paste: Grab entire code blocks effortlessly
⌨️ Keyboard Shortcuts
Shortcut |
Action |
Ctrl+Alt+R (Windows/Linux) |
Open selection menu |
Cmd+Alt+R (Mac) |
Open selection menu |
🎨 Screenshots
Choose between line range or function selection modes with a clean, intuitive interface.
Function Selector
Browse and select from all functions, classes, and methods in your current file with language-specific icons and context.
Simple, validated input for precise line range selection with helpful error messages.
⚙️ Requirements
- VS Code 1.60.0 or higher
- No additional dependencies required
🔧 Extension Settings
This extension contributes the following settings:
lineRangeSelector.selectRange
: Main command for opening the selection interface
🏗️ Architecture
The extension is built with a modular architecture:
extension.js
- Main entry point and command registration
features/lineRangeSelector.js
- Traditional line range selection logic
features/functionSelector.js
- Smart code block detection and selection
features/utils.js
- Shared utilities and helper functions
🌟 Why Choose Line Range Selector?
- ⚡ Fast: Instant access with a single keyboard shortcut
- 🎯 Accurate: Precise line selection with validation
- 🧠 Smart: Understands code structure across languages
- 🔧 Flexible: Multiple input formats and selection modes
- 🎨 Clean: Intuitive interface that follows VS Code design patterns
📈 Release Notes
2.0.0 - Multi-Language Function Selector
- ✨ Added smart function/class/method selection
- 🌐 Support for 10+ programming languages
- 🏗️ Modular architecture with separate feature files
- 🎨 Enhanced UI with language-specific icons
- 🔍 Improved block boundary detection
1.0.1
- 📝 Updated documentation and examples
- 🐛 Minor bug fixes and improvements
1.0.0
- 🎉 Initial release with basic line range selection
- ⌨️ Keyboard shortcut support
- ✅ Input validation and error handling
🤝 Contributing
Found a bug or want to suggest a feature?
- 📧 Contact: [Create an issue on our repository]
- 🌟 Rate us on the VS Code Marketplace
- 🔄 Share with fellow developers
📄 License
MIT License - feel free to use and modify!
Enjoy coding with Line Range Selector! 🎯✨
Made with ❤️ by [TukunaDev]