Skip to content
| Marketplace
Sign in
Visual Studio>Tools>Lore
Lore

Lore

Mads Kristensen

madskristensen.net
|
8 installs
| (0) | Free
Lore source control inside Visual Studio. Onboard a solution or folder, see file status glyphs, commit, and manage a local Lore server without leaving the IDE.
Download

Lore for Visual Studio

Build Install from VSIX Gallery GitHub Sponsors

Download this extension from the Visual Studio Marketplace or get the latest CI build from Open VSIX Gallery.


Bring Lore source control directly into Visual Studio. Onboard a solution or folder, see file status at a glance, and commit - all without leaving the IDE or dropping to a terminal.

Add a solution to Lore

Open the solution or folder, then click the Add to Source Control button on the Visual Studio status bar (bottom-right) and choose Lore. Choose Local repository (the default) to create a fully offline repository where all content stays on your machine, so you can branch, commit, and switch branches without a server. Choose Create on a Lore server and enter a server URL (e.g. lore://127.0.0.1:41337) only when you want to bind a remote so you can push. Lore binds the loaded projects to the provider; the .lore folder records the binding so it is restored automatically the next time you open the solution.

Add to Lore

Clone an existing repository

Right-click the solution node and choose Lore > Clone Lore Repository.... Paste a repository URL (e.g. lore://127.0.0.1:41337/my-project) and pick a local folder; Lore checks the server is reachable, clones the working tree, and records the remote in .lore so push and pull work immediately.

Clone Repository

See status at a glance

Once a solution is controlled, Visual Studio shows Lore status glyphs next to files in Solution Explorer. Saving a document refreshes its glyph automatically, and you can force a refresh any time with the Refresh button in the Lore Changes window.

Solution Explorer

Right-click a file under Lore for Undo Changes (revert edits to the committed version), Compare with Unmodified (diff against the committed version), and Ignore and Untrack Item (adds it to .loreignore).

Review and commit in the Lore Changes window

Choose Lore > Commit to Lore... to open a dedicated panel, similar to the built-in Git Changes window.

Lore Changes Window

The window shows the current branch with incoming/outgoing indicators and arranges every changed file in a folder tree back to the repository root, each file showing a status badge (M, A, D, R, C) on the right. Renamed or moved files show an R badge, and hovering it reveals the path the file was moved from. Renames performed in Solution Explorer are tracked automatically. Changes made outside Visual Studio are detected through Visual Studio's shared file-change service and automatically refresh the window and editor status glyphs. From here you can:

  • Pick exactly which files to include in the next commit. Every changed file has a checkbox (checked by default) and each folder has a tri-state checkbox that selects or clears all the files beneath it; the header checkbox toggles everything at once. Your selection is remembered across automatic refreshes while you compose the commit.
  • Write a commit message and Commit All, or Commit All and Push in one step. When you exclude some files the buttons update to show how many are selected (for example Commit 2 / Commit 2 and Push) and only those files are committed. Tick Amend latest revision to fold the selected changes into the previous revision instead.
  • Expand or collapse folders, and double-click a file (or right-click > Open Diff) to compare the working copy against the committed version in the native Visual Studio diff viewer.
  • Right-click a file and choose Discard Changes... to reset it to the last committed state.
  • Use the toolbar to Pull (sync the latest remote revisions), Push committed revisions, or Refresh the change list.

Browse revision history

Choose Lore > View History... to open the Lore History tool window - a read-only log of the repository bound to the open solution or folder. It works fully offline against a local Lore repository and never changes your working tree.

The window loads the newest revisions first, a page at a time, so a repository with thousands of revisions stays responsive. Each row shows the first line of the commit message, the short revision hash, the author, and the local commit time; hover a row to see the full message, revision number, branch, and date. When more revisions are available, a Load more button appends the next page.

  • Select a revision to load the files it changed (relative to its direct parent). File details are fetched only for the revision you select, not for the whole list.
  • Double-click a changed file to diff that revision against its direct parent in the native Visual Studio diff viewer. Added files open on their own, deleted files show their last content from the parent, and a root revision (which has no parent) opens the file as it was first committed. The diff is produced read-only and never touches your working tree.

The window follows the open workspace: switching solutions or folders re-resolves the repository automatically. When the current solution or folder is not under Lore source control, the window says so.

The log does not reload every time the window regains focus. It refreshes on its own after a Lore operation performed in the extension changes history - a commit, a pull, or a branch switch, create, or merge - and when the open workspace changes. To reload it yourself at any time, click Refresh on the Lore History toolbar.

Sign in to a server

Authentication happens automatically, only when it is needed. When a clone, push, pull, or server-backed create fails because the Lore server requires sign-in (or a saved session has expired), Lore asks whether you want to sign in. Confirm and your default browser opens to complete sign-in; when it finishes, the original operation is retried. The session is stored by Lore, so later operations against the same server do not prompt again. There is no separate sign-in command - just run the operation you want, the same way Git prompts through its credential manager.

Work with branches

Click the branch button (showing the current branch name) on the Lore Changes toolbar to open the branch picker. From there you can:

  • Switch to any other local branch (the current branch is marked and disabled).
  • Choose New Branch... to open the create-branch dialog. Enter a name, see the branch you are basing it on (Lore always branches from the current revision), and choose whether to check out the new branch. Leave Checkout branch unchecked to create the branch without leaving your current one.
  • Choose Merge Branch into Current... and pick a branch to fold it into the branch you are on. When the merge has conflicts, Visual Studio's built-in 3-way merge tool opens for each conflicted file (current, incoming, and base). Resolve and accept each one and Lore commits the merge automatically; close the merge tool without accepting to abort and restore the working tree.

Switching and merging are offline-first: when the target branch's content is already cached locally they complete without a network round trip. Lore's local store is an LRU cache, so content can be evicted; if a switch or merge needs content that is no longer cached, it is fetched from the Lore server. When that content is missing and the server is unreachable, the operation reports a clear message asking you to start (or reconnect to) your Lore server and try again.

Settings

Configure everything under Tools > Options > Lore:

Setting Description
Identity Commit identity (e.g. you@example.com).
Push after commit Automatically push every successful commit.
Server port (gRPC/QUIC) gRPC/QUIC port used to build repository URLs. Default 41337.

Get involved

Found a bug? Have an idea? Head to the issue tracker - pull requests are always welcome.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft