Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 88 additions & 90 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,179 +1,177 @@
<p align="center">
<img src="https://raw.githubusercontent.com/CodingWithCalvin/VS-GitRanger/main/resources/icon.png" alt="Git Ranger Logo" width="128" />
<img src="https://raw.githubusercontent.com/CodingWithCalvin/VS-GitRanger/main/resources/icon.png" alt="Git Ranger Logo" width="128" height="128">
</p>

<h1 align="center">Git Ranger</h1>

<p align="center">
<a href="https://visualstudio.microsoft.com/"><img src="https://img.shields.io/badge/Visual%20Studio-2022%20%7C%202026-purple?style=for-the-badge&logo=visualstudio&logoColor=white" alt="Visual Studio 2022"></a>
<a href="https://dotnet.microsoft.com/"><img src="https://img.shields.io/badge/.NET%20Framework-4.8-blue?style=for-the-badge&logo=dotnet" alt=".NET Framework"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge" alt="License: MIT"></a>
<strong>A visually stunning Git management extension for Visual Studio with theme-adaptive vibrant colors</strong>
</p>

---
<p align="center">
<a href="https://github.com/CodingWithCalvin/VS-GitRanger/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/CodingWithCalvin/VS-GitRanger?style=for-the-badge" alt="License">
</a>
<a href="https://github.com/CodingWithCalvin/VS-GitRanger/actions/workflows/build.yml">
<img src="https://img.shields.io/github/actions/workflow/status/CodingWithCalvin/VS-GitRanger/build.yml?style=for-the-badge" alt="Build Status">
</a>
</p>

A **visually stunning** Git management extension for Visual Studio 2022/2026, with theme-adaptive vibrant colors. 🎨✨
<p align="center">
<a href="https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-GitRanger">
<img src="https://img.shields.io/visual-studio-marketplace/v/CodingWithCalvin.VS-GitRanger?style=for-the-badge" alt="Marketplace Version">
</a>
<a href="https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-GitRanger">
<img src="https://img.shields.io/visual-studio-marketplace/i/CodingWithCalvin.VS-GitRanger?style=for-the-badge" alt="Marketplace Installations">
</a>
<a href="https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-GitRanger">
<img src="https://img.shields.io/visual-studio-marketplace/d/CodingWithCalvin.VS-GitRanger?style=for-the-badge" alt="Marketplace Downloads">
</a>
<a href="https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-GitRanger">
<img src="https://img.shields.io/visual-studio-marketplace/r/CodingWithCalvin.VS-GitRanger?style=for-the-badge" alt="Marketplace Rating">
</a>
</p>

---

## 🚀 Features
## Features

### 🔍 Inline Blame Annotations
### Inline Blame Annotations

See who changed each line **directly in the editor** author name, commit date, and message displayed right at the end of each line!
See who changed each line **directly in the editor** - author name, commit date, and message displayed right at the end of each line!

- 🎨 **Color-coded by author** each contributor gets a unique vibrant color
- 🔥 **Heat map mode** green = recent, red = old (optional)
- 👁️ **Configurable opacity** and display format
- 💬 **Hover for full commit details**
- **Color-coded by author** - each contributor gets a unique vibrant color
- **Heat map mode** - green = recent, red = old (optional)
- **Configurable opacity** and display format
- **Hover for full commit details**

