GitLens, part of GitKraken’s legendary Git tools, is an open-source extension for Visual Studio Code.
GitLens supercharges Git inside VS Code and unlocks untapped knowledge within each repository. It helps you to visualize code authorship at a glance via Git blame annotations and CodeLens, seamlessly navigate and explore Git repositories, gain valuable insights via rich visualizations and powerful comparison commands, and so much more.
GitLens simply helps you better understand code. Quickly glimpse into whom, why, and when a line or code block was changed. Jump back through history to gain further insights as to how and why the code evolved. Effortlessly explore the history and evolution of a codebase.
Today, with over 18 million installs and over 120 million downloads, GitLens is loved and relied upon by millions of users, ranging from single developers to large enterprise teams.
What's new in GitLens 12
- 12.1.1JUNE 2022
- NEWAdds getting started tutorial video to the Welcome, Get Started walkthrough, GitLens Home view, and README
- NEWFixes #2037 — Autolinks can end up getting saved with invalid (cached) properties
- 12.1.0JUNE 2022
- NEWAdds rich integration with GitLab and GitLab self-managed instances — closes #1236
- +Adds associated pull request to line annotations and hovers
- +Adds associated pull request to status bar blame
- +Adds GitLab avatars
- +Adds associated pull requests to branches and commits in GitLens views
- +Adds rich autolinks for GitLab issues and merge requests, including titles, status, and authors
- +Adds rich support to Autolinked Issues and Pull Requests within comparisons to list autolinked GitLab issues and merge requests in commit messages
- +Additional thanks to Kevin Paxton (kpaxton) for help and contributions on this feature
- NEWAdds editor line highlighting and code fading (dimming) to the File Heatmap annotations to make it easier to tell recent vs old lines of code
- +Adds a
line
option togitlens.heatmap.locations
setting to specify whether to add a line highlight to the File Heatmap annotations - +Adds a
gitlens.heatmap.fadeLines
setting to specify whether to fade out older lines when showing the File Heatmap annotations - NEWAdds editor line highlighting to the File Changes annotations for easier discovery of the added or changed lines
- +Adds a
line
option togitlens.changes.locations
setting to specify whether to add a line highlight to the File Changes annotations - NEWAdds "vanilla" Gerrit remote provider support — closes #1953 thanks to PR #1954 by Felipe Santos (@felipecrs)
- NEWAdds "Oldest first" toggle to Interactive Rebase — closes #1190
- +Adds a
gitlens.rebaseEditor.ordering
setting to specify how Git commits are displayed in the Interactive Rebase Editor - NEWAdds new and improved Autolink support
- +Adds an Autolinks section in the GitLens Settings Editor to visually add and update autolink entries — closes #1315
- +Adds improved support to Autolinked Issues and Pull Requests within comparisons to list autolinked issues in commit messages
- +You can now see all autolinks found in the commits in the comparison regardless of whether its a provider-based autolink or a custom (user-provided) autolink
- NEWAdds Open Current Branch on Remote to the Command Palette — closes #1718
- NEWImproves how stashes are shown in the Stashes view by separating the associated branch from the stash message — closes #1523
- NEWChanges previous Gerrit remote support to Google Source remote support — thanks to PR #1954 by Felipe Santos (@felipecrs)
- NEWRenames "Gutter Blame" annotations to "File Blame"
- NEWRenames "Gutter Changes" annotations to "File Changes"
- NEWRenames "Gutter Heatmap" annotations to "File Heatmap"
- NEWFixes #2033 — Diffing, applying, and restoring untracked files in a stash doesn't work
- NEWFixes #2028 — Branch names with special characters '<' also causes errors on the command line — thanks to PR #2030 by mcy-kylin (@mcy-kylin)
- NEWFixes #2028 — Branch names with special characters like ';\$|>' causes errors on the command line (terminal executed git commands)
- NEWFixes #2021 — GitLab remote provider uses legacy routes — thanks to PR #2022 by Brian Williams (@Brcrwilliams)
- NEWFixes #1998 — Settings: time format reads 'Example date' instead of 'Example time' — thanks to PR #1999 by Barney Carroll (@barneycarroll)
- NEWFixes #2012 — 'Gitlens: Open Changes with Revision...' results in error
- NEWFixes #2014 — '#' encoded incorrectly
- NEWFixes #1787 — Remove '-review' from Gerrit Remote reviewDomain() — thanks to PR #1954 by Felipe Santos (@felipecrs)
- NEWFixes #1902 — Support replacing mirror/replica domain with main domain for remote provider — thanks to PR #1954 by Felipe Santos (@felipecrs)
- 12.0.7JUNE 2022
- NEWFixes #1979 — GitLens stopped working in v12.0.0 and later
- NEWFixes #1882 — Blame annotations not showing anymore after update
- NEWFixes #1776 — Cant follow symlinks
- NEWFixes #2000 — File Changes annotations fail to display in certain cases
- NEWFixes #1936 — Broken repositories view
- NEWFixes an issue where commit messages in views incorrectly had ellipsis at the end
- NEWFixes an issue where clicking on tokens on the Settings editor popup wouldn't add the token into the input
- 12.0.6JUNE 2022
- NEW
- NEWFixes #1932 — Pull request autolink doesn't work for Bitbucket Server 7 — thanks to PR #1933 by Sam Martin (@smartinio)
- NEWFixes #1938 — Git CodeLens causes line jumping on new virtual files
- NEWFixes #1925 — Branches from remotes outside the repo aren't showing associated pull requests (for connected remotes)
- NEWFixes #1920 — Can't view tags on torvalds/linux
- NEWFixes #1923 — View titles fail to update properly when number of "opened" repos changes
- NEWFixes smooth scrolling and TOC jumping issues on the GitLens Interactive Settings
- 12.0.5JUNE 2022
- IMPROVEDChanges the current line blame hover to show at the cursor, rather than the start of the line, when showing the hover over the whole line (e.g. line & annotation)
- IMPROVEDChanges Gutter Changes file annotations to be theme-aware
- IMPROVEDChanges to honor the new(ish)
git.repositoryScanMaxDepth
setting if thegitlens.advanced.repositorySearchDepth
setting isn't specified - FIXEDFixes #1909 — Should still "detect" repos directly in the workspace folder(s) even if
git.autoRepositoryDetection
isfalse
- FIXEDFixes #1829 — Reduce re-rendering by disabling animation in blame info in the status bar
- FIXEDFixes #1864 — Worktrees fail to load in working path with spaces
- FIXEDFixes #1881 — Worktrees icon is very small
- FIXED
- FIXEDFixes an issue where the Gutter Changes file annotations could be rendered on the wrong lines in certain cases
- 12.0.4JUNE 2022
- NEWAdds ability to paste in an authorization URL to complete a GitLens+ sign in
- FIXEDFixes #1888 — Gitlens breaks vscode auto repository detection settings
- FIXEDFixes an issue where the Visual File History wasn't correctly opening the commit file details quick pick menu
- FIXEDFixes an issue where the Open Visual File History of Active File command wasn't showing in the Command Palette
- 12.0.3JUNE 2022
- FIXEDFixes #1897 — Repeated GitHub errors when offline
- 12.0.2JUNE 2022
- NEWAdds proxy support to network requests
- +By default, uses a proxy configuration based on VS Code settings or OS configuration
- +Adds a
gitlens.proxy
setting to specify a GitLens specific proxy configuration - IMPROVEDChanges local repositories to be considered public rather than private for GitLens+ features (so only a free account would be required)
- IMPROVEDChanges relative dates >= 1 year but < 2 years to be shown in months for better granularity - related to #1546
- FIXEDFixes #1895 — Honor defaultDateShortFormat setting on Visual File History
- FIXEDFixes #1890 — can no longer see untracked files in stashes
- 12.0.1JUNE 2022
- NEWAdds
gitlens.defaultDateFormat
setting to specify the locale, a BCP 47 language tag, to use for date formatting - IMPROVEDRemoves dependency on GitKraken Authentication extension
- IMPROVEDChanges date formatting to follow the VS Code language locale by default
- IMPROVEDChanges framing of premium features into GitLens+
- IMPROVEDChanges repository naming to better reflect its folder name, related to #1854
- FIXEDFixes #1859 — GitLens dates use system locale instead of vscode language setting
- FIXEDFixes #1854 — All repos have the same name
- FIXEDFixes #1866 — Copy SHA and Copy Message don't work from the views (commits, branches, etc)
- FIXEDFixes #1865 — Value shortOffset out of range for Intl.DateTimeFormat options property timeZoneName
- FIXEDFixes #1742 — New file lines keep jumping down
- FIXEDFixes #1846 — Restoring (checkout) a deleted file from a commit doesn't work
- FIXEDFixes #1844 — Autolinked issues aren't properly paged when there are too many commits
- FIXEDFixes #1843 — Compare references doesn't work if you have multiple repos open
- 12.0.0FEBRUARY 2022
- NEWAdds (preview) VS Code for Web support!
- +Get the power and insights of GitLens for any GitHub repository directly in your browser on vscode.dev or github.dev
- NEWIntroducing GitLens+ — learn about GitLens+ features
- +GitLens+ adds all-new, completely optional, features that enhance your current GitLens experience when you sign in with a free account. A free GitLens+ account gives you access to these new GitLens+ features on local and public repos, while a paid account allows you to use them on private repos. All other GitLens features will continue to be free without an account, so you won't lose access to any of the GitLens features you know and love, EVER.
- +Visual File History — a visual way to analyze and explore changes to a file
- The Visual File History allows you to quickly see the evolution of a file, including when changes were made, how large they were, and who made them
- +Worktrees — allow multiple branches to be checked-out at once
- Worktrees allow you to easily work on different branches of a repository simultaneously. You can create multiple working trees, each of which can be opened in individual windows or all together in a single workspace
- NEWAdds a new GitLens Home view — see welcome content, help resource, and subscription information
- NEWAdds a Get Started with GitLens walkthrough to introduce new (and existing) users to many of the powerful features of GitLens — try it via GitLens: Get Started from the Command Palette
- NEWAdds a new Autolinked Issues and Pull Requests node to comparisons to list autolinked issues in commit messages and associated pull requests
- +Now you can quickly see all the issues fixed in a release and more
- +Currently only supported for connected GitHub remote providers
- NEWAdds the ability to choose a stash when opening or comparing file revisions, via the Open Changes with Revision... & Open File at Revision... commands
- NEWAdds improved hover information, including status and color-coding, shown on pull requests in the GitLens views
- NEWAdds a
gitlens.codeLens.dateFormat
setting to specify how to format absolute dates in the Git CodeLens - NEWAdds an easier method to choose a specific commit to the Git Command Palette's merge & rebase commands
- NEWAdds a new commit format token:
${link}
- IMPROVEDCompletely refactors the internals of GitLens into a new flexible Git provider model to allow GitLens to work on the web and in virtual environments like vscode.dev and github.dev
- IMPROVEDImproves the user experience of the commit details and file details quick pick menus
- ~Commands are now grouped and easier to understand and access — thanks to Tyler Leonhardt (@tylerLeonhardt) on the VS Code team for the quick pick API additions
- IMPROVEDImproves performance and reduces latency across many workflows
- IMPROVEDImproves startup performance on previously opened workspaces by remembering details from the last time the workspace was opened
- IMPROVEDImproves performance of the all GitLens webviews, most noticeable on the GitLens settings editor
- IMPROVEDImproves GitLens view refreshing when folders are added or removed from a workspace
- IMPROVEDChanges the icon of the Open Changes action on the hovers to be clearer
- IMPROVEDChanges footnotes in hovers to be above the command bar rather than below
- IMPROVEDReworks many internal Git parsers to reduce memory usage and improve performance
- FIXEDFixes #1818 — Ambiguous error message on GitHub authentication errors
- FIXEDFixes #1645 — Possible catastrophic backtracking with large inputs
- FIXEDFixes #1506 — Annoying Github login request
- FIXEDFixes #1735 — "gitlens.hovers.detailsMarkdownFormat" edit error
- FIXEDFixes #1745 — autolinks.url encodes hash char
- FIXEDFixes #1572 — Forced regular expression search in changes
- FIXEDFixes #1473 — Support VSCodium in interactive rebase editor
- FIXEDFixes #1699 — Exception has occurred: RangeError [ERROUTOF_RANGE]
- FIXEDFixes #1601 — Add a better time sample in "Dates & Times" setting
- FIXEDFixes performance issue with the rich hover on the status bar blame
- FIXEDFixes cross repository branch switching via the Git Command Palette
- FIXEDFixes an issue with TOC entries in the VS Code settings editor
- FIXEDFixes issues using quotes when searching for commits in certain scenarios
- FIXEDFixes issues when revealing items in GitLens views the item wouldn't get selected properly
- FIXEDFixes issues with retries on Git Command Palette command steps
- FIXEDFixes code splitting issue where GitHub support wasn't split out of the main bundle for better loading performance
- FIXEDFixes issue with quotes and commit search
- FIXEDFixes a leaked disposable on cancellable promises
- 11.7.0NOVEMBER 2021
- NEWAdds a new rich commit details hover to the blame information in the status bar
- +Adds a
gitlens.statusBar.tooltipFormat
setting to specify the format (in markdown) of hover shown over the blame information in the status bar - NEWAdds a new rich hover to the GitLens mode in the status bar
- NEWAdds functional groupings to all GitLens settings when using the VS Code settings UI. Groups will be displayed in the table of contents in the settings UI — thanks to Raymond Zhao (@rzhao271) on the VS Code team for allowing extensions to add groups to VS Code settings UI
- NEWAdds new action buttons on many quick pick menu options, including in the Git Command Palette — thanks to Tyler Leonhardt (@tylerLeonhardt) on the VS Code team for the API support
- NEWAdds Gerrit remote provider support — closes #720 thanks to PR #1535 by Andrew Savage (@andrewsavage1)
- NEWAdds new Open File command (with Open Revision as an
alt-click
) to files in comparisons — closes #1710 - NEWAdds a new Cherry Pick without Committing confirmation option to the Git Command Palette's cherry-pick command — closes #1693
- NEWAdds a new Merge without Fast-Forwarding or Committing confirmation option to the Git Command Palette's merge command — closes #1178 thanks to PR #1621 by Dmitry Ulupov (@dimaulupov)
- NEW
- NEW
- IMPROVEDChanges the No Fast-forward Merge confirmation option in the Git Command Palette's merge command to Merge without Fast-Forwarding
- FIXEDFixes #1669 — Workitem Link (Hover ) for Repository (DevOps) with Blank is broken
- FIXEDFixes #1695 — gitlens.remotes: ${repo} has '%2520' instead of '%20' for a space
- FIXED
- FIXED
- FIXEDFixes #1609 — X.globalState.setKeysForSync is not a function — thanks to PR #1610 by Stanislav Lvovsky (@slavik-lvovsky)
- FIXED
- FIXEDFixes #1583 — Should hide the context menu on unrelated tabs — thanks to PR #1589 by Takashi Tamura (@tamuratak)
- FIXED
- 11.6.1OCTOBER 2021
- IMPROVEDGitLens joins forces with GitKraken! — Learn more
- 11.6.0JULY 2021
- NEWAdds new Open Previous Changes with Working File command to commit files in views — closes #1529
- NEWAdopts new vscode
createStatusBarItem
API to allow for independent toggling — closes #1543 - IMPROVEDDynamically generates hashes and nonces for webview
<script>
and<style>
tags for better security - FIXEDFixes #1432 — Unhandled Timeout Promise
- FIXEDFixes #1562 — Yarn audit fails with 2 high sev vulnerabilities (dev dependencies only) — thanks to PR #1563 by Ivan Volzhev (@ivolzhevbt)
- FIXEDFixes #1566 — Bug: unable to open 'pr.url' when clicking PR link
- FIXEDFixes #1545 — Missing branch comparison controls in versions 11.5.0 and 11.5.1
- FIXEDFixes #1548 — "Don't show again" on debug log warning doesn't work
- FIXEDFixes #1449 — Configured remotes not showing up in quickpick menu when opening commit on remote
- FIXEDFixes issues where auto-linking of GitHub 3rd party issue links didn't always work
- FIXEDFixes issue with long commit messages on rebase editor
- FIXEDFixes compatibility issue with Live Share
- 11.5.1JUNE 2021
- FIXEDFixes up/down order of the alternate shortcuts on the Interactive Rebase Editor
- 11.5.0JUNE 2021
- NEWAdds support for Workspace Trust
- NEWAdds rich hovers to commits in the views — including associated pull requests (when connected to GitHub) and auto-linked issues
- NEWAdds a new section for associated pull requests (when connected to GitHub) and auto-linked issues to the Details hover
- NEWAdds the ability to filter comparisons to show only either the left-side or right-side file differences
- NEWAdds the Open Folder History command to root folders — closes #1505
- NEWAdds alternate
j
/k
andshift+j
/shift+k
keyboard shortcuts to the Interactive Rebase Editor — closes #1538 - NEWAdds the ability to show contributor statistics, files changed as well as lines added and deleted (can take a while to compute depending on the repository) — closes #1489
- +Adds a Show Statistics / Hide Statistics toggle to the
...
menu of the Contributors view - +Adds a
gitlens.views.contributors.showStatistics
setting to specify whether to show contributor statistics in the Contributors view - NEWAdds Create Pull Request... inline command to branches in the views
- IMPROVEDAdopts more VS Code codicons
- IMPROVEDChanges the Restore command title to Restore (Checkout) — closes #1493
- IMPROVEDChanges Compare with Working icon to better align with VS Code compare changes codicon
- IMPROVEDRenames the Discuss / Collab... button on the Details hover to Team...
- IMPROVEDReverses the resulting comparison of the Compare with HEAD, Compare with Working, and Compare with Upstream commands in the views
- FIXEDFixes #1538 — Wrong initial keyboard focus in interactive rebase
- FIXEDFixes #1498 — "Search & Compare" broken entries
- FIXEDFixes #1507 — Communicate git error instead of "unable to find git"
- FIXEDFixes #1512 — Git tag command can add an extra
-m
- FIXEDFixes #1402 — File history missing commits from other branches
- FIXEDFixes an issue where the current line blame intermittently fails to appear
- FIXEDFixes an issue where auto-linking of GitHub 3rd party issue links was broken
- FIXEDFixes an issue where view decorations on macOS wouldn't show the correct icon
- 11.4.1APRIL 2021
- NEWAdds an alternate Copy Remote File Url command (
gitlens.copyRemoteFileUrlWithoutRange
) to copy the remote url of the file without including any line range - FIXEDFixes #1458 — "Copy Remote File Url" not showing line ranges
- 11.4.0APRIL 2021
- NEWAdds a new status indicator (decoration), on the right, and a themeable colorization to branches in the views
- +
!
— indicates that the branch is missing its upstream (likely deleted from the remote) - NEWAdds a new
⚠
indicator to branches in quick pick menus when a branch is missing its upstream - NEWAdds Open Folder History command to folders in the Explorer view to show the folder's history in the File History view
- NEW
- NEWAdds a
gitlens.advanced.commitOrdering
setting to specify the order by which commits will be shown. If unspecified, commits will be shown in reverse chronological order — closes #1257 thanks to PR #1344 by Andy Tang (thewindsofwinter) and Shashank Shastri (Shashank-Shastri) - NEWAdds documentation for the GitLens: Set Views Layout command — thanks to PR #1404 by Asif Kamran Malick (@akmalick)
- NEWAdds an Enable Debug Logging command (
gitlens.enableDebugLogging
) to enable debug logging to the GitLens output channel - NEWAdds a Disable Debug Logging command (
gitlens.disableDebugLogging
) to disable debug logging to the GitLens output channel - FIXEDFixes #1423 — Create tag with message fails
- FIXEDFixes #1428 — Incorrect branch name when no commits exist on new repo
- FIXEDFixes #1444 — File history view "Open Changes with Working File" does not work for the very first commit
- FIXEDFixes #1448 — Hashes (#) are percent encoded in custom remote urls
- FIXEDFixes #1447 — Open File on Remote From... is missing remote branches
- FIXEDFixes #1442 — Interactive Rebase Editor not opened but plain text file when called from terminal
- FIXEDFixes #1439 — Copying a remote file URL for a file on Azure DevOps does not work — thanks to PR #1440 by Lee C. (MeltingMosaic)
- FIXEDFixes #1445 — Improve documentation for hiding default added editor actions
- FIXEDFixes #1411 — Click on branch compare node does not expand the tree
- FIXEDFixes an issue where the Changes to pull from *'s * files changed was always 0
- 11.3.0MARCH 2021
- NEWAdds new status indicators (decorations), on the right, and themeable colorizations to branches in the views
- +
✓
— indicates that the branch is the current branch - +
⮝
+ green colorization — indicates that the branch has unpushed changes (ahead) - +
⮟
+ red colorization — indicates that the branch has unpulled changes (behind) - +
⮟⮝
+ yellow colorization — indicates that the branch has diverged from its upstream; meaning it has both unpulled and unpushed changes - +
⮙+
+ green colorization — indicates that the branch hasn't yet been published to an upstream remote - NEWAdds new status indicators (decorations), on the right, and themeable colorizations to files in the views
- +
M
— indicates that the file is/was modified - +
A
+ green colorization — indicates that the file is/was added - +
D
+ red colorization — indicates that the file is/was deleted - +
R
+ green colorization — indicates that the file is/was renamed - +
C
+ green colorization — indicates that the file is/was copied - +
I
+ grey colorization — indicates that the file is ignored - +
U
+ green colorization — indicates that the file is untracked - NEWAdds a new built-in Create Pull Request flow that starts opening a pull request on github.com
- NEWAdds a new Open Blame Prior to Change command (
gitlens.openBlamePriorToChange
) to open the blame of prior revision of the selected line in the current file — closes #1014 - NEWAdds new Git CodeLens action options
- +Opens the commit on the remote service (when available) and Copies the remote commit url to the clipboard (when available)
- +Opens the file revision on the remote service (when available) and Copies the remote file revision url to the clipboard (when available)
- +Toggles the file heatmap
- +Toggles the file changes since before the commit
- +Toggles the file changes from the commit
- NEWAdds new status bar blame action options
- +Opens the commit on the remote service (when available) and Copies the remote commit url to the clipboard (when available) — closes #1378
- +Opens the file revision on the remote service (when available) and Copies the remote file revision url to the clipboard (when available)
- +Toggles the file heatmap
- +Toggles the file changes since before the commit
- +Toggles the file changes from the commit
- NEWAdds Publish Repository command (
gitlens.publishRepository
) to publish the repository to a remote provider - NEW
- NEWAdds a new Reset Avatar Cache command (
gitlens.resetAvatarCache
) to clear the avatar cache - IMPROVEDChanges the Blame Previous Revision command on the hover to Open Blame Prior to this Change
- IMPROVEDChanges the Blame Previous Revision command icon on the hover to the
versions
codicon - FIXEDFixes 1372 — Unexpected repository detection on editor startup after recent updates
- FIXEDFixes 1394 — Repository view settings appear disabled
- FIXEDFixes 1391 — Branch names are not properly escaped in git commands
- FIXEDFixes 1336 — Need to allow GitLens to connect to GitHub in every Codespace (requires VS Code v1.54-insiders or later)
- FIXEDFixes 1363 — Error 'Unable to open compare', when git setting log.showsignature is active
- FIXEDFixes 1368 — Suppress message "GitLens was unable to find Git"
- FIXEDFixes an issue where the rebase status in the views could get "stuck" after a rebase completed
- FIXED
- 11.2.1FEBRUARY 2021
- IMPROVEDChanges to additionally show merged pull requests at the root of the Commits and Repositories views
- FIXEDFixes #1361 — Interactive rebase editor fails when opened in a VS Code window that doesn't have the repository opened
- FIXED
- 11.2.0FEBRUARY 2021
- NEWAdds rebase and/or merge status when applicable to the Commits and Repositories views
- +Merging into <branch> or Resolve conflicts before merging into <branch>
- Lists any conflicted files. Conflicted files show comparisons with the common base of the current and incoming changes to aid in resolving the conflict by making it easier to see where changes originated
- +Rebasing <branch> or Resolve conflicts to continue rebasing <branch>
- Shows the number of rebase steps left, the commit the rebase is paused at, and lists any conflicted files. Conflicted files show comparisons with the common base of the current and incoming changes to aid in resolving the conflict by making it easier to see where changes originated
- NEWAdds rebase and/or merge conflict status when applicable to the File History and Line History views
- +Merge Changes
- Show comparisons with the common base of the current and incoming changes to aid in resolving the conflict by making it easier to see where changes originated
- NEWAdds status indicator colors to pull request icons in GitLens views
- NEWAdds a new Quick Open File History command to all places where Open File History already exists — closes #1156
- NEWAdds the Add Remote command to the branch status in the Branches, Commits, and Repositories views when there are no Git remotes configured
- NEWAdds a new Browse Repository from Before Here (
gitlens.browseRepoBeforeRevision
) and Browse Repository from Before Here in New Window (gitlens.browseRepoBeforeRevisionInNewWindow
) commands - NEWAdds Repository from Before Here and Repository from Before Here in New Window to the Browse submenu of commits in the views
- NEW
- NEWAdds a Switch to Text button on the Interactive Rebase Editor to open the text rebase todo file — note that closing either document will start the rebase
- NEWAdds a notification which asks if you want to create a pull request after publishing a new branch
- NEWAdds CodeStream partnership
- NEWAdds a
gitlens.views.branches.reveal
setting to specify whether to reveal branches in the Branches view, otherwise they will be revealed in the Repositories view - NEWAdds a
gitlens.views.commits.reveal
setting to specify whether to reveal commits in the Commits view, otherwise they will be revealed in the Repositories view - NEWAdds a
gitlens.views.remotes.reveal
setting to specify whether to reveal remotes in the Remotes view, otherwise they will be revealed in the Repositories view - NEWAdds a
gitlens.views.stashes.reveal
setting to specify whether to reveal stashes in the Stashes view, otherwise they will be revealed in the Repositories view - NEWAdds a
gitlens.views.tags.reveal
setting to specify whether to reveal tags in the Tags view, otherwise they will be revealed in the Repositories view - NEWAdds a
gitlens.advanced.abbreviateShaOnCopy
setting to specify to whether to copy full or abbreviated commit SHAs to the clipboard. Abbreviates to the length ofgitlens.advanced.abbreviatedShaLength
— closes #1062 — thanks to PR #1316 by Brendon Smith (@br3ndonland) - NEWAdds a
gitlens.advanced.externalDiffTool
setting to specify an optional external diff tool to use when comparing files. Must be a configured Git difftool. - NEWAdds a
gitlens.advanced.externalDirectoryDiffTool
setting to specify an optional external diff tool to use when comparing directories. Must be a configured Git difftool. - NEW
- IMPROVEDChanges
gitlens.statusBar.reduceFlicker
to be on by default and improves it's display — closes #1353 - IMPROVEDChanges the Interactive Rebase Editor to abort the rebase if you just close it without choosing an action
- IMPROVEDChanges Push to Commit... on the HEAD commit to be Push instead as there is no need for a commit specific push in that case
- IMPROVEDRenames Browse from Here command to Browse Repository from Here in the command palette and quick pick menus
- IMPROVEDRenames Browse from Here in New Window command to Browse Repository from Here in New Window in the command palette and quick pick menus
- IMPROVEDRenames Browse from Here to Repository from Here on the Browse submenu of commits in the views
- IMPROVEDRenames Browse from Here in New Window to Repository from Here in New Window on the Browse submenu of commits in the views
- FIXEDFixes #1267 — File history fails on Git for Windows 2.27 ("There are no editors open that can provide file history information.")
- FIXEDFixes #1006 — "GitLens: Open File on Remote" opens wrong Bitbucket URL
- FIXEDFixes #901 — Bitbucket Server fails when url = https://DOMAIN/stash/scm/PROJECT/REPO.git
- FIXEDFixes #1354 — Stuck after merge a branch with a single quote in the name
- FIXEDFixes #863 — Pulling all repositories doesn't work unless built-in Git knows about the repo (requires VS Code v1.53 or later)
- FIXEDFixes #1332 — Stashes created with command line don't show up in the "Stashes" section
- FIXEDFixes #1045 — View File History not working - absolute path used — thanks to PR #1334 by egfx-notifications (@egfx-notifications)
- FIXEDFixes #1323 — Interactive rebase hangs
- FIXEDFixes #1183 — stash all changes has no effect when the number of files is large
- FIXEDFixes #1308 — Escape quotes for PRs titles
- FIXEDFixes #1309 — "Fetch" not working on remote branches
- FIXEDFixes an issue where many views wouldn't refresh properly when going from no items to some items
- FIXEDFixes an issue where Publish Branch was incorrectly showing up on remote branches
- FIXEDFixes an issue where the Open Directory Compare * commands failed to work
- FIXEDFixes an issue where pinning a file/line to the File History view or Line History view would get lost if the view was collapsed and expanded
- REMOVEDRemoves the
gitlens.repositories.enabled
setting, since the view is toggleable as any other view now - REMOVEDRemoves the
gitlens.lineHistory.enabled
setting, since the view is toggleable as any other view now - REMOVEDRemoves the Hide Repositories view command, since the view is toggleable as any other view now
- REMOVEDRemoves the Hide Line History view command, since the view is toggleable as any other view now
- 11.1.3JANUARY 2021
- FIXED
- 11.1.2JANUARY 2021
- FIXED
- 11.1.1JANUARY 2021
- IMPROVEDImproves the performance of the Stashes and Contributors views
- FIXEDFixes #1302 — Welcome screen on every editor window is very tedious
- FIXEDFixes #1285 — Uncommitted staged changes after pull
- FIXEDFixes #1294 — Error when open commits list
- 11.1.0DECEMBER 2020
- NEWRefines the Repositories view to better align its features with all the new views
- +Adds menu toggles and the settings below to allow for far greater customization of the sections in the Repositories view
- +Adds a
gitlens.views.repositories.branches.showBranchComparison
setting to specify whether to show a comparison of the branch with a user-selected reference (branch, tag. etc) under under each branch in the Repositories view - +Adds a
gitlens.views.repositories.showBranches
setting to specify whether to show the branches for each repository - +Adds a
gitlens.views.repositories.showCommits
setting to specify whether to show the commits on the current branch for each repository - +Adds a
gitlens.views.repositories.showContributors
setting to specify whether to show the contributors for each repository - +Adds a
gitlens.views.repositories.showIncomingActivity
setting to specify whether to show the experimental incoming activity for each repository - +Adds a
gitlens.views.repositories.showRemotes
setting to specify whether to show the remotes for each repository - +Adds a
gitlens.views.repositories.showStashes
setting to specify whether to show the stashes for each repository - +Adds a
gitlens.views.repositories.showTags
setting to specify whether to show the tags for each repository - +Adds a
gitlens.views.repositories.showUpstreamStatus
setting to specify whether to show the upstream status of the current branch for each repository - +Adds all of the settings above to the Repositories view section in the GitLens Interactive Settings
- NEWAdds better visibility to the, hidden by default, Repositories and Line History views
- +Adds a Repositories view toggle command to the Commits view's context menu
- +Adds a Line History view toggle command to the File History view's context menu
- +Re-adds the Line History view settings to the GitLens Interactive Settings
- NEWAdds usage-based sorting (on by default) to the Git Command Palette
- +Adds a
gitlens.gitCommands.sortBy
setting to specify how Git commands are sorted in the Git Command Palette - NEWAdds ability to show gutter heatmap in the gutter and/or on the scroll bar — closes #297
- +Adds a
gitlens.heatmap.locations
setting to specify where the indicators of the gutter heatmap annotations will be shown - NEW
- +Adds this new option to the Menus & Toolbars section of the GitLens Interactive Settings
- NEWAdds a Push to Commit... command to unpublished commits in the Commits, Branches, and Repositories views, and to to unpublished files in the File History and Line History views
- NEWAdds a Commit submenu to files in the File History and Line History views — closes #1044
- NEWAdds an Open File on Remote From... command (
gitlens.openFileOnRemoteFrom
) to open a file or revision on a specific branch or tag on the remote provider — closes #1071 - NEWAdds a Copy Remote File Url From... command (
gitlens.copyRemoteFileUrlFrom
) to copy the url of a file or revision on a specific branch or tag the remote provider — closes #1071 - NEWAdds a welcome, i.e. richer empty state, to the Search & Compare view
- NEWAdds dynamic updating of the last fetched date/time in the Commits and Repositories views
- NEWAdds a Connect to Remote command (
gitlens.connectRemoteProvider
) to connect to a supported remote service to enable a rich integration - NEWAdds a Disconnect from Remote command (
gitlens.disconnectRemoteProvider
) to disconnect from a connected remote service - NEWAdds a
gitlens.integrations.enabled
setting to specify whether to enable rich integrations with any supported remote services — see #1208 - NEWAdds a
gitlens.terminalLinks.enabled
setting to specify whether to enable terminal links — autolinks in the integrated terminal to quickly jump to more details for commits, branches, tags, and more — closes #1284 - NEWAdds a
gitlens.defaultTimeFormat
setting to specify how times will be formatted by default - NEW
- NEWAdds a ⭐ star as a favorite indicator on branches in the quick pick menus
- NEWAdds ability to toggle the Toggle Compare with: Working Tree / Branch command before a comparision is chosen
- NEWAdds GitLens extensibility APIs
- +Adds an action runner extensibility point to provide a runner (handler) for the new createPullRequest and openPullRequest actions — see
gitlens.d.ts
for API definitions - IMPROVEDChanges the Incoming Activity section of the Repositories view to be hidden by default, as it is still experimental
- IMPROVEDChanges the options on the Git Command Palette's revert command to now be Revert (
--no-edit
) and Revert & Edit (--edit
) — closes #1269 - IMPROVEDChanges the thickness (boldness) of a handful of icons to better match VS Code codicons
- FIXEDFixes #1016 — "Last fetched" message is also updated when fetch failed
- FIXEDFixes #1218 — Opening Ahead/Behind files isn't showing the desire diff (e.g. diff with the merge base)
- FIXEDFixes #1255 — Repository folders are missing repository actions (e.g. favorites, close repo, etc)
- FIXEDFixes #1246 — Gutter Blame avatar does not use Gravatar fallback style
- FIXEDFixes #1208 — Connect to Github notification is noisy
- FIXEDFixes #526 — FAILED in gitlens.outputLevel=verbose; likely due to regex not in quotes
- FIXEDFixes #1222 — GitLens: Open Associated Pull Request doesn't work
- FIXEDFixes #1223 — commit pane, ${tips} does not show tags
- FIXEDFixes #1225 — Changes hover is wrong if the original/new line number doesn't match
- FIXED
- FIXED
- FIXEDFixes #1176 — Can't selectively apply stash
- FIXEDFixes #1212 — Stashes list doesn't refresh on deletion
- FIXEDFixes #1191 — "Gitlens › Views › Repositories: Auto Refresh" not working
- FIXEDFixes #1202 — "Copy Remote File Url" url-encodes the URL
- FIXEDFixes an issue where Gutter * file annotations wouldn't dynamically update when changing certain default configuration settings
- FIXEDFixes an issue where
git shortlog
could hang (when there is no HEAD) - FIXEDFixes an issue where GitLens: Show Repositories View command wouldn't work unless the view was enabled first
- FIXEDFixes an issue where GitLens: Show Line History View command wasn't showing up unless the view was enabled first
- FIXEDFixes an issue where trying to force push the current branch would fail
- FIXEDFixes an issue where Push to Commit... would incorrectly show a repository picker
- FIXEDFixes an issue where the Add Remote command wasn't working
- FIXEDFixes an issue where the
gitlens.sortBranchesBy
andgitlens.sortTagsBy
settings where not honored in many quick pick menus - FIXEDFixes an issue where the Toggle Compare with: Working Tree / Branch command was showing incorrectly on the branch comparisons
- 11.0.6NOVEMBER 2020
- IMPROVEDChanges the Where did my views go? view to show on this next upgrade, since somehow (still not sure how) it was never shown to many (most?) users
- IMPROVEDChanges GitHub connection rejection to be per-workspace (rather than global)
- FIXED
- FIXEDFixes invalid branch status showing up for remote branches
- 11.0.5NOVEMBER 2020
- FIXEDFixes #1204 — Compare file changes: "new" and "old" sides of the compare are backwards
- 11.0.4NOVEMBER 2020
- FIXEDFixes #1161 — Compare file differences between branches
- FIXEDFixes #1157 — GitLens report `X files changed` when comparing working tree with a branch having identical files
- 11.0.3NOVEMBER 2020
- FIXEDFixes #1163 — Use Interactive Rebase Editor when run from GitLens command (regardless of Git config)
- FIXEDFixes #1197 — Can't squash commit in interactive rebase editor
- FIXEDFixes the
gitlens.codeLens.scopes
setting json schema - 11.0.2NOVEMBER 2020
- NEWRefines the Interactive Rebase Editor
- +Adds a quick-access button to disable the rebase editor — closes #1153
- +Adds shortcut keys to start and abort a rebase
- +Adds a Disable Interactive Rebase Editor command (
gitlens.disableRebaseEditor
) - +Adds an Enable Interactive Rebase Editor command (
gitlens.enableRebaseEditor
) - +Adds an Interactive Rebase Editor section to the GitLens Interactive Settings
- ~Changes the layout spacing of the Interactive Rebase Editor to allow for more commits to be shown at once
- FIXEDFixes #1187 — Warning about incorrect regexp in DevTools console — thanks to #1188 by Andrii Dieiev (@IllusionMH)
- FIXEDFixes #1151 — Icons not showing in interactive rebase
- FIXEDFixes #1166 — Enormous avatars in interactive rebase view
- 11.0.1NOVEMBER 2020
- NEWAdds a Compare References... command (
gitlens.compareWith
) to compare two selected references - NEWAdds ability to enter reference ranges (e.g.
main...release/1.0
) to the Git Command Palette's history command - FIXEDFixes #1148 — Follow renames on File History cannot load more history
- FIXEDFixes #1157 — GitLens report `X files changed` when comparing working tree with a branch having identical files
- FIXEDFixes #1150 — Cannot read property 'provider' of undefined
- 11.0.0NOVEMBER 2020
- NEWAdds all-new views side bar views
- ~Moves all GitLens views to the Source Control side bar by default. You can move them back to the GitLens side bar via the Set Views Layout (
gitlens.setViewsLayout
) command or individually via drag and drop - +Commits view — visualize, explore, and manage Git commits
- Adds an indicator icon (up arrow) to unpublished (unpushed) commits
- +Branches view — visualize, explore, and manage Git branches
- +Remotes view — visualize, explore, and manage Git remotes and remote branches
- +Stashes view — visualize, explore, and manage Git stashes
- +Tags view — visualize, explore, and manage Git tags
- +Contributors view — visualize, navigate, and explore contributors
- Moves the current user to be first and adds a (you) suffix
- +Search & Compare view — search and explore commit histories by message, author, files, id, etc, or visualize comparisons between branches, tags, commits, and more
- Replaces the Search Commits and Compare Commits views
- Adds persistence (pinning) for both searches and comparisons
- Adds ability to edit existing searches
- ~Disables the Repositories view by default, as it has been superseded by many new views. You can re-enable it by setting
"gitlens.views.repositories.enabled": true
or via the GitLens Interactive Settings - ~Integrates line history into the File History view
- Adds a new Toggle History Mode command to toggle between showing file or line history
- Adds an indicator icon (up arrow) to unpublished (unpushed) commits
- Adds support for showing history across all branches via the Toggle Filter menu command — closes #974
- Adds staged changes
- IMPROVEDRefines all of the GitLens contributed menus to reduce noise and improve usability
- NEWAdds a user-friendly interactive rebase editor to easily configure an interactive rebase session
- NEWAdds terminal links —
ctrl+click
on autolinks in the integrated terminal to quickly jump to more details for commits, branches, tags, and more - NEWAdds rich integration with GitHub
- +Adds GitHub avatar support!
- +Adds associated pull request to line annotations and hovers
- +Adds associated pull request to status bar blame
- +Adds associated pull requests to branches and commits in the GitLens views
- +Adds autolinks for GitHub issues and pull requests, including titles, status, and authors
- NEWAdds a new and improved Gutter Heatmap file annotations, via the Toggle File Heatmap Annotations command (
gitlens.toggleFileHeatmap
)- Displays the heatmap in the gutter for a cleaner look and avoids any code jumping
- Adds improved heatmap colorization for better clarity of old and new code
- Adds the hot/cold age threshold to the GitLens Interactive Settings
- NEWAdds a new and improved Gutter Changes file annotations, via the Toggle File Changes Annotations command (
gitlens.toggleFileChanges
) — closes #396- Provides indicators of local changes, if any, or recent commit changes, and distinguishes between added, changed, and removed lines
- Similar to the built-in Git gutter changes for un-staged changes, but shows all local (un-pushed) changes
- Shows a changes hover with the full set of changes (diff hunk) and even with unsaved changes
- NEWAdds many refinements to the Git Command Palette (previously Git Commands), and adds new commands
- +Adds many more options to existing commands
- +Adds improved titles for better clarity, context, and flow
- +Adds a new history (log) command to show the commit history of a branch or tag
- Adds a Reveal in Side Bar button to the quick pick menu toolbar
- Adds keyboard navigation
right arrow
— reveals the selected branch in the Branches or Remotes view (or Repositories view, if enabled), if there is no text in the quick pick menualt+right arrow
,ctrl+right arrow
,cmd+right arrow
(macOS) — reveals the selected branch in the Branches or Remotes view
- +Adds a new show command to show the details of a commit
- Adds a Reveal in Side Bar button to the quick pick menu toolbar
- Adds keyboard navigation
right arrow
— searches for the selected commit and shows the results in the Search Commits view, if there is no text in the quick pick menualt+right arrow
— searches for the selected commit and shows the results in the Search Commits viewctrl+right arrow
,cmd+right arrow
(macOS) — reveals the selected commit in the Commits view (or Repositories view, if enabled)
- +Adds a new status command to show the current respository status
- +Adds a new Delete Branch & Remote and Force Delete Branch & Remote options to the branch delete command — to more easily delete branches with tracking branches
- +Adds ability pull (fetch) a specific branch(es) to the pull command — closes #873
- +Adds a new Publish Branch option to the push command
- +Adds ability to push a single branch to the push command
- +Adds support for honoring the
git.useForcePushWithLease
setting on the push command - +Adds a new Soft Reset (
--soft
) option to the reset command - NEWAdds improved autolinks support
- +Adds a new
alphanumeric
flag to autolinks — closes #946 - +Adds autolink support in plain text (as footnotes)
- +Allows autolinks inside parentheses and square brackets
- NEWAdds improved co-author support
- +Provides an updatable quick pick of co-authors
- +Adds the Add Co-authors (
gitlens.addAuthors
) command to the Source Control context menu - +Adds an option to show or hide the Add Co-authors command on the Source Control context menu to the Menus & Toolbars section of the GitLens Interactive Settings
- NEWAdds many new commands
- +Open File from Remote (
gitlens.openFileFromRemote
) command — opens the local file from a remote file url - +Set Views Layout (
gitlens.setViewsLayout
) command — quickly switch between showing GitLens views in GitLens sidebar (default) and the Source Control sidebar - +Adds a Switch to Another Branch (
gitlens.views.switchToAnotherBranch
) command — to quickly switch the current branch - +Copy Remote Commit Url command (
gitlens.copyRemoteCommitUrl
) — copies the url of the current line commit on the remote provider - +Copy Remote Branch Url command (
gitlens.copyRemoteBranchUrl
) — copies the url of a branch on the remote provider - +Copy Remote Branches Url command (
gitlens.copyRemoteBranchesUrl
) — copies the url of the branches on the remote provider - +Open Comparison on Remote command (
gitlens.openComparisonOnRemote
) — opens the comparison on the remote provider - +Copy Remote Comparison Url command (
gitlens.copyRemoteComparisonUrl
) — copies the url of the comparison on the remote provider - +Open Pull Request command (
gitlens.openPullRequestOnRemote
) — opens the pull request on the remote provider - +Copy Pull Request Url command (
gitlens.copyRemotePullRequestUrl
) — copies the url of the pull request on the remote provider - +Copy Remote Repository Url command (
gitlens.copyRemoteRepositoryUrl
) — copies the url of the repository on the remote provider - NEWAdds alternative
alt+click
commands for many of the Open * on Remote commands to alternatively copy the url to the clipboard - NEWAdds an Open Commit on Remote command (with an Copy Remote Commit Url
alt+click
command) to commits in the VS Code Timeline view - NEWAdds ability to set the default remote from any of the Open * on Remote command quick pick menus
- NEWAdds Git CodeLens to markdown headers
- NEWAdds new Git CodeLens options to disable the click actions on both the recent change and authors CodeLens — closes #989 thanks to #1009 by Abdulrahman (Abdu) Assabri (@abdusabri)
- NEWAdds per-language customizations to the
gitlens.codeLens.scopes
andgitlens.codeLens.symbolScopes
settings — closes #977 - NEWAdds new click behavior for changed files in GitLens views to open a diff of all contained changes
- NEWAdds a new
gitlens.hovers.avatarSize
setting to customize the size of avatars shown in hovers- Increases the default avatar size in hovers from 16px to 32px
- NEWAdds Hide Avatars or Show Avatars menu command to many GitLens views to hide or show avatars
- NEWAdds Hide Date Markers or Show Date Markers menu command to many GitLens views to hide or show relative date markers
- NEWAdds real-time preview when editing format strings in the GitLens Interactive Settings
- NEWAdds a new commit format tokens:
${authorNotYou}
,${agoOrDateShort}
,${authorAgoOrDateShort}
,${committerAgoOrDateShort}
- NEWAdds synchronized storage to avoid opening the Welcome page or showing a What's New notification on new machines when Settings Sync is enabled
- NEWAdds new Welcome and Open Settings menu commands to the GitLens gear menu in the Extensions sidebar — closes #952 & #953 thanks to #992 by Zeeshan Adnan (@zeeshanadnan)
- NEWAdds a new HEAD option to the compare quick pick menu — closes #927
- NEWAdds support for
.gitattributes
text conversion filters — closes #866 thanks to #1052 by Martin Campbell (@martin-css) - NEWAdds week(s) ago to relative time formatting
- NEWAdds a limit of 5000 commits to the Load All command in GitLens views
- NEWAdds a Clear command to the branch comparison tool in GitLens views
- NEWAdds compact mode for showing branch and tag tips on commits in GitLens views
- NEWAdds Copy SHA command to branches and tags in GitLens views
- IMPROVEDChanges all comparisons results to be split into ahead and behind groups
- IMPROVEDChanges Git CodeLens to be less intrusive when they are unavailable because of unsaved changes, via new defaults for the
gitlens.strings.codeLens.unsavedChanges.*
settings - IMPROVEDChanges to use VS Code's built-in icons (codicons) where possible — closes #985
- IMPROVEDChanges to use codicons in hovers — closes #954
- IMPROVEDChanges revision navigation icons to better match VS Code
- IMPROVEDChanges all the Open * on Remote command icons to use the globe codicon
- IMPROVEDChanges the comparison icons in GitLens views
- IMPROVEDChanges the default blame annotation format to show 50 characters (instead of 40)
- IMPROVEDChanges the relative date markers in GitLens views to be less prominent, and avoids showing the marker if it is first item
- IMPROVEDChanges commit quick pick menu commands to align with commit context menu commands
- IMPROVEDChanges the Open Settings and Welcome pages to open beside the active editor
- IMPROVEDChanges the default sorting of branches so that main, master, and develop are first
- IMPROVEDChanges the sorting of branches in the Git Commands Palette and other quick pick menus to be by date descending
- IMPROVEDChanges the default sorting of remotes so that origin is first — closes #924 — thanks to #925 by Connor Peet (@connor4312)
- IMPROVEDChanges the default sorting of tags to be by date descending
- IMPROVEDChanges to limit
scm/resourceGroup/context
andscm/resourceState/context
menu contributions - IMPROVEDChanges to support the latest emojis in commit messages
- IMPROVEDImproves VS Code startup performance by using the new
onStartupFinished
activation event - IMPROVEDImproves the performance of the Details hover
- IMPROVEDImproves the performance of loading Contributors in the Contributors and Repositories views
- IMPROVEDImproves the performance and experience when opening multiple files or revisions
- IMPROVEDImproves the performance of the file system watching for repository changes (ignores
.gitignored
files) - IMPROVEDMoves the avatars in the Gutter Blame file annotations to be part of the annotations rather than in the gutter itself
- IMPROVEDRenames Show More to Load more in GitLens views
- IMPROVEDRenames Show Commit Details command to Show Commit
- IMPROVEDReplaces Push to Commit (via Terminal) command with a new Push to Commit command
- IMPROVEDDeprecates the Line History view, as it has been integrated into the File History view. While it will likely be removed in a future version, you can be re-enable it by setting
"gitlens.views.lineHistory.enabled": true
- IMPROVEDDeprecates the
gitlens.codeLens.scopesByLanguage
setting, use per-languagegitlens.codeLens.scopes
andgitlens.codeLens.symbolScopes
settings instead - IMPROVEDDeprecates the
gitlens.gitCommands.search.showResultsInView
setting as it has been renamed togitlens.gitCommands.search.showResultsInSideBar
- IMPROVEDDeprecates the
gitlens.views.commitFileFormat
setting, usegitlens.views.formats.files.label
instead - IMPROVEDDeprecates the
gitlens.views.commitFileDescriptionFormat
setting, usegitlens.views.formats.files.description
instead - IMPROVEDDeprecates the
gitlens.views.commitFormat
setting, usegitlens.views.formats.commits.label
instead - IMPROVEDDeprecates the
gitlens.views.commitDescriptionFormat
setting, usegitlens.views.formats.commits.description
instead - IMPROVEDDeprecates the
gitlens.views.stashFileFormat
setting, usegitlens.views.formats.files.label
instead - IMPROVEDDeprecates the
gitlens.views.stashFileDescriptionFormat
setting, usegitlens.views.formats.files.description
instead - IMPROVEDDeprecates the
gitlens.views.stashFormat
setting, usegitlens.views.formats.stashes.label
instead - IMPROVEDDeprecates the
gitlens.views.stashDescriptionFormat
setting, usegitlens.views.formats.stashes.description
instead - IMPROVEDDeprecates the
gitlens.views.statusFileFormat
setting, usegitlens.views.formats.files.label
instead - IMPROVEDDeprecates the
gitlens.views.statusFileDescriptionFormat
setting, usegitlens.views.formats.files.description
instead - IMPROVEDRemoves the sponsor heart icon from all GitLens views and simplifies the sponsor command
- IMPROVEDRemoves the useless Collapse All command from the File History view
- IMPROVEDRemoves the Keep Open toggle button on the Git Command Palette toolbar — the behavior is now automatically determined (unless overridden by the
gitlens.gitCommands.closeOnFocusOut
setting) - IMPROVEDRemoves
${changes}
token from commit description format by default - IMPROVEDRemoves the associated commit sha from tag descriptions
- IMPROVEDRemoves many view visibility (enablement) settings as the control over a views visibility is more easily controlled directly by unchecking the view itself
- IMPROVEDRemoves the
gitlens.views.repositories.showTrackingBranch
setting as it is now always enabled - FIXEDFixes diffs of renamed files in certain cases
- FIXEDFixes #1139 — Git crash with v2.29.x
- FIXEDFixes typo forcably -> forcibly — thanks to #1138 by Andrea Cigana (@ciganandrea)
- FIXEDFixes missing empty (non-merge) commits
- FIXEDFixes issue with a blank branch name before any commits exist
- FIXEDFixes issues with missing repository or file system change events while vs code is unfocused
- FIXEDFixes remote url issues with spaces in the filename
- FIXEDFixes issue where <remote>/HEAD was showing up as a branch
- FIXEDFixes issues with revision navigation commands and diff editors
- FIXEDFixes show command with single file commits
- FIXEDFixes delete of remote branches on the Git Command Palette's branch command
- FIXEDFixes Git Command Palette's back tracking in certain cases
- FIXEDFixes issue to ensure that dropping a stash drops the correct item even if the view is out of date
- FIXEDFixes the Push Stash & Keep Staged option on the Git Command Palette's stash command
- FIXEDFixes issues with stashes and untracked files
- FIXEDFixes the wrong icon on the Unstage All Changes command
- FIXEDFixes issue where a selection change wouldn't always trigger a Line History refresh
- FIXEDFixes issues where GitLens' files would not re-open properly on reload
- FIXEDFixes Incomplete string escaping or encoding code scan warning — https://github.com/eamodio/vscode-gitlens/security/code-scanning/1
- FIXEDFixes Inefficient regular expression code scan warning — https://github.com/eamodio/vscode-gitlens/security/code-scanning/2
- FIXED
- FIXEDFixes Git Command Palette's stash drop command not working
- FIXEDFixes #1033 — Adopt VS Code's 'asWebviewUri' API
- FIXEDFixes issues with Open Changes with Previous Revision and diff editors
- FIXEDFixes issues with Open Changes with Working File and diff editors
- FIXEDFixes issue with the previous line diff line number being off
- FIXEDFixes issues with bogus merge commits that can show up in file histories; now using
--first-parent
for git log with--follow
- FIXEDFixes issues with paging git log with merge commits
- FIXEDFixes directory compare from waiting for external tool to exit
- FIXEDFixes #996 — Rename branch should show existing name highlighted
- FIXEDFixes issues with folders that end with a space
- FIXEDFixes typo in contributing search tag link — thanks to #981 by Guillem (@guillemglez)
- FIXEDFixes #970 — Stashes doesn't honor files layout
- FIXEDFixes Load more in GitLens views with range notation comparisons
- FIXEDFixes
ignoreCase
flag on autolinks - FIXEDFixes #951 — Starring branch updates repository view properly — thanks to #963 by Zeeshan Adnan (@zeeshanadnan)
- FIXEDFixes issues with switch branch command error handling
- FIXEDFixes issues with stash command error handling
- FIXEDFixes file history issues with copied and deleted files
- FIXEDFixes intermittent issues with Reveal Commit in Repopsitories View
- FIXEDFixes #910 — "Show Commit in Search Commits View" doesn't work
- FIXEDFixes issues with hovers not showing on first editor
- FIXEDFixes autolinking with remote providers
- FIXEDFixes issues with some settings metadata
GitLens Features
GitLens simply helps you better understand code. Quickly glimpse into whom, why, and when a line or code block was changed. Jump back through history to gain further insights as to how and why the code evolved. Effortlessly explore the history and evolution of a codebase. Dive right in and see how GitLens can help!
While GitLens is powerful and feature rich, it is also highly customizable to meet your specific needs — find CodeLens intrusive or the current line blame annotation distracting — no problem, it is quick and easy to turn them off or change how they behave via the built-in settings editor , an interactive editor covering many of GitLens' powerful settings. While for more advanced customizations, refer to the GitLens settings docs and edit your user settings.
Here are some of the features that GitLens provides,
- an unobtrusive current line blame annotation at the end of the line showing the commit and author who last modified the line, with more detailed blame information accessible on hover
- authorship CodeLens showing the most recent commit and number of authors at the top of files and/or on code blocks
- effortless revision navigation (backwards and forwards) through the history of a file
- a status bar blame annotation showing the commit and author who last modified the current line
- on-demand file annotations in the editor gutter, including
- many rich Side Bar views
- a Commits view to visualize, explore, and manage Git commits
- a Repositories view to visualize, explore, and manage Git repositories
- a File History view to visualize, navigate, and explore the revision history of the current file or just the selected lines of the current file and explore the revision history of the selected lines of current file
- a Line History view to visualize, navigate, and explore the revision history of the selected lines of the current file
- a Branches view to visualize, explore, and manage Git branches
- a Remotes view to visualize, explore, and manage Git remotes and remote branches
- a Stashes view to visualize, explore, and manage Git stashes
- a Tags view to visualize, explore, and manage Git tags
- a Contributors view to visualize, navigate, and explore contributors
- a Search & Compare view to search and explore commit histories by message, author, files, id, etc, or visualize comparisons between branches, tags, commits, and more
- a Git Command Palette to provide guided (step-by-step) access to many common Git commands, as well as quick access to
- a user-friendly interactive rebase editor to easily configure an interactive rebase session
- terminal links —
ctrl+click
on autolinks in the integrated terminal to quickly jump to more details for commits, branches, tags, and more - remote provider integrations — GitHub, GitLab, Bitbucket, Azure DevOps, Gerrit, and Gitea
- issue and pull request auto-linking
- rich hover information provided for linked issues and pull requests (GitHub only)
- associates pull requests with branches and commits (GitHub only)
- many powerful commands for navigating and comparing revisions, and more
- user-defined modes for quickly toggling between sets of settings
- and so much more 😁
GitLens FAQ
- GitLens was acquired? Yes! We are SO excited to announce that GitLens was acquired by GitKraken in October 2021.
- Who acquired GitLens? GitKraken, a US-based company that is focused on developer productivity tools, has acquired GitLens. GitKraken is the leading provider of Git productivity and collaboration solutions like the GitKraken Git client and Git Integration for Jira, which are relied on by 6 million developers in agile DevOps teams at 85,000 companies around the world.
- Will GitLens continue to be developed, and will Eric Amodio still be involved? 100%. Eric is joining GitKraken as Chief Technology Officer to lead the continued development of GitLens and GitKraken’s popular Git collaboration and productivity tools. He is transitioning his GitLens involvement from spare-time to full-time focus, and will continue to be its lead developer. At GitKraken, GitLens will have the full support and resources of a leading software company that specializes in Git collaboration and productivity solutions for development teams.
- Will GitLens continue to be free and open-source? Yes, GitKraken is fully committed to the on-going development and evolution of GitLens for VS Code. GitLens will continue to be free and open source and will keep evolving while we also explore adding GitLens+ features and services built upon GitLens to help teams accelerate their development through Git-centric collaboration, code comprehension, and visualization.
- Will I lose access to any features I rely upon today? No, you will continue to have access to all the GitLens features you know and love, for free.
About GitLens
GitLens is a free open-source extension for Visual Studio Code with over 18 million installs and over 120 million downloads. GitLens was created by Eric Amodio in 2016 and was developed and maintained nearly exclusively by Eric in his spare time until October 2021 when he joined GitKraken as Chief Technology Officer. Eric now leads the development of GitLens and GitKraken's popular Git collaboration and productivity tools for developers.
Eric is an innovator, leader, architect, and seasoned full-stack developer. He joined forces with the GitKraken team to lead the continued development of GitLens for VS Code users, transitioning his GitLens involvement from a passion project on nights and weekends, to a full-time focus. With GitKraken, GitLens has the full support and resources of a leading software company that specializes in Git collaboration and productivity solutions for development teams.
Find out more about GitLens and GitKraken joining forces and visit our FAQs page.
Read the reviews to see what people are saying about GitLens. Below is our favorite review. 😁
I have never seen such an amazing plugin for @code as GitLens. You NEED to try this. NOW. GitLens by @eamodio
— Scott Hanselman (@shanselman) September 14, 2017