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
164 changes: 105 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,102 +1,148 @@
# Git Ranger
<p align="center">
<img src="src/CodingWithCalvin.GitRanger/Resources/Icons/icon.png" alt="Git Ranger Logo" width="128" />
</p>

A visually exciting Git management extension for Visual Studio 2022/2026, bringing GitLens-style functionality with theme-adaptive vibrant colors.
# 🤠 Git Ranger

## Features
> *Taming your Git history, one line at a time!* 🐎

### Inline Blame Annotations
See who changed each line directly in the editor, with author name, commit date, and message displayed at the end of each line.
[![Visual Studio 2022](https://img.shields.io/badge/Visual%20Studio-2022%20%7C%202026-purple?logo=visualstudio&logoColor=white)](https://visualstudio.microsoft.com/)
[![.NET Framework](https://img.shields.io/badge/.NET%20Framework-4.8-blue?logo=dotnet)](https://dotnet.microsoft.com/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

- Color-coded by author (each contributor gets a unique vibrant color)
- Optional age-based heat map (green = recent, red = old)
- Configurable opacity and display format
- Hover for full commit details
---

A **visually stunning** Git management extension for Visual Studio 2022/2026, bringing GitLens-style functionality with theme-adaptive vibrant colors. 🎨✨

---

## 🚀 Features

### 🔍 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!

- 🎨 **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**

### 📊 Blame Gutter Margin

### Blame Gutter Margin
A visual indicator in the editor margin showing commit history at a glance.
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

### Planned Features
- **File History** - View all commits affecting the current file
- **Commit Details** - Deep dive into any commit
- **Interactive Git Graph** - Visual branch/merge history (SkiaSharp-powered)
- **Comparison Tools** - Compare with previous revisions
### 🔮 What's Next?

## Installation
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

### From Visual Studio Marketplace
*(Coming soon)*

🚧 *Coming soon!* 🚧

### From Source
1. Clone the repository
2. Open `CodingWithCalvin.GitRanger.sln` in Visual Studio 2022
3. Build the solution
4. The VSIX will be created in the output directory

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

# 2. Open in Visual Studio 2022
# 3. Build the solution (F5 to debug)
# 4. VSIX will be created in the output directory
```

---

## ⚙️ Configuration

Configure Git Ranger via **Tools > Options > Git Ranger**
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` |

## Requirements
---

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

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

- **Git Integration**: LibGit2Sharp
- **UI Framework**: WPF
- **Graph Rendering**: SkiaSharp (planned)
- **VS Integration**: Community.VisualStudio.Toolkit
---

## Contributing
## 🛠️ Technology Stack

Contributions are welcome! Please feel free to submit issues and pull requests.
| Component | Technology |
|-----------|------------|
| 🔗 Git Integration | LibGit2Sharp |
| 🎨 UI Framework | WPF |
| 📊 Graph Rendering | SkiaSharp *(planned)* |
| 🔌 VS Integration | Community.VisualStudio.Toolkit |

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
---

## 🤝 Contributing

## License
Contributions are welcome! Feel free to submit issues and pull requests. 💪

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
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

---

## Author
## 📄 License

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

---

## 👨‍💻 Author

**Calvin A. Allen**
- Website: [codingwithcalvin.net](https://codingwithcalvin.net)
- GitHub: [@CodingWithCalvin](https://github.com/CodingWithCalvin)

[![Website](https://img.shields.io/badge/Website-codingwithcalvin.net-blue?style=flat&logo=google-chrome&logoColor=white)](https://codingwithcalvin.net)
[![GitHub](https://img.shields.io/badge/GitHub-CodingWithCalvin-181717?style=flat&logo=github)](https://github.com/CodingWithCalvin)

---

*Git Ranger - Taming your Git history, one line at a time.*
<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>