![Inline Blame](https://raw.githubusercontent.com/CodingWithCalvin/VS-GitRanger/main/resources/blame-inline.png)

### 📊 Blame Gutter Margin
### Blame Gutter Margin

A visual indicator in the editor margin showing commit history **at a glance**.

- 📈 Age bars showing relative commit age
- 🎯 Author color indicators
- 📋 Click to copy commit SHA
- 🔎 Hover for commit details
- Age bars showing relative commit age
- Author color indicators
- Click to copy commit SHA
- Hover for commit details

![Blame Gutter](https://raw.githubusercontent.com/CodingWithCalvin/VS-GitRanger/main/resources/blame-gutter.png)

### 📍 Status Bar Blame
### Status Bar Blame

See blame info for the **current line** right in the Visual Studio status bar updates instantly as you navigate!
See blame info for the **current line** right in the Visual Studio status bar - updates instantly as you navigate!

- **Real-time updates** blame follows your cursor
- 🎛️ **Customizable format** choose what to display with `{author}`, `{date}`, `{message}`, `{sha}` placeholders
- 📅 **Relative or absolute dates** "2 days ago" or "1/21/2026"
- ✂️ **Auto-truncate** configurable max length keeps your status bar tidy
- **Real-time updates** - blame follows your cursor
- **Customizable format** - choose what to display with `{author}`, `{date}`, `{message}`, `{sha}` placeholders
- **Relative or absolute dates** - "2 days ago" or "1/21/2026"
- **Auto-truncate** - configurable max length keeps your status bar tidy

![Status Bar Blame](https://raw.githubusercontent.com/CodingWithCalvin/VS-GitRanger/main/resources/blame-status-bar.png)

### 🔮 What's Next?
### What's Next?

Check out our [issues list](https://github.com/CodingWithCalvin/VS-GitRanger/issues) to see what features are planned and vote on what you'd like to see next!

---
## Installation

## 📦 Installation
### Visual Studio Marketplace

### From Visual Studio Marketplace
1. Open Visual Studio 2022 or 2026
2. Go to **Extensions > Manage Extensions**
3. Search for "Git Ranger"
4. Click **Download** and restart Visual Studio

[![VS Marketplace](https://img.shields.io/badge/VS%20Marketplace-Git%20Ranger-purple?style=for-the-badge&logo=visualstudio&logoColor=white)](https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-GitRanger)
### Manual Installation

### From Source
Download the latest `.vsix` from the [Releases](https://github.com/CodingWithCalvin/VS-GitRanger/releases) page and double-click to install.

```bash
# 1. Clone the repository
git clone https://github.com/CodingWithCalvin/VS-GitRanger.git
## Configuration

# 2. Open in Visual Studio 2022
# 3. Build the solution (F5 to debug)
# 4. VSIX will be created in the output directory
```
Configure Git Ranger via **Tools > Options > Git Ranger**

---

## ⚙️ Configuration

Configure Git Ranger via **Tools → Options → Git Ranger**

### 🏷️ Blame Settings
### Blame Settings

| Setting | Description | Default |
|---------|-------------|---------|
| Enable Inline Blame | Show blame at end of lines | `true` |
| Enable Blame Gutter | Show blame in margin | `true` |
| Show Author Name | Display author in inline blame | `true` |
| Show Commit Date | Display date in inline blame | `true` |
| Show Commit Message | Display message in inline blame | `true` |
| Enable Inline Blame | Show blame at end of lines | `true` |
| Enable Blame Gutter | Show blame in margin | `true` |
| Show Author Name | Display author in inline blame | `true` |
| Show Commit Date | Display date in inline blame | `true` |
| Show Commit Message | Display message in inline blame | `true` |
| Date Format | `relative` or custom format string | `relative` |

### 🎨 Color Settings
### Color Settings

| Setting | Description | Default |
|---------|-------------|---------|
| Color Mode | `Author`, `Age`, or `None` | `Author` |
| Max Age (days) | Maximum age for heat map | `365` |

### 🖥️ Display Settings
### Display Settings

| Setting | Description | Default |
|---------|-------------|---------|
| Inline Blame Opacity | Transparency (0.0 - 1.0) | `0.7` |
| Compact Mode | Condensed display format | `false` |
| Compact Mode | Condensed display format | `false` |
| Gutter Width | Width in pixels | `40` |
| Show Age Bars | Visual age indicators | `true` |
| Show Age Bars | Visual age indicators | `true` |

### 📍 Status Bar Settings
### Status Bar Settings

| Setting | Description | Default |
|---------|-------------|---------|
| Enable Status Bar Blame | Show blame in status bar | `true` |
| Enable Status Bar Blame | Show blame in status bar | `true` |
| Format | Template with `{author}`, `{date}`, `{message}`, `{sha}` | `{author}, {date} • {message}` |
| Use Relative Dates | Show "2 days ago" vs absolute date | `true` |
| Use Relative Dates | Show "2 days ago" vs absolute date | `true` |
| Max Length | Truncate long messages (0 = unlimited) | `100` |

### 🔧 Diagnostics
### Diagnostics

| Setting | Description | Default |
|---------|-------------|---------|
| Log Level | Output pane verbosity: `None`, `Error`, `Info`, `Verbose` | `Error` |

*Logs are written to the "Git Ranger" output pane in Visual Studio.*

---

## 📋 Requirements

- 💻 Visual Studio 2022 (17.0) or later
- 🔧 .NET Framework 4.8
## Requirements

---
- Visual Studio 2022 (17.0) or later
- .NET Framework 4.8

## 🛠️ Technology Stack
## Technology Stack

| Component | Technology |
|-----------|------------|
| 🔗 Git Integration | LibGit2Sharp |
| 🎨 UI Framework | WPF |
| 📊 Graph Rendering | SkiaSharp *(planned)* |
| 🔌 VS Integration | Community.VisualStudio.Toolkit |
| Git Integration | LibGit2Sharp |
| UI Framework | WPF |
| Graph Rendering | SkiaSharp *(planned)* |
| VS Integration | Community.VisualStudio.Toolkit |

---

## 🤝 Contributing
## Contributing

Contributions are welcome! Feel free to submit issues and pull requests. 💪
Contributions are welcome! Whether it's bug reports, feature requests, or pull requests - all feedback helps make this extension better.

1. 🍴 Fork the repository
2. 🌿 Create a feature branch (`git checkout -b feature/amazing-feature`)
3. 💾 Commit your changes (`git commit -m 'feat: add amazing feature'`)
4. 📤 Push to the branch (`git push origin feature/amazing-feature`)
5. 🎉 Open a Pull Request
### Development Setup

---
1. Clone the repository
2. Open the solution in Visual Studio 2022 or 2026
3. Ensure you have the "Visual Studio extension development" workload installed
4. Press F5 to launch the experimental instance

## 📄 License
## License

This project is licensed under the **MIT License** — see the [LICENSE](LICENSE) file for details.
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

## 👥 Contributors
## Contributors

<!-- readme: contributors -start -->
[![CalvinAllen](https://avatars.githubusercontent.com/u/41448698?v=4&s=64)](https://github.com/CalvinAllen)
<!-- readme: contributors -end -->

---

<div align="center">

### ⭐ If you find Git Ranger useful, please consider giving it a star! ⭐

*Made with ❤️ for the Visual Studio community from Coding With Calvin*

</div>
<p align="center">
Made with ❤️ by <a href="https://github.com/CodingWithCalvin">Coding With Calvin</a>
</p>