Git Info
A professional VS Code extension that displays your git configuration (user.name and user.email) in the status bar with advanced features and customization options.
✨ Features
- 👉 Clean Status Bar - Single clickable "Git Info" button in the status bar
- �️ Hover Preview - Hover over the status bar to see git info instantly (name, email, workspace)
- � Beautiful Panel View - Click to open a detailed panel showing all git configuration
- ⚡ Lazy Loading - Only fetches git info when you first interact (hover/click) - zero startup impact
- 🔄 Auto-refresh - Automatically updates git information at configurable intervals
- ⚙️ Highly Configurable - Customize icon prefix, refresh interval, and visibility
- 📝 Built-in Logging - Debug and monitor extension activity
- 🎯 Smart Detection - Only shows in git repositories
- 🔌 Toggle Support - Enable/disable on demand
- 🏗️ Scalable Architecture - Built with enterprise-grade patterns for future expansion
🚀 Installation & Usage
Development Setup
Install dependencies:
bun install
Compile the extension:
bun run compile
Press F5 in VS Code to open a new Extension Development Host window
Building the Extension
To create a .vsix file for installation:
bun run package
Then install the .vsix file:
- Open VS Code
- Go to Extensions view (
Cmd+Shift+X or Ctrl+Shift+X)
- Click the
... menu at the top
- Select "Install from VSIX..."
- Choose
git-info-statusbar-1.0.0.vsix
Using the Extension
Once installed, the extension will automatically:
- Display a "👉 Git Info" button in the bottom-left status bar
- Hover over the button to see a quick preview:
- 👤 Git user.name
- 📧 Git user.email
- 📁 Current workspace path
- Click the button to open a beautiful detailed panel with full git configuration
- Auto-refresh every 30 seconds after first use (configurable)
- Update when you change workspaces
Performance: Git info is only fetched when you first hover or click - no startup delay!
🎮 Commands
Access via Command Palette (Cmd+Shift+P or Ctrl+Shift+P) or click the status bar item:
- Git Info: Show Details - Open the git information panel (also triggered by clicking status bar)
- Git Info: Refresh - Manually refresh git information
- Git Info: Show Logs - View extension logs for debugging
- Git Info: Toggle Status Bar - Enable/disable the status bar display
⚙️ Configuration
Customize the extension via VS Code settings:
{
"gitInfoStatusBar.iconPrefix": "👉",
"gitInfoStatusBar.showWhenEmpty": true,
"gitInfoStatusBar.autoRefresh": true,
"gitInfoStatusBar.refreshInterval": 30000
}
Settings Details
iconPrefix - Icon or text to show before git info (default: 👉)
showWhenEmpty - Show items even when git config is not set (default: true)
autoRefresh - Enable automatic refresh (default: true)
refreshInterval - Auto-refresh interval in milliseconds (default: 30000, min: 5000)
🏗️ Architecture
The extension follows a modular, scalable architecture:
src/
├── commands/ # Command handlers
│ └── CommandManager.ts
├── controllers/ # Business logic controllers
│ └── GitInfoController.ts
├── services/ # External service integrations
│ └── GitService.ts
├── statusBar/ # Status bar UI components
│ └── StatusBarManager.ts
├── webview/ # Webview panel components
│ └── GitInfoPanel.ts
├── utils/ # Utilities and helpers
│ ├── ConfigurationManager.ts
│ ├── ErrorHandler.ts
│ └── Logger.ts
└── extension.ts # Entry point
📋 Requirements
- VS Code 1.74.0 or higher
- Git installed and configured on your system
- Bun runtime (for development)
🐛 Known Issues
- Extension only displays information for the first workspace folder in multi-root workspaces
📝 Release Notes
1.0.0
- ✅ Clean single status bar item with click-to-view panel
- ✅ Hover tooltip showing quick preview of git info (name, email, workspace)
- ✅ Beautiful webview panel for displaying full git configuration
- ✅ Lazy loading - zero startup performance impact (fetches only on first use)
- ✅ Configurable settings (icon, refresh interval, visibility)
- ✅ Auto-refresh support with smart git repository detection
- ✅ Comprehensive logging and error handling
- ✅ Professional MVC architecture for scalability and future features