All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Adds better tooltips for file revisions (
gitlen://
uris) — includes the commit id - Adds an Open Revision from Branch or Tag... (
gitlens.openFileRevisionFromBranch
) command to open the revision of the current file from the selected branch — closes #646
- Fixes issues with the welcome page and the interactive settings in the latest vscode insiders build
- Adds a
mailto:
link to the author on the commit details hover — closes #642 - Adds support for customizing the layout of the commit details hover
- Adds a
gitlens.hovers.detailsMarkdownFormat
setting to specify the format (in markdown) of the commit details hover - Adds the author's e-mail to the tooltip of commits in the views — closes #642
- Adds a new author e-mail format token (
${email}
) — closes #642- Supported in the following settings:
gitlens.blame.format
,gitlens.currentLine.format
,gitlens.hovers.detailsMarkdownFormat
,gitlens.views.commitFormat
,gitlens.views.commitDescriptionFormat
,gitlens.views.stashFormat
,gitlens.views.stashDescriptionFormat
, andgitlens.statusBar.format
- Supported in the following settings:
- Changes the sorting of remotes in the Repositories view to sort the default remote first
- Changes relative date formatting of the last fetched date of repositories in the Repositories view to instead use an absolute format and will additionally add the time of day if less than a day has passed
- This avoids having to periodically refresh the repository (which causes all of its children to re-render) in order to update the relative time
- Fixes #591 - GitLens Error: Unable to open
- Fixes #620 - Wrong URL to open commit on Azure DevOps if cloned via SSH — thanks to PR #621 by Yan Zhang (@Eskibear)
- Fixes #626 - Branch names with only digits always appear first — thanks to PR #627 by Marc Lasson (@mlasson)
- Fixes #631 - Remotes fail to show in gui
- Fixes #633 - Compare File with Previous Revision doesn't work if path contains '#'
- Fixes #635 - Show more commit not working properly
- Fixes an issue where the Open File, Open File on Remote, and Copy Remote Url to Clipboard commands didn't always work on changed files in the Repositories view
- Fixes an issue where the default remote wasn't used first to provide automatic issue linking
- Reverts #606 as it causes views to lose their expansion state
- Adds pinning of comparisons in the Compare view — pinned comparisons will persist across reloads
- Adds an Open in Terminal command to repositories in the Repositories view
- Renames the Copy Remote File URL to Clipboard command (
gitlens.copyRemoteFileUrlToClipboard
) to Copy Remote URL to Clipboard for brevity
- Fixes #606 - ID for xxx is already registered?!
- Fixes #607 - Open file in Remote Doesn't URL encode
- Fixes #608 - Add an option to change the abbreviated commit SHA length — thanks to PR #611 by Skybbles // L5474 (@Luxray5474)
- Fixes #613 - Change Copy Remote URL to Clipboard to always copy a permalink (e.g. revision link)
- Adds favoriting of repositories and branches in the Repositories view to allow for better (user-customized) sorting
- Adds the ability to specify a default remote selection when using the Open * in Remote commands — closes #504
- Adds Set as Default and Unset as Default commands to remotes in the Repositories view
- Adds the ability to turn on file annotations (blame, heatmap, and recent changes) via user-defined modes — closes #542
- Adds the ability to stage and unstage files by folders in the Repositories view — closes #599 thanks to PR #600 by Tony Brix (@UziTech)
- Adds Stage All Changes and Unstage All Changes commands to folders in the Repositories view
- Adds a repository indicator in the Repositories view when we are unable to detect repository changes — related to #583
- Adds
gitlens.defaultDateShortFormat
setting to specify how short absolute dates will be formatted by default
- Changes the fetch date in the Repositories view to respect the date style setting (
gitlens.defaultDateStyle
) and uses the newgitlens.defaultDateShortFormat
setting for formatting - Avoids caching when we are unable to detect repository changes — related to #583
- Fixes #605 — Show More Commits not working
- Adds a
gitlens.views.showRelativeDateMarkers
setting to specify whether to show relative date markers (Less than a week ago, Over a week ago, Over a month ago, etc) on revision (commit) histories in the views — closes #571
- Changes the icon of the Open Changes with Working File command (
gitlens.diffWithWorking
) to align with VS Codes new Open Changes icon - Splits the
gitlens.views.avatars
setting intogitlens.views.compare.avatars
,gitlens.views.repositories.avatars
, andgitlens.views.search.avatars
settings for more granular control
- Renames the Stash Changes command (
gitlens.stashSave
) to Stash All Changes and adds a new Stash Changes command (gitlens.stashSaveFiles
) - Changes the icon of the Stash All Changes command (
gitlens.stashSave
) — closes Microsoft/vscode#64423
- Fixes #598 — Apply changes when comparing a file from two branches is not working
- Switches to use the new built-in clipboard apis — closes #593
- Improves the error messaging when applying a stash, that won't apply cleanly, by including the git output in the message
- Fixes missing icon when using the
alt
-command of the Toggle File Blame Annotations command
- Improves the commit search experience
- Remembers and restores the last commit search string
- Adds a Search Commits command to the search results inline toolbar
- Reopens the commit search when clicking on a search results without results
- Adds a Collapse command to the toolbars of the Compare and Search Commits views — closes #383
- Adds support for the new ability to have descriptions on view nodes — provides a much cleaner layout
- Adds a
gitlens.views.commitFileDescriptionFormat
setting to specify the description format of a committed file in the views - Adds a
gitlens.views.commitDescriptionFormat
setting to specify the description format of committed changes in the views - Adds a
gitlens.views.stashFileDescriptionFormat
setting to specify the description format of a stashed file in the views - Adds a
gitlens.views.stashDescriptionFormat
setting to specify the description format of stashed changes in the views - Adds a
gitlens.views.statusFileDescriptionFormat
setting to specify the description format of the status of a working or committed file in the views
- Adds a
- Adds a
gitlens.views.repositories.compact
setting to specify whether to show the Repositories view in a compact display density — closes #571
- Fixes #559 — Html encoding issues with the empty state of the Compare and Search Commits views
- Fixes #574 — Apply Changes not working because of whitespace conflicts
- Fixes #589 — Bad revision for stash
- Adds more detailed branch tracking status (if available) to the Branches list in the Repositories view
- * Commits Behind — quickly see and explore the specific commits behind the upstream (i.e. commits that haven't been pulled)
- Only provided if the current branch is tracking a remote branch and is behind it
- * Commits Ahead — quickly see and explore the specific commits ahead of the upstream (i.e. commits that haven't been pushed)
- Only provided if the current branch is tracking a remote branch and is ahead of it
- * Commits Behind — quickly see and explore the specific commits behind the upstream (i.e. commits that haven't been pulled)
- Adds the date and a changes indicator (+x ~x -x) to stashed changes in GitLens views (uses the new
${changes}
token in thegitlens.views.stashFormat
setting) - Adds the changed file status (added, modified, renamed, deleted, etc) to the tooltip of each revision in the File History and Line History views
- Adds Git extended regex support to commit searches
- Adds control over the menu commands contributed to the Source Control side bar to the GitLens interactive settings editor (via the
gitlens.menus
setting)
- Changes the Show Revision Details command (
gitlens.showQuickRevisionDetails
) to show file commit details - Changes the
alt
-command of the Toggle File Blame Annotations command (gitlens.toggleFileBlame
) to be the Toggle File Heatmap Annotations command (gitlens.toggleFileHeatmap
) - Changes searching for commits by message to be case-insensitive
- Renames the Explore the Repository from Here command (
gitlens.views.exploreRepoRevision
) to Explore Repository from Here - Reworks the layout of some contributed menu commands
- Fixes an issue where gravatar icons would sometimes not show up — thanks to PR #579 by sgtwilko (@sgtwilko)
- Fixes #33 — Commit messages can causes markdown formatting in hovers
- Fixes #501 — Azure DevOps ssh remotes aren't handled properly
- Fixes #523 — File History doesn't show all commits on file
- Fixes #552 — "Open Line Changes with..." doesn't work for renamed files
- Fixes #566 — History error with UNC
- Fixes #572 — Explorer can't expand some branch folders
- Fixes #584 — Unexpected results when opening diff from file history
- Fixes #588 — Output channel doesn't exist with
gitlens.outputLevel
default - Fixes an issue where comparing a file with its staged revision doesn't show any content
- Fixes an issue where the workspace folder added by the Explore Repository from Here command (
gitlens.views.exploreRepoRevision
) would fail to load in certain cases - Fixes an issue where applying changes of an added file or an untracked file (in a stash) would fail
- Fixes #576 — Fails to load with older versions of git
- Fixes an issue where the Copy Commit Message to Clipboard command fails (and probably others too) — a regression caused by the attempted fix for #568
- Adds a Directory Compare All Changes (
gitlens.diffDirectoryWithHead
) command to open the configured git difftool to compare the working directory with HEAD — closes #569
- Renames Open Changes (with difftool) command to Open All Changes (with difftool) when shown on the SCM group context menu
- Fixes #565 — Regression: Submodules don't work properly (missing repo in view, file and inline blame, etc)
- Fixes #528 — Remotes not showing, being filtred on domain and file, but not complete path
- Fixes an issue where Close Repository command didn't work
- Fixes issues with external files (files not in one of the workspace folders) showing up as a new repository when over a Live Share session
- Fixes issues with errors when listing history in repos without any tags
- Adds GitLens over Visual Studio Live Share
- Live Share guests will now have read-only access to GitLens' features, provided both the host and guest have GitLens installed
- Adds a
gitlens.liveshare.allowGuestAccess
setting to specify whether to allow guest access to GitLens features when using Visual Studio Live Share
- Adds a new Git virtual file system provider for the
gitlens:
scheme — closes #430- Replaces GitLens' internal handling of file revisions, which allows for better performance, as well as avoiding the use of temp files. It also provides a much better experience when dealing with file encodings, images, etc.
- Adds an Explore the Repository from Here (
gitlens.views.exploreRepoRevision
) command which opens a virtual workspace folder (uses the new Git virtual file system provider) for the repository at the specified point in time (commit, branch, tag, etc) — closes #398 - Adds a new Repositories view, formerly the GitLens view, to visualize, navigate, and explore Git repositories — closes #456, #470, #494
- Provides a cleaner information-rich view of your opened repositories, more git commands (fetch, push, pull, checkout, stage, unstage, etc), better visibility and accessibility of existing features, and more
- Adds a
gitlens.views.repositories.autoReveal
setting to specify whether to automatically reveal repositories in the Repositories view when opening files
- Adds a new File History view, formerly the History view, to visualize, navigate, and explore the revision history of the current file
- Provides similar features to the former History view as well as quickly toggling file tracking on and off, changing the base (branch, tag, commit, etc) of the file's history, and more
- Adds an all-new Line History view to visualize, navigate, and explore the revision history of the selected lines of current file — closes #354
- Provides similar features to the File History view including quickly toggling line tracking on and off, changing the base (branch, tag, commit, etc) of the selected lines' history, and more
- Adds an all-new Search Commits view to search and explore commit histories by message, author, files, id, etc — closes #455
- Provides somewhat similar features to the former Results view as well as it is now a persistent view, makes it easier to start a commit search, and more
- Adds an all-new Compare view to visualize comparisons between branches, tags, commits, and more
- Provides somewhat similar and powerful features to the former Results view as well as it is now a persistent view, makes it easier to start a comparison, and more
- Reduces the overhead of all GitLens views — GitLens now only tracks changes and updates the views if they are visible, collapsed or hidden views should have almost zero overhead
- Adds relative date markers (Less than a week ago, Over a week ago, Over a month ago, etc) to revision (commit) histories in GitLens views
- Adds branch and tag tip markers to revision (commit) histories in GitLens views — closes #560
- Adds a changes indicator (+x ~x -x) to commits in GitLens views (uses the new
${changes}
token in thegitlens.views.commitFormat
setting) — closes #493 - Adds the Show Commit in View command to commits in GitLens views to quickly open the commit in the Search Commits view — closes #502
- Adds the Open Changes (with difftool) command to files in GitLens views — closes #389
- Adds an Expand command to some GitLens view nodes to expand them — closes #275
- Adds a Fetch Repositories (
gitlens.fetchRepositories
) command to fetch all of the open repositories - Adds a Pull Repositories (
gitlens.pullRepositories
) command to pull all of the open repositories - Adds a Push Repositories (
gitlens.pushRepositories
) command to push all of the open repositories (becareful with this one) - Adds a Show Line History View (
gitlens.showLineHistoryView
) command to open the Line History view - Adds a Show Commit in View (
gitlens.showCommitInView
) command to open a commit in the Search Commits view - Adds a Show File History in View (
gitlens.showFileHistoryInView
) command to open a file's revision (commit) history in the File History view - Adds a Show Commit in View (
gitlens.showCommitInView
) command to quickly open the current line's commit in the Search Commits view - Adds a Show Revision Details (
gitlens.showQuickRevisionDetails
) command to quickly show the revision (commit) details of the current file revision - Adds the Open Changes with Working File (
gitlens.diffWithWorking
) command to the editor toolbar when comparing revisions - Adds comparisons to commit ids, by prefixing with a
#
, in addition to branches and tags — closes #535 - Adds support for git mailmap — closes #388
- Adds support for Azure DevOps (formerly VSTS) remotes — closes #501
- Adds better detection of on-prem BitBucket and GitLab remotes — closes #214
- Adds some missing gitmojis — thanks to PR #510 by Loris Bettazza (@Pustur)
- Adds a
gitlens.codeLens.includeSingleLineSymbols
setting to specify whether to provide any Git code lens on symbols that span only a single line - Adds smooth scrolling to the interactive settings editor when using the Jump To links
- Changes the sorting of branch, tags, and files in GitLens views to be a natural sort — closes #547
- Changes the Apply Changes command to truly apply only the patch of the specified change — closes #539
- Changes Azure Pipelines documents to use document scope only by default — thanks to PR #548 by Matt Cooper (@vtbassmatt)
- Renames Compare File with Branch or Tag... (
gitlens.diffWithBranch
) command to Open Changes with Branch or Tag... - Renames Compare File with Next Revision (
gitlens.diffWithNext
) command to Open Changes with Next Revision - Renames Compare File with Previous Revision (
gitlens.diffWithPrevious
) command to Open Changes with Previous Revision - Renames Compare Commit with Previous (
gitlens.diffLineWithPrevious
) command to Open Line Changes with Previous Revision - Renames Compare File with Revision... (
gitlens.diffWithRevision
) command to Open Changes with Revision... - Renames Compare File with Working Revision (
gitlens.diffWithWorking
) command to Open Changes with Working File - Renames Compare Commit with Working File (
gitlens.diffLineWithWorking
) command to Open Line Changes with Working File - Renames * in Remote commands to * on Remote
- Renames and migrates
gitlens.explorers.*
settings togitlens.views.*
- Renames and migrates
gitlens.gitExplorer.*
settings togitlens.views.repositories.*
- Renames and migrates
gitlens.historyExplorer.*
settings togitlens.views.fileHistory.*
andgitlens.views.lineHistory.*
- Renames and migrates
gitlens.resultsExplorer.*
settings togitlens.views.search.*
andgitlens.views.compare.*
- Replaces Show GitLens Explorer (
gitlens.showGitExplorer
) command with Show Repositories View (gitlens.showRepositoriesView
) - Replaces Show File History Explorer (
gitlens.showHistoryExplorer
) command with Show File History View (gitlens.showFileHistoryView
) - Replaces Show Results Explorer (
gitlens.showResultsExplorer
) command with Show Search Commits View (gitlens.showSearchView
) and Show Compare View (gitlens.showCompareView
) - Switches to use the new git extension's api to get the git path
- Fixes #405 - Secondary, blank repository appears repeatedly in Repositories view
- Fixes #430 - File revisions can end up being parsed by language servers (causing errors and warnings, etc)
- Fixes #496 - Short hash length doesn't match git's default length
- Fixes #503 - Open Changes (with difftool) opens one difftool window per changed file
- Fixes #507 - Restrict commit message size
- Fixes #527 - GitLens icon flashes on startup
- Fixes #533 - Some descriptions not using markdown properly in Settings GUI
- Fixes #544 - Some commit messages have one letter missing
- Fixes CHANGELOG issue — thanks to PR #558 by Ash Clarke (@ashclarke)
- Removes
gitlens.advanced.git
setting as it is no longer needed
- Fixes #477 - Can't load any GitLens features or UI
- Fixes #482 - UI displays "undefined" in results panel when comparing
- Adds Copy Remote File Url to Clipboard (
gitlens.copyRemoteFileUrlToClipboard
) command — copies the remote url of the current file and line to the clipboard — closes #467
- Fixes #471 - Don't use Ctrl+Alt+[character] as a shortcut
- Fixes #478 -
suppressShowKeyBindingsNotice
gets saved even when it is not required - Fixes #468 - Commit history for detached HEAD doesn't work properly
- Adds Checkout Commit (via Terminal) command (
gitlens.terminalCheckoutCommit
) to commit node(s) of the GitLens explorer — closes #463
- Improves performance of providing blame annotations, especially for large files (a ~33% improvement on some files)
- Changes commit search by sha to jump directly to the commit (if one is found), rather than having to click through to the commit
- Updates settings descriptions to better support the new settings editor in vscode
- Changes Rebase to Commit (via Terminal) command (
gitlens.terminalRebaseCommit
) to apply to all commit node(s) of the GitLens explorer - Changes Reset to Commit (via Terminal) command (
gitlens.terminalResetCommit
) to apply to all commit node(s) of the GitLens explorer
- Fixes #462 - Source Control shortcut on macOS (⌃⇧G) shouldn't be overridden
- Fixes #457 - Displays the wrong username (You) — thanks to PR #460 by Zyck (@qzyse2017)
- Fixes #459 - File blame annotation text overflow with letter spacing setting
- Fixes issues with GitLens Welcome and the interactive settings editor with light themes
- Fixes #454 - Search for string returns merge commits (unlike raw
git log -S
) - Fixes issue showing changes with untracked stashed files
- Fixes issue showing changes with working file when the file has been renamed
- Fixes #451 - "apply Changes" has discarded all my changes
- Fixes #449 - Stop hiding explorers by default when in Zen mode
- Adds emoji support, e.g.
:smile:
in commit messages will now be 😃 — closes #429 - Adds Compare with Selected and Select for Compare commands to file nodes in the GitLens, GitLens File History, and GitLens Results explorers — closes #446
- Adds
gitlens.historyExplorer.avatars
setting to specify whether to show avatar images instead of status icons in theGitLens File History
explorer — allows for an independent value from the other explorers
- Fixes #444 - GitLens custom viewlet icon slightly larger than standard
- Fixes #437 - Remove
--first-parent
from git commands to show file history from merged in repositories - Fixes #252 - Cannot read property 'push' of undefined
- Fixes issue where GitLens saves a couple settings with default values into user settings (rather than just removing the setting)
- Adds an all-new GitLens sidebar view to contain the GitLens, GitLens File History, and GitLens Results explorers
- The new view is enabled by default, but can easily be configured back to the existing locations via the GitLens interactive settings editor
- Adds tag annotations to the tag tooltips in the GitLens explorer — closes #431
- Adds a
gitlens.hovers.avatars
setting to specify whether to show avatar images in hovers — closes #432 thanks to PR #441 by Segev Finer (@segevfiner) - Adds the
gitlens.hovers.avatars
setting to the GitLens interactive settings editor to specify whether to show avatar images in hovers - Adds Choose from Branch or Tag History... command to the quick pick menu shown by the Show File History... command (
gitlens.showQuickFileHistory
) — closes #316 - Adds the Compare File with Revision... command (
gitlens.diffWithRevision
) as an alternate (alt+click
) for the Compare File with Previous Revision command in the editor toolbar
- Renames the GitLens History explorer to GitLens File History explorer for better clarity
- Changes the GitLens File History explorer to always show the full file history even when reviewing revisions
- Changes the behavior of and renames the Show Branches and Tags command and on the quick pick menu shown by the Compare File with Revision... command (
gitlens.diffWithRevision
) to Choose from Branch or Tag History... - Changes the behavior of and renames the Show Branches and Tags command on the quick pick menu shown by the Open Revision... command (
gitlens.openFileRevision
) to Choose from Branch or Tag History...
- Removes
gitlens:activeIsTracked
,gitlens:activeIsBlameable
,gitlens:activeIsRevision
, andgitlens:activeHasRemotes
contexts and consolidates them intogitlens:activeFileStatus
for better performance and UX
- Fixes #436 - Copy to clipboard not working
- Fixes #442 - GitLens File History fails if name (or path) starts with
-
- Fixes #440 - Searching for commits with an empty query yields to no results anymore
- Fixes issue where commands in the editor toolbar would flash unnecessarily when navigating history or switching tabs
- Fixes issue where the Compare File with Previous Revision command wouldn't work properly when the file had been renamed in some cases
- Fixes issue where the Compare File with Next Revision command wouldn't work properly when the file had been renamed in some cases
- Fixes issue where changed files count was wrong when the branch was behind the upstream
- Fixes issue where the GitLens File History explorer wasn't being updated automatically for working changes
- Fixes issue where the Compare File with * Revision commands in the editor toolbar would show and hide too often because of insignificant focus changes
- Fixes issue where the scope box would be empty when there was no workspace open in the interactive settings editor
- Fixes issue with insiders builds because of the new
SymbolInformation
API changes (see Microsoft/vscode#34968)
- Adds completely revamped heatmap annotations
- The indicator's color, now customizable, will either be hot or cold based on the age of the most recent change (cold after 90 days by default) — closes #419
- The indicator's brightness ranges from bright (newer) to dim (older) based on the relative age, which is calculated from the median age of all the changes in the file
- Adds
gitlens.heatmap.ageThreshold
setting to specify the age of the most recent change (in days) after which the gutter heatmap annotations will be cold rather than hot (i.e. will usegitlens.heatmap.coldColor
instead ofgitlens.heatmap.hotColor
) - Adds
gitlens.heatmap.coldColor
setting to specify the base color of the gutter heatmap annotations when the most recent change is older (cold) than thegitlens.heatmap.ageThreshold
setting - Adds
gitlens.heatmap.hotColor
setting to specify the base color of the gutter heatmap annotations when the most recent change is newer (hot) than thegitlens.heatmap.ageThreshold
setting
- Adds new branch history node under the Repository Status node in the GitLens explorer
- Adds GitLab and Visual Studio Team Services icons to the remote nodes in the GitLens explorer — thanks to PR #421 by Maxim Pekurin (@pmaxim25)
- Fixes #400 - GitLens logging to debug console when debugging different extension
- Fixes #409 - Literal $(ellipsis) inserted into commit QuickPick menu entry placeholder text
- Fixes #415 - Branch names get mangled by color escapes — thanks to PR #416 by Roy Ivy III (@rivy)
- Fixes more instances of #295and #318 - Any error encountered during the search for repositories could cause GitLens to die
- Adds clipboard support for Linux without requiring any external dependencies — thanks to PR #394 by Cédric Malard (@cmalard)
- Adds a select branch quick pick menu to the Open File in Remote command (
gitlens.openFileInRemote
) when the current branch has no upstream tracking branch — closes #209
- Moves the Open Working File command (
gitlens.openWorkingFile
) to the right of the Compare File with * Revision commands in the editor toolbar
- Fixes #400 - Reset TO commit also resets chosen one
- Fixes #399 - "Open x in Remote" commands aren't always available
- Fixes #397 - Error while opening the gitlens view using
Open View
command - Fixes #391 - GitLens adds some settings in settings.json
- Fixes another case of #343 - Can't show blame when VSCode starts on branch without upstream — thanks to PR #390 by ryenus (@ryenus)
- Fixes #392 - unable to contribute if default script shell is sh — thanks to PR #393 by Cédric Malard (@cmalard)
- Fixes issue with the
chorded
keyboard shortcut for the Compare File with Previous Revision command (gitlens.diffWithPreviousInDiff
) — from #395 - Fixes the Open Working File command (
gitlens.openWorkingFile
) not always showing in the editor toolbar when appropriate
- Adds (re-adds) support for handling single files — closes #321
- Adds Close Repository (
gitlens.explorers.closeRepository
) command to repository and repository status nodes in the GitLens explorer — closes (hides) the repository in the GitLens explorer
- Fixes #362 - Too many code lenses in postcss files
- Fixes #381 - Can't stash single files with older versions of Git
- Fixes #384 - Absolute dates not always honored in GitLens Results explorer
- Fixes #385 - Wrong git command to delete remote branch
- Fixes #366 - Running a GitLens command from a keybinding fails (more cases)
- Fixes many issues where commands wouldn't work if the active file wasn't part of an open repository — now GitLens will try to find the best repository otherwise it will open a repository quick pick menu if there is more than one
- Adds the ability to control where the GitLens, GitLens File History, and GitLens Results explorers are shown 🎉 — closes #213, #377
- Adds
gitlens.gitExplorer.location
setting to the interactive settings editor to specify where the GitLens explorer is shown — either in the Explorer or Source Control view - Adds
gitlens.historyExplorer.location
setting to the interactive settings editor to specify where the GitLens File History explorer is shown — either in the Explorer or Source Control view - Adds
gitlens.resultsView.location
setting to the interactive settings editor to specify where the GitLens Results explorer is shown — either in the Explorer or Source Control view
- Adds
- Renames GitLens Results view to GitLens Results explorer for consistency
- Fixes #372 - Wrong URL to VSTS work item when using hash work item id in commit
-
Adds user-defined modes for quickly toggling between sets of settings
-
Adds Switch Mode command (
gitlens.switchMode
) to quickly switch the active GitLens mode -
Adds a built-in Zen mode which for a zen-like experience, disables many visual features
- Adds Toggle Zen Mode command (
gitlens.toggleZenMode
) to toggle Zen mode
- Adds Toggle Zen Mode command (
-
Adds a built-in Review mode which for reviewing code, enables many visual features
- Adds Toggle Review Mode command (
gitlens.toggleReviewMode
) to toggle Review mode
- Adds Toggle Review Mode command (
-
Adds the active mode to the status bar, optional (on by default)
- Adds
gitlens.mode.statusBar.enabled
setting to specify whether to provide the active GitLens mode in the status bar - Adds
gitlens.mode.statusBar.alignment
setting to specify the active GitLens mode alignment in the status bar
- Adds
-
Adds modes settings (
gitlens.mode.*
) to the interactive settings editor -
Adds
gitlens.mode.active
setting to specify the active GitLens mode, if any -
Adds
gitlens.modes
setting to specify the user-defined GitLens modes
-
-
Adds an icon for the Compare File with Previous Revision command (
gitlens.diffWithPrevious
) and moves it into the editor toolbar -
Adds an icon for the Compare File with Next Revision command (
gitlens.diffWithNext
) and moves it into the editor toolbar -
Adds menu settings (
gitlens.menus.*
) to the interactive settings editor -
Adds a display mode dropdown at the top of the interactive settings editor to reduce complexity
- Adds
gitlens.settings.mode
setting to specify the display mode of the interactive settings editor
- Adds
-
Adds a tree layout option to tags in the GitLens explorer — closes #358
-
Adds Show GitLens Explorer (
gitlens.showGitExplorer
) command — shows/expands the GitLens explorer -
Adds Show File History Explorer (
gitlens.showHistoryExplorer
) command — shows/expands the GitLens File History explorer -
Adds Show Results Explorer (
gitlens.showResultsView
) command — shows/expands the GitLens Results explorer
- Moves the GitLens, GitLens File History, and GitLens Results explorers under the Source Control activity (in the sidebar) 🎉 — closes #213
- Showing results in the GitLens Results explorer now properly shows the explorer first
- Renames Compare Line Revision with Previous command (
gitlens.diffLineWithPrevious
) to Compare Commit with Previous for consistency with other commands - Renames Compare Line Revision with Working File command (
gitlens.diffLineWithWorking
) to Compare Commit with Working File for consistency with other commands - Renames Show Commit File Details command (
gitlens.showQuickCommitFileDetails
) to Show Commit Details for consistency with other commands - Reworks GitLens menu contributions and configuration — see menu settings above
- Renames the
gitlens.advanced.menus
setting togitlens.menus
- Renames the
- Uses the new Webview API for better interactions and behavior with the interactive settings editor and welcome page
- Fixes #366 - Running a GitLens command from a keybinding fails
- Fixes #155 - Navigating file diffs with
alt+,
gets stuck - Fixes #359 - Show changes of an added file in the first commit
- Fixes bronze typo thanks to PR #361 by Cory Forsyth (@bantic)
- Fixes individually typo thanks to PR #364 by Brett Cannon (@brettcannon)
- Fixes issue where comparing previous revision during a merge/rebase conflict failed to show the correct contents
- Fixes issue with the current line blame toggle not working when current line blame starts disabled
- Fixes various issues when not on a branch
- Adds a visible error message for when Git is disabled (
"git.enabled": false
) — for #318
- Fixes #313 - Unable to show branch history for branch that matches file or folder name
- Fixes #348 - "Open in remote" commands disappeared from command palette
- Fixes JSON schema of the
gitlens.advanced.blame.customArguments
setting
- Adds an indicator to the GitLens explorer's branch history to mark the the tips of all branches
- Adds
gitlens.advanced.blame.customArguments
setting to specify additional arguments to pass to thegit blame
command — closes #337
- Changes the author name to "You" when appropriate — closes #341
- Fixes #345 - Custom date formats don't work in the GitLens view
- Fixes #336 - Default Settings Get Added Automatically
- Fixes #342 - GitLens crashes while debugging with Chrome Debugger a larger project
- Fixes #343 - Can't show blame when VSCode starts on branch without upstream
- Fixes issue where username and/or password in a remote urls could be shown
- Adds better logging for failed git commands
- Marks temporary files (used when showing comparisons with previous revisions) as read-only to help avoid accidental edits/saving
- Fixes #320 - Stashes with a single untracked file created with "stash push" aren't shown in the GitLens explorer
- Fixes #331 - Code lens shows on every import in Python
- Fixes issues where quick pick menu progress indicators will get stuck in some cases because of a vscode api change in Microsoft/vscode#46102
-
Adds new stand-alone GitLens File History explorer to visualize the history of the current file — undocked version of the GitLens explorer history view
-
Adds richer tooltips to the GitLens and GitLens Results explorers, and richer working tree and upstream status to the GitLens explorer
-
Adds an indicator to the GitLens explorer's branch history to mark the synchronization point between the local and remote branch (if available)
-
Adds ability to easily switch between relative and absolute dates via the
gitlens.defaultDateStyle
settings — closes #312- Adds
${agoOrDate}
and${authorAgoOrDate}
tokens togitlens.blame.format
,gitlens.currentLine.format
,gitlens.explorers.commitFormat
,gitlens.explorers.stashFormat
, andgitlens.statusBar.format
settings which will honor thegitlens.defaultDateStyle
setting
- Adds
-
Adds annotation format settings (
gitlens.*.format
) to the interactive settings editor -
Adds new
gitlens.currentLine.scrollable
setting to specify whether the current line blame annotation can be scrolled into view when it is outside the viewport — closes #149, #290, #265 -
Adds
gitlens.statusBar.reduceFlicker
setting to the interactive settings editor -
Adds a one-time notification on startup if the
alt-based
keyboard shortcuts are in use, with options to easily switch to another set -
Adds Copy Commit ID to Clipboard (
gitlens.copyShaToClipboard
) command to changed file nodes in the GitLens explorer and GitLens Results explorer -
Adds Copy Commit Message to Clipboard (
gitlens.copyMessageToClipboard
) command to changed file nodes in the GitLens explorer and GitLens Results explorer
- Moves Keyboard Settings to the General section of the interactive settings editor
- Renames Compare with Index (HEAD) (
gitlens.explorers.compareWithHead
) command to Compare with HEAD — closes #309 - Renames Compare Index (HEAD) with Branch or Tag... (
gitlens.diffHeadWithBranch
) command to Compare HEAD with Branch or Tag... — closes #309
- Removes the unnecessary Show File Blame Annotations (
gitlens.showFileBlame
) command — Toggle File Blame Annotations (gitlens.toggleFileBlame
) provides similar functionality - Removes the unnecessary Show Line Blame Annotations (
gitlens.showLineBlame
) command — Toggle Line Blame Annotations (gitlens.toggleLineBlame
) provides similar functionality - Removes Open Working File (
gitlens.openWorkingFile
) command from the editor toolbar when the built-in Open File command is visible - Removes Compare with HEAD (
gitlens.explorers.compareWithHead
), Compare with Working Tree (gitlens.explorers.compareWithWorking
), and Compare Compare Ancestry with Working Tree (gitlens.explorers.compareAncestryWithWorking
) commands from the current branch since comparing a branch with itself doesn't make sense — closes #309
- Fixes #314 - Toggle line annotation doesn't work properly
- Fixes #310 - "via Terminal" commands need quoting around work directory
- Fixes issues with the active repository in the GitLens explorer failed to update properly
- Fixes issues with Open File, Open Revision, and Show File History commands and images and other binary files
- Fixes issues preventing nodes in the GitLens explorer from expanding properly in certain cases
- Fixes issues when refreshing nodes in the GitLens Results explorer
- Fixes #276 - Lookup for branches without upstreams fails
- Fixes the schema of the
gitlens.codeLens.scopesByLanguage
setting
-
Adds automatic issue linking to Bitbucket, GitHub, GitLab, and Visual Studio Team Services for commit messages in hovers
-
Adds support to toggle annotations for each file individually or for all files at once — closes #289
- Adds new controls the interactive settings editor (Open Settings from the Command Palette) to configure this new behavior
- Adds
gitlens.blame.toggleMode
setting to specify how the gutter blame annotations will be toggled, per file or window - Adds
gitlens.heatmap.toggleMode
setting to specify how the gutter heatmap annotations will be toggled, per file or window - Adds
gitlens.recentChanges.toggleMode
setting to specify how the recently changed lines annotations will be toggled, per file or window
-
Adds icons to remotes in the GitLens explorer based on the remote service provider
-
Adds multi-cursor support to current line annotations — closes #291
- Renames Compare Selected Ancestor with Working Tree command to Compare Ancestry with Working Tree and removes the need to select a branch first, since all compares are performed with the working tree — closes #279
- Removes tag icons from the GitLens explorer
- Fixes #294 - Keyboard shortcuts will now default to chorded to avoid conflicts. Only affects new installs or if you remove the
gitlens.keymap
setting - Fixes issue where Recent Changes annotations weren't restored properly on tab switch
- Fixes quick pick menu issue with commits with newlines in the message
- Fixes button colors on the Welcome and Settings pages to follow the color theme properly
- Adds Compare Index (HEAD) with Branch or Tag... (
gitlens.explorers.diffHeadWithBranch
) command - compares the index (HEAD) to the selected branch or tag — thanks to PR #278 by Geoffrey (@g3offrey)! - Adds Compare Working Tree with Branch or Tag... (
gitlens.explorers.diffWorkingWithBranch
) command - compares the working tree to the selected branch or tag - Adds
gitlens.statusBar.reduceFlicker
setting to specify whether to reduce the status bar "flickering" when changing lines by not first clearing the previous blame information — closes #272 - Adds the Open File (
gitlens.explorers.openFile
) command to the GitLens explorer's inline toolbar for file nodes - Adds the Clear Results (
gitlen.resultsExplorer.clearResultsNode
) command to the GitLens Results explorer's inline toolbar for results nodes - Adds the Swap Comparison (
gitlen.resultsExplorer.swapComparison
) command to the GitLens Results explorer's inline toolbar and context menu for comparison results nodes - Adds Push to Commit (via Terminal) (
gitlens.explorers.terminalPushCommit
) command to commit nodes on the current branch in the GitLens explorer
- Uses vscode's
git.path
setting when searching for the git executable
- Fixes #276 - Lookup for branches without upstreams fails
- Fixes #274 - TextEditor is closed/disposed occurs when this extension is enabled
- Fixes #288 - CSS errors on welcome page (mask-* properties)
- Fixes issues with settings migration — should now migrate any existing settings that haven't already been set
-
Adds an all-new GitLens welcome page via the Welcome (
gitlens.showWelcomePage
) command — provides a welcome / onboarding experience — closes #51 -
Adds an all-new GitLens Settings editor via the Open Settings (
gitlens.showSettingsPage
) command — provides an easy-to-use interactive settings editor for many of GitLens' features — closes #167 -
Adds a tree layout option to branches in the GitLens explorer — closes #258 thanks to PR #260 by Yukai Huang (@Yukaii)!
-
Adds Follow Renames command (
gitlens.gitExplorer.setRenameFollowingOn
) to the GitLens explorer History view to follow file renames in the history -
Adds Don't Follow Renames command (
gitlens.gitExplorer.setRenameFollowingOff
) to the GitLens explorer History view to not follow file renames in the history -
Adds
gitlens.advanced.fileHistoryFollowsRenames
setting to specify whether file histories will follow renames -- will affect how merge commits are shown in histories — closes #259 -
Adds
gitlens.hovers.enabled
setting to specify whether to provide any hovers -
Adds
gitlens.hovers.annotations.enabled
setting to specify whether to provide any hovers when showing blame annotations -
Adds
gitlens.hovers.currentLine.enabled
setting to specify whether to provide any hovers for the current line -
Adds
gitlens.showWhatsNewAfterUpgrades
setting to specify whether to show What's New after upgrading to new feature releases -
Adds
debug
option to thegitlens.outputLevel
setting — outputs git commands to a new output channel called GitLens (Git)
- Renames GitLens view to GitLens explorer
- Renames Show Files in Automatic View (
gitlens.gitExplorer.setFilesLayoutToAuto
) command to Automatic Layout - Renames Show Files in List View (
gitlens.gitExplorer.setFilesLayoutToList
) command to List Layout - Renames Show Files in Tree View (
gitlens.gitExplorer.setFilesLayoutToTree
) command to Tree Layout - Renames Show Files in Automatic View (
gitlens.resultsView.setFilesLayoutToAuto
) command to Automatic Layout - Renames Show Files in List View (
gitlens.resultsView.setFilesLayoutToAuto
) command to List Layout - Renames Show Files in Tree View (
gitlens.resultsView.setFilesLayoutToAuto
) command to Tree Layout - Overhauls GitLens' settings for better clarity and ease-of-use
- Renames
gitlens.annotations.file.gutter.gravatars
setting togitlens.blame.avatars
- Renames
gitlens.annotations.file.gutter.compact
setting togitlens.blame.compact
- Renames
gitlens.annotations.file.gutter.dateFormat
setting togitlens.blame.dateFormat
- Renames
gitlens.annotations.file.gutter.format
setting togitlens.blame.format
- Renames
gitlens.annotations.file.gutter.heatmap.enabled
setting togitlens.blame.heatmap.enabled
- Renames
gitlens.annotations.file.gutter.heatmap.location
setting togitlens.blame.heatmap.location
- Renames
gitlens.blame.file.lineHighlight.enabled
setting togitlens.blame.highlight.enabled
- Renames
gitlens.blame.file.lineHighlight.locations
setting togitlens.blame.highlight.locations
- Renames
gitlens.annotations.file.gutter.separateLines
setting togitlens.blame.separateLines
- Renames
gitlens.codeLens.locations
setting togitlens.codeLens.scopes
- Renames
gitlens.codeLens.perLanguageLocations
setting togitlens.codeLens.scopesByLanguage
- Renames
gitlens.codeLens.customLocationSymbols
setting togitlens.codeLens.symbolScopes
- Renames
gitlens.annotations.line.trailing.dateFormat
setting togitlens.currentLine.dateFormat
- Renames
gitlens.blame.line.enabled
setting togitlens.currentLine.enabled
- Renames
gitlens.annotations.line.trailing.format
setting togitlens.currentLine.format
- Renames
gitlens.gitExplorer.gravatars
setting togitlens.explorers.avatars
- Renames
gitlens.gitExplorer.commitFileFormat
setting togitlens.explorers.commitFileFormat
- Renames
gitlens.gitExplorer.commitFormat
setting togitlens.explorers.commitFormat
- Renames
gitlens.gitExplorer.stashFileFormat
setting togitlens.explorers.stashFileFormat
- Renames
gitlens.gitExplorer.stashFormat
setting togitlens.explorers.stashFormat
- Renames
gitlens.gitExplorer.statusFileFormat
setting togitlens.explorers.statusFileFormat
- Renames
gitlens.annotations.file.gutter.hover.changes
setting togitlens.hovers.annotations.changes
- Renames
gitlens.annotations.file.gutter.hover.details
setting togitlens.hovers.annotations.details
- Renames
gitlens.annotations.file.gutter.hover.wholeLine
setting togitlens.hovers.annotations.over
- Renames
gitlens.annotations.line.trailing.hover.changes
setting togitlens.hovers.currentLine.changes
- Renames
gitlens.annotations.line.trailing.hover.details
setting togitlens.hovers.currentLine.details
- Renames
gitlens.annotations.line.trailing.hover.wholeLine
setting togitlens.hovers.currentLine.over
- Renames
gitlens.recentChanges.file.lineHighlight.locations
setting togitlens.recentChanges.highlight.locations
- Removes
gitlens.codeLens.debug
setting, usegitlens.debug
instead - Removes
gitlens.blame.file.annotationType
setting, usegitlens.hovers.annotations.enabled
- Removes
gitlens.blame.line.annotationType
setting, usegitlens.currentLine.enabled
orgitlens.hovers.currentLine.enabled
instead - Removes
gitlens.resultsView.gravatars
setting, usegitlens.explorers.avatars
instead - Removes
gitlens.resultsView.commitFileFormat
setting, usegitlens.explorers.commitFileFormat
instead - Removes
gitlens.resultsView.commitFormat
setting, usegitlens.explorers.commitFormat
instead - Removes
gitlens.resultsView.showTrackingBranch
setting - Removes
gitlens.resultsView.stashFileFormat
setting, usegitlens.explorers.stashFileFormat
instead - Removes
gitlens.resultsView.stashFormat
setting, usegitlens.explorers.stashFormat
instead - Removes
gitlens.resultsView.statusFileFormat
setting, usegitlens.explorers.statusFileFormat
instead - Removes
gitlens.annotations.file.hover.changes
setting, usegitlens.hovers.annotations.changes
instead - Removes
gitlens.annotations.file.hover.details
setting, usegitlens.hovers.annotations.details
instead - Removes
gitlens.annotations.file.hover.heatmap.enabled
setting - Removes
gitlens.annotations.file.recentChanges.hover.changes
setting, usegitlens.hovers.annotations.changes
instead - Removes
gitlens.annotations.file.recentChanges.hover.details
setting, usegitlens.hovers.annotations.details
instead - Removes
gitlens.annotations.line.hover.changes
setting, usegitlens.hovers.annotations.changes
instead - Removes
gitlens.annotations.line.hover.details
setting, usegitlens.hovers.annotations.details
instead
- Fixes #35 - Copy Commit Sha to Clipboard not working (linux)
- Fixes issue where the last commit of a file history would be broken (failed to parse correctly)
- Fixes issue with Open Working File command (
gitlens.openWorkingFile
) failing when a file was renamed
- Adds support for custom remotes with split project/repo url structure — closes #267
- Fixes #265 - Delete line pushes screen to the right (even if word wrap is on)
- Fixes regression working with submodules
- Fixes #262 - GitLens only available in SCM diff windows
- Fixes #261 - Unable to open compare. The file is probably not under source control
- Fixes missing avatars in file blame annotations in non-compact mode
- Fixes file blame annotation highlight not being restored properly on tab switch
- Adds a repository quick pick menu to the Show Commit Search command (
gitlens.showCommitSearch
) when there is no active repository
- Fixes #257 - Some branches fail to show history
- Fixes #259 - File history lists unrelated merge commits
- Changes
chorded
keymap on Windows to useCtrl+Shift+G
rather thanCtrl+Alt+G
to avoid issues- Also remaps
Show SCM
toCtrl+Shift+G G
since by default it isCtrl+Shift+G
if thechorded
keymap is used
- Also remaps
- Refactors git log and stash output parsing — should be faster and far more robust
- Fixes #256 - Fails to copy commit message
- Fixes #255 - Lines after an empty line in the commit message are not copied to clipboard
- Fixes #252 - Cannot read property 'push' of undefined
- Fixes issue where GitLens wouldn't detect the creation of a Git repository if there were no other repositories open
- Fixes issue where some GitLens commands would show in the palette even though there was no repository
- Fixes issue where navigating the history of a renamed file could cause errors
- Fixes issue with using the
gitlens.diffWithPrevious
command option for Git code lens
- Fixes #247 - File annotations button or ESC key does not turn off file annotations
- Fixes issue where sometimes blame context wasn't available for the open editor when starting vscode
- Fixes #249 - Gitlens disappears from the status bar
- Fixes issue where Gravatars in the gutter blame annotations weren't restored on tab switch
- Fixes issue where the id (sha) was missing in the hover blame annotations for uncommitted changes
- Fixes #245 - CodeLens disappears/and reappears when auto-saving
- Fixes #242 - Broken "gitlens.blame.line.enabled" setting
- Adds Gravatar support to gutter and hover blame annotations
- Adds
gitlens.annotations.file.gutter.gravatars
setting to specify whether to show gravatar images in the gutter blame annotations - Adds support for providing blame annotations, code lens, etc on files with unsaved changes — closes #112
- Adds
gitlens.defaultDateStyle
setting to specify how dates will be displayed by default — closes #89 - Adds Compare with Working Tree command (
gitlens.explorers.compareWithWorking
) to branch, tag, and revision (commit) nodes in the GitLens explorer to compare the current selection with the current working tree in the GitLens Results explorer - Adds Compare Selected Ancestor with Working Tree command (
gitlens.explorers.compareSelectedAncestorWithWorking
) to branch nodes in the GitLens explorer once another branch within the same repository has been selected to compare the merge base of current and previously selected branches with the working tree in the GitLens Results explorer — closes #240 - Adds Merge Branch (via Terminal) command (
gitlens.explorers.terminalMergeBranch
) to branch nodes in the GitLens explorer - Adds Rebase (Interactive) Branch (via Terminal) command (
gitlens.explorers.terminalRebaseBranch
) to branch nodes in the GitLens explorer - Adds Cherry Pick Commit (via Terminal) command (
gitlens.explorers.terminalRebaseBranch
) to revision (commit) nodes in the GitLens explorer and GitLens Results explorer - Adds Revert Commit (via Terminal) command (
gitlens.explorers.terminalRevertCommit
) to revision (commit) nodes in the GitLens explorer and GitLens Results explorer - Adds Create Tag (via Terminal)... command (
gitlens.explorers.terminalCreateTag
) to branch and revision (commit) nodes in the GitLens explorer and GitLens Results explorer - Adds Delete Tag (via Terminal) command (
gitlens.explorers.terminalDeleteTag
) to tag nodes in the GitLens explorer - Adds a helpful notification the first time the GitLens Results explorer is shown
- Switches to the explorer view before showing the GitLens Results explorer
- Renames Rebase Commit (via Terminal) command (
gitlens.terminalRebaseCommit
) to Rebase to Commit (via Terminal) - Renames Reset Commit (via Terminal) command (
gitlens.terminalResetCommit
) to Reset to Commit (via Terminal) - Renames Compare Line Revision with Working command (
gitlens.diffLineWithWorking
) to Compare Line Revision with Working File - Renames Open Changes with Working Tree command (
gitlens.openChangesWithWorking
) to Open Changes with Working File - Deprecates
gitlens.gitExplorer.gravatarsDefault
setting, replaced bygitlens.defaultGravatarsStyle
- Deprecates
gitlens.resultsView.gravatarsDefault
setting, replaced bygitlens.defaultGravatarsStyle
- Fixes issue where the GitLens Results explorer wouldn't properly update when replacing existing results
- Fixes issue where showing commit search (file-based) results in the GitLens Results explorer wouldn't only show the matching files — closes #197
- Fixes #238 - Show merge commits in file history
- Fixes issue where the Tags node of the GitLens explorer wasn't updated on changes
- Fixes issue where changes to .gitignore weren't detected properly
- Fixes #241 - Adds default setting for .jsonc files to match Git code lens of .json files
- Fixes issue where blame annotations and commands were missing from vscode Git staged revision documents
- Fixes issue where opening changes for renamed files in the GitLens explorer and GitLens Results explorer wouldn't work properly
- Fixes issue where file-specific menu commands show up on folders in the explorer
- Adds on-demand heatmap annotations of the whole file — closes #182
- Displays a heatmap (age) indicator near the gutter, which provides an easy, at-a-glance way to tell the age of a line
- Indicator ranges from bright yellow (newer) to dark brown (older)
- Displays a heatmap (age) indicator near the gutter, which provides an easy, at-a-glance way to tell the age of a line
- Adds Toggle File Heatmap Annotations command (
gitlens.toggleFileHeatmap
) to toggle the heatmap annotations on and off - Adds semi-persistent results for commit operations, via the Show Commit Details command (
gitlens.showQuickCommitDetails
) in the GitLens Results explorer — closes #237 - Adds Show in Results option to the commit details quick pick menu to show the commit in the GitLens Results explorer
- Adds Compare with Index (HEAD) command (
gitlens.explorers.compareWithHead
) to branch, tag, and revision (commit) nodes in the GitLens explorer to compare the current selection with the current index (HEAD) in the GitLens Results explorer - Adds Compare with Remote command (
gitlens.explorers.compareWithRemote
) to branch nodes in the GitLens explorer to compare the current selection with its remote tracking branch in the GitLens Results explorer
- Improves startup performance and reduces package size
- Fixes #239 -
gitlens.advanced.quickPick.closeOnFocusOut
setting should be reversed - Fixes #208 - Gitlens doesn't work over UNC
- Adds Open Working File command (
gitlens.openWorkingFile
) - opens the working file for the active file revision — closes #236 - Adds Open Revision... command (
gitlens.openFileRevision
) - opens the selected revision for the active file - Adds tags to the Compare File with Branch... command (
gitlens.diffWithBranch
) — closes #204 - Adds tags to the Directory Compare Working Tree with... command (
gitlens.diffDirectory
) — closes #204 - Adds Show Branches and Tags to quick pick menu shown by the Compare File with Revision... command (
gitlens.diffWithRevision
) — closes #204 - Adds Show Branches and Tags to quick pick menu shown by the Open Revision... command (
gitlens.openFileRevision
) — closes #204
- Improves startup performance by ~65% (on my very fast PC) and reduces package size by over 75%
- Renames Compare File with Branch... command (
gitlens.diffWithBranch
) to Compare File with Branch or Tag...
- Fixes issues with commit paging in certain quick pick menus
- Fixes issues with certain quick pick menu progress indicators getting stuck in some cases
- Fixes issues with menu choice placements on the editor title menu
-
Adds a new Active Repository node to the Repository View of the GitLens explorer — closes #224
- Automatically updates to track the repository of the active editor
- Only visible if there is more than 1 repository within the workspace
-
Adds a new Tags node to the Repository View of the GitLens explorer — closes #234
- Provides a list of tags
- Expand each tag to easily see its revision (commit) history
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with Open Commit in Remote, Open All Changes, Open All Changes with Working Tree, Open Files, Open Revisions, Copy Commit ID to Clipboard, Copy Commit Message to Clipboard, Show Commit Details, Compare with Selected, Select for Compare, Rebase Commit (via Terminal), Reset Commit (via Terminal), and Refresh commands
- Provides a context menu on each changed file with Open Changes, Open Changes with Working Tree, Open File, Open Revision, Open File in Remote, Open Revision in Remote, Apply Changes, and Show Commit File Details commands
- Provides a context menu on each revision (commit) with Open Commit in Remote, Open All Changes, Open All Changes with Working Tree, Open Files, Open Revisions, Copy Commit ID to Clipboard, Copy Commit Message to Clipboard, Show Commit Details, Compare with Selected, Select for Compare, Rebase Commit (via Terminal), Reset Commit (via Terminal), and Refresh commands
- Provides a context menu on each tag with Compare with Selected, Select for Compare, Open Directory Compare with Working Tree, and Refresh commands
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu with a Refresh command
-
Adds Gravatar support to the GitLens explorer
- Adds
gitlens.gitExplorer.gravatars
setting to specify whether to show gravatar images instead of commit (or status) icons in the GitLens explorer - Adds
gitlens.gitExplorer.gravatarsDefault
setting to specify the style of the gravatar default (fallback) images in the GitLens exploreridenticon
- a geometric patternmm
- (mystery-man) a simple, cartoon-style silhouetted outline of a person (does not vary by email hash)monsterid
- a monster with different colors, faces, etcretro
- 8-bit arcade-style pixelated facesrobohash
- a robot with different colors, faces, etcwavatar
- faces with differing features and backgrounds - Adds
gitlens.resultsView.gravatars
setting to specify whether to show gravatar images instead of commit (or status) icons in the GitLens Results explorer - Adds
gitlens.resultsView.gravatarsDefault
setting to specify the style of the gravatar default (fallback) images in the GitLens Results exploreridenticon
- a geometric patternmm
- (mystery-man) a simple, cartoon-style silhouetted outline of a person (does not vary by email hash)monsterid
- a monster with different colors, faces, etcretro
- 8-bit arcade-style pixelated facesrobohash
- a robot with different colors, faces, etcwavatar
- faces with differing features and backgrounds
- Adds
-
Adds Select for Compare command (
gitlens.explorers.selectForCompare
) to branch, remote branch, tag, and revision (commit) nodes in the GitLens explorer to mark the base reference of a comparison -
Adds Compare with Selected command (
gitlens.explorers.compareWithSelected
) to branch, remote branch, tag, and revision (commit) nodes in the GitLens explorer once another reference within the same repository has been selected to compare the current selection with the previously selected reference in the GitLens Results explorer -
Adds an all-new, on-demand GitLens Results explorer to the Explorer activity
-
Provides semi-persistent results for commit search operations, via the Show Commit Search command (
gitlens.showCommitSearch
), and file history operations, via the Show File History command (gitlens.showQuickFileHistory
)- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with Open Commit in Remote, Open All Changes, Open All Changes with Working Tree, Open Files, Open Revisions, Copy Commit ID to Clipboard, Copy Commit Message to Clipboard, Show Commit Details, Compare with Selected, Select for Compare, Rebase Commit (via Terminal), Reset Commit (via Terminal), and Refresh commands
- Provides a context menu on each changed file with Open Changes, Open Changes with Working Tree, Open File, Open Revision, Open File in Remote, Open Revision in Remote, Apply Changes, and Show Commit File Details commands
- Provides a context menu on each revision (commit) with Open Commit in Remote, Open All Changes, Open All Changes with Working Tree, Open Files, Open Revisions, Copy Commit ID to Clipboard, Copy Commit Message to Clipboard, Show Commit Details, Compare with Selected, Select for Compare, Rebase Commit (via Terminal), Reset Commit (via Terminal), and Refresh commands
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
-
Provides semi-persistent results for revision comparison operations, via the Select for Compare command (
gitlens.explorers.selectForCompare
) and the Compare with Selected command (gitlens.explorers.compareWithSelected
)- Commits node — provides a list of the commits between the compared revisions (branches or commits)
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with Open Commit in Remote, Open All Changes, Open All Changes with Working Tree, Open Files, Open Revisions, Copy Commit ID to Clipboard, Copy Commit Message to Clipboard, Show Commit Details, Compare with Selected, Select for Compare, Rebase Commit (via Terminal), Reset Commit (via Terminal), and Refresh commands
- Provides a context menu on each changed file with Open Changes, Open Changes with Working Tree, Open File, Open Revision, Open File in Remote, Open Revision in Remote, Apply Changes, and Show Commit File Details commands
- Provides a context menu on each revision (commit) with Open Commit in Remote, Open All Changes, Open All Changes with Working Tree, Open Files, Open Revisions, Copy Commit ID to Clipboard, Copy Commit Message to Clipboard, Show Commit Details, Compare with Selected, Select for Compare, Rebase Commit (via Terminal), Reset Commit (via Terminal), and Refresh commands
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Changed Files node — provides a list of all the files changed between the compared revisions (branches or commits)
- Expands to a file-based view of all changed files
- Provides a context menu on each changed file with Open Changes, Open Changes with Working Tree, Open File, Open Revision, Open File in Remote, Open Revision in Remote, Apply Changes, and Show Commit File Details commands
- Expands to a file-based view of all changed files
- Provides a context menu with Open Directory Compare and Refresh commands
- Commits node — provides a list of the commits between the compared revisions (branches or commits)
-
Provides toolbar commands to Search Commits, Keep Results, Refresh, Show Files in Automatic View or Show Files in List View or Show Files in Tree View, and Close
-
-
Adds Apply Changes option to the commit/stash file quick pick menu — closes #232
-
Adds Show All Commits option to the commit search quick pick menu to show all the results, if there are more than the threshold
-
Adds Show in Results option to the commit search quick pick menu to show the results in the GitLens Results explorer
-
Adds Show in Results option to the file history quick pick menu to show the history in the GitLens Results explorer
- Improves startup performance a bit
- Renames Compare Directory with Branch... command (
gitlens.diffDirectory
) to Directory Compare Working Tree with... - Renames Compare Directory with Previous Revision in quick pick menus to Open Directory Compare with Previous Revision
- Renames Compare Directory with Working Tree in quick pick menus to Open Directory Compare with Working Tree
- Fixes #228 - Gutter blame spills over heatmap
- Fixes incorrect blame highlighting — thanks to PR #231 by Alexey Vasyukov (@notmedia)!
- Fixes issue with the Open in File/Revision option in the file history quick pick menu
- Fixes issues with Git warnings when parsing log status output (can cause the GitLens explorer to not show data in some cases)
- Fixes 🤞 #226 - Annotations show in Debug Console
- Adds
gitlens.keymap
setting to specify the keymap to use for GitLens shortcut keys — closes #104standard
- adds a standard set of shortcut keyschorded
- adds a chorded set of shortcut keys that all start withCtrl+Alt+G
(⌥⌘G
on macOS)none
- no shortcut keys will be added
- Adds progress indicator to the Show Stashed Changes command (
gitlens.showQuickStashList
) - Adds progress indicator to the Apply Stashed Changes command (
gitlens.stashApply
)
- Overhauls the internal way GitLens deals with Uris and revisions should be far more robust and lead to many fewer edge-case issues
- Aligns quick pick menu commands more with the GitLens explorer context menus
- Fixes #220 - Open Revision quick pick results in empty file
- Fixes so, SO, many bugs through the refactor/overhaul of GitLens' Uri handling
- Adds support for files with staged changes
- Adds new entry in the History View of the GitLens explorer
- Adds new entry in the Repository View of the GitLens explorer
- Adds blame annotations, navigation & comparison commands, etc
- Adds support for vscode's Git file revisions (e.g. Open File (HEAD)) and diffs (e.g. Open Changes)
- Adds new entry in the History View of the GitLens explorer
- Adds blame annotations, navigation & comparison commands, etc
- Adds Git code lens to Git file revisions (GitLens or vscode's)
- Fixes 🤞 #202 - Staged change's vscode diff side-by-side view shows the wrong history
- Fixes 🤞 #216 - PowerShell session not started if GitLen is enabled
- Fixes #217 - empty editor has git lens in status bar with old information
- Fixes #218 - Cannot read property 'replace' of undefined
- Fixes issue with feedback when searching for commits without any matches
- Fixes issue where quick pick menu progress indicators could get stuck
- Adds theming support - vscode themes can now specify GitLens colors as well as directly by using
workbench.colorCustomization
)- Adds
gitlens.gutterBackgroundColor
themable color - Adds
gitlens.gutterForegroundColor
themable color - Adds
gitlens.gutterUncommittedForegroundColor
themable color - Adds
gitlens.trailingLineBackgroundColor
themable color - Adds
gitlens.trailingLineForegroundColor
themable color - Adds
gitlens.lineHighlightBackgroundColor
themable color - Adds
gitlens.lineHighlightOverviewRulerColor
themable color
- Adds
- Adds
gitlens.advanced.messages
setting to specify which messages should be suppressed
- Renames
gitlens.theme.annotations.file.gutter.separateLines
setting togitlens.annotations.file.gutter.separateLines
- Changes from using
globalState
to usegitlens.advanced.messages
setting for message suppression - provides more control and avoids strange intermittent withglobalState
- Changes
gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors
setting default toUnsaved changes (cannot determine recent change or authors)
- Changes
gitlens.strings.codeLens.unsavedChanges.recentChangeOnly
setting default toUnsaved changes (cannot determine recent change)
- Changes
gitlens.strings.codeLens.unsavedChanges.authorsOnly
setting default toUnsaved changes (cannot determine authors)
- Removes
gitlens.theme.*
settings - now using built-in theme support
- Fixes #211 - Unsaved code lens appears on untracked files
- Fixes issue where Open * in Remote commands are sometimes missing
- Fixes #207 - Applying and deleting stashes suddenly stopped working
- Fixes #205 - Toggle Line Blame Annotations disappeared after last update
- Fixes #203 - Open Changed Files is broken
- Fixes #176 - Line annotations some times mess with white space
- Fixes #201 - "Open in Remote" commands should check for branch upstream tracking
- Fixes #200 - Submodule using terminal command, root directory is incorrect
- Adds support for nested repositories and submodules — closes #198
- Adds
gitlens.advanced.repositorySearchDepth
setting to specify how many folders deep to search for repositories
- Changes to use
diff.guitool
first if available, before falling back todiff.tool
— closes #195
- Fixes issue where failed git commands would get stuck in the pending queue causing future similar commands to also fail
- Fixes issue where changes to git remotes would refresh the entire GitLens explorer
- Adds multi-root workspace support — Learn more
- Adds new logo/icon
- Adds indicator dots on the branch node(s) of the GitLens explorer which denote the following:
- None - no upstream or up-to-date with the upstream
- Green - ahead of the upstream
- Red - behind the upstream
- Yellow - both ahead of and behind the upstream
- Adds progress indicator to the Search Commits command (
gitlens.showCommitSearch
) - Adds code search support to the Search Commits command (
gitlens.showCommitSearch
) — closes #127- Use
~<regex>
to search for commits with differences whose patch text contains added/removed lines that match<regex>
- Use
=<regex>
to search for commits with differences that change the number of occurrences of the specified string (i.e. addition/deletion) in a file
- Use
- Adds support to the Compare File with Branch... command (
gitlens.diffWithBranch
) work with renamed files — closes #165 - Adds Compare File with Branch... command (
gitlens.diffWithBranch
) to source control resource context menu - Adds Open Repository in Remote command (
gitlens.openRepoInRemote
) to repository node(s) of the GitLens explorer - Adds Enable Automatic Refresh command (
gitlens.gitExplorer.setAutoRefreshToOn
) to the GitLens explorer regardless of the current view - Adds Disable Automatic Refresh command (
gitlens.gitExplorer.setAutoRefreshToOff
) to the GitLens explorer regardless of the current view - Adds new Git terminal commands to the GitLens explorer - opens a GitLens terminal and sends the specified Git command to it
- Adds Checkout Branch (via Terminal) command (
gitlens.terminalCheckoutBranch
) to branch node(s) of the GitLens explorer - Adds Create Branch (via Terminal)... command (
gitlens.terminalCreateBranch
) to branch node(s) of the GitLens explorer - Adds Delete Branch (via Terminal) command (
gitlens.terminalDeleteBranch
) to branch node(s) of the GitLens explorer - Adds Rebase Branch to Remote (via Terminal) command (
gitlens.terminalRebaseBranchToRemote
) to branch node(s) of the GitLens explorer - Adds Squash Branch into Commit (via Terminal) command (
gitlens.terminalSquashBranchIntoCommit
) to branch node(s) of the GitLens explorer - Adds Rebase Commit (via Terminal) command (
gitlens.terminalRebaseCommit
) to commit node(s) of the GitLens explorer - Adds Reset Commit (via Terminal) command (
gitlens.terminalResetCommit
) to commit node(s) of the GitLens explorer - Adds Remove Remote (via Terminal) command (
gitlens.terminalRemoveRemote
) to remote node(s) of the GitLens explorer
- Adds Checkout Branch (via Terminal) command (
- Adds ability to specify the url protocol used with user-defined remote services via
gitlens.remotes
setting — thanks to PR #192 by Helmut Januschka (@hjanuschka)!
- GitLens explorer will no longer show if there is no Git repository — closes #159
- Optimizes event handling, executing git commands, and general processing to improve performance and reduce any lag
- Optimizes current line hover annotations to only be computed on hover (i.e. lazily evaluated) to reduce the compute required when changing lines
- Protects credentials from possibly being affected by poor network conditions via Git Credential Manager (GCM) for Windows environment variables
- Delays (slightly) the initial loading of the GitLens explorer to improve startup performance
- Fixes jumpy code lens when deleting characters from a line with a Git code lens
- Fixes #178 - Slight but noticeable keyboard lag with Gitlens
- Fixes #183 - Remote with same url should only show once
- Fixes #185 - Wrong relative date shows on mouse hover
- Fixes issue where using the Refresh command on a GitLens explorer node refreshed the whole view, rather than just the node
- Fixes issue where certain commands fail when there is no current branch (rebase, detached HEAD, etc)
- Fixes #174 - File Blame Annotations No Longer Working (and some other editor-based commands)
- Adds Open All Changes (with difftool) command (
gitlens.externalDiffAll
) - opens all working changes with the configured git difftool — closes #164- Also adds the command to the Source Control group context menu
- Adds
gitlens.gitExplorer.autoRefresh
setting to specify whether to automatically refresh the GitLens explorer when the repository or the file system changes - Adds Enable Automatic Refresh command (
gitlens.gitExplorer.setAutoRefreshToOn
) to enable the automatic refresh of the GitLens explorer - Adds Disable Automatic Refresh command (
gitlens.gitExplorer.setAutoRefreshToOff
) to disable the automatic refresh of the GitLens explorer - Adds Show Files in Automatic View command (
gitlens.gitExplorer.setFilesLayoutToAuto
) to change to an automatic layout for the files in the GitLens explorer - Adds Show Files in List View command (
gitlens.gitExplorer.setFilesLayoutToList
) to change to a list layout for the files in the GitLens explorer - Adds Show Files in Tree View command (
gitlens.gitExplorer.setFilesLayoutToTree
) to change to a tree layout for the files in the GitLens explorer
- Renames Directory Compare command (
gitlens.diffDirectory
) to Compare Directory with Branch... - Renames Directory Compare with Previous Commit in quick pick menus to Compare Directory with Previous Commit
- Renames Directory Compare with Working Tree in quick pick menus to Compare Directory with Working Tree
- Changes the marketplace keywords for better discoverability
- Fixes #163 - GitLens can cause git locking in the background
- Fixes issues tracking the active editor in the History View of the GitLens explorer
- Fixes issue where the GitLens explorer would refresh more than once when a file system change was detected
- Fixes issue where opening commit search could be filled out with
#00000000
- Removes
gitlens.advanced.gitignore.enabled
setting since it usage has been replaced by a tracked file cache
- Fixes issues with tracked files which are ignored via
.gitignore
not working properly
- Fixes #168 - Git environment context was missing
- Swaps out Moment.js for date-fns to improve blame annotation performance and to reduce the GitLen bundle size (saves ~400kb)
- Fixes issue where the Toggle File Blame Annotations command (
gitlens.toggleFileBlame
) wasn't available after a file was saved
- Fixes issue where Open File command failed for in many instances (for GitUri resources)
- Fixes issue where diffs for stashed files were often wrong (missing)
- Adds changes (diff) hover annotation support to both the gutter and hover file blame annotations
- Adds
gitlens.annotations.file.gutter.hover.changes
setting to specify whether to provide a changes (diff) hover annotation over the gutter blame annotations - Adds
gitlens.annotations.file.hover.details
setting to specify whether to provide a commit details hover annotation over each line - Adds
gitlens.annotations.file.hover.changes
setting to specify whether to provide a changes (diff) hover annotation over each line
- Changes
gitlens.codeLens.customLocationSymbols
setting to both include and exclude (using a!
prefix) symbols and therefore is always applied
- Removes
Custom
from thegitlens.codeLens.locations
setting as it wasn't really required - Removes properties (symbol
Property
) from being included in theBlocks
option of thegitlens.codeLens.locations
setting — can be easily re-added by setting"gitlens.codeLens.customLocationSymbols": [ "Property" ]
if desired - Removes
gitlens.annotations.file.hover.wholeLine
setting as it didn't really make sense
- Fixes issue where changing
gitlens.blame.file.annotationType
wouldn't correctly update the blame annotations if they were currently active - Fixes issue where
isBlameable
context could be set incorrectly leading to blame icon showing up on invalid documents
-
Adds a quick-access command bar to the bottom of the details hover annotations
- Provides Open Changes, Blame Previous Revision, Open in Remote, and Show More Actions command buttons
-
Adds support for remembering file annotations when switching tabs
-
Adds full GitLens support for file revisions — file & line annotations, commands, etc
- Changes
gitlens.annotations.file.gutter.hover.wholeLine
setting to default totrue
- Removes peek-style file & blame history explorers - see #66 for more details
- Removes Open Blame History Explorer command (
gitlens.showBlameHistory
) - Removes Open File History Explorer command (
gitlens.showFileHistory
) - Removes
"gitlens.showBlameHistory"
&"gitlens.showFileHistory"
option fromgitlens.codeLens.recentChange.command
setting - Removes
"gitlens.showBlameHistory"
&"gitlens.showFileHistory"
option fromgitlens.codeLens.authors.command
setting - Removes
"gitlens.showBlameHistory"
&"gitlens.showFileHistory"
option fromgitlens.statusBar.command
setting
- Removes Open Blame History Explorer command (
- Removes
gitlens.advanced.toggleWhitespace.enabled
setting — as it is no longer required
- Fixes #161 - Remove colors from output of git command calls
- Changes annotation hovers to only add Open in Remote and Show Commit Details commands when applicable — thanks to PR #158 by SpaceEEC (@SpaceEEC)!
- Fixes issue where Changes hover annotation displayed incorrect info when there was no previous commit — thanks to PR #158 by SpaceEEC (@SpaceEEC)!
- Fixes issue when checking for remotes could return no remotes even if remotes are configured
- Adds support for user-defined remote services via
gitlens.remotes
setting — closes #148 - Adds Open Changes (with difftool) command (
gitlens.externalDiff
) - opens the changes of a file or set of files with the configured git difftool — thanks to PR #154 by Chris Kaczor (@ckaczor)!- Adds to the source control group and source control resource context menus
- Adds new file layouts to the GitLens explorer
auto
- automatically switches between displaying files as atree
orlist
based on thegitlens.gitExplorer.files.threshold
setting and the number of files at each nesting levellist
- displays files as a listtree
- displays files as a tree
- Adds
gitlens.gitExplorer.files.layout
setting to specify how the GitLens explorer will display files - Adds
gitlens.gitExplorer.files.compact
setting to specify whether to compact (flatten) unnecessary file nesting in the GitLens explorer - Adds
gitlens.gitExplorer.files.threshold
setting to specify when to switch between displaying files as atree
orlist
based on the number of files in a nesting level in the GitLens explorer - Adds
${directory}
token to the file formatting settings
- Changes
${path}
token to be the full file path in the file formatting settings
- Fixes #153 - New folders treated as files in "Changed Files" section of the sidebar component
- Adds new Changed Files node to the Repository Status node of the GitLens explorer's Repository View — closes #139
- Provides a at-a-glance view of all "working" changes
- Expands to a file-based view of all changed files in the working tree (enabled via
"gitlens.insiders": true
) and/or all files in all commits ahead of the upstream
- Adds optional (on by default) working tree status information to the Repository Status node in the GitLens explorer
- Adds
auto
value togitlens.gitExplorer.view
setting - closes #150 - Adds
gitlens.gitExplorer.enabled
setting to specify whether to show the GitLens explorer - closes #144 - Adds
gitlens.gitExplorer.includeWorkingTree
setting to specify whether to include working tree files inside the Repository Status node of the GitLens explorer - Adds
gitlens.gitExplorer.statusFileFormat
setting to the format of the status of a working or committed file in the GitLens explorer
- Changes the sorting (now alphabetical) of files shown in the GitLens explorer
- Changes the default of the
gitlens.gitExplorer.view
setting toauto
- Changes the default of the
gitlens.gitExplorer.commitFormat
setting to add parentheses around the commit id - Removes many menu items from
editor/title
&editor/title/context
by default — can be re-enabled via thegitlens.advanced.menus
setting
- Fixes #146 - Blame gutter annotation issue when commit contains emoji
- Fixes an issue when running Open File in Remote with a multi-line selection wasn't properly opening the selection in GitLab — thanks to PR #145 by Amanda Cameron (@AmandaCameron)!
- Fixes an issue where the
gitlens.advanced.menus
setting wasn't controlling all the menu items properly
- Adds full (multi-line) commit message to the details hover annotations — closes #116
- Adds an external link icon to the details hover annotations to run the Open Commit in Remote command (
gitlens.openCommitInRemote
)
- Optimizes performance of the providing blame annotations, especially for large files (saw a ~78% improvement on some files)
- Optimizes date handling (parsing and formatting) for better performance and reduced memory consumption
- Removes
gitlens.annotations.file.recentChanges.hover.wholeLine
setting as it didn't really make sense
- Fixes an issue where stashes with only untracked files would not show in the Stashes node of the GitLens explorer
- Fixes an issue where stashes with untracked files would not show its untracked files in the GitLens explorer
-
Adds an all-new GitLens explorer to the Explorer activity
-
Repository View - provides a full repository explorer
-
Repository Status node — provides the status of the repository
- Provides the name of the current branch, its upstream tracking branch (if available), and its upstream status (if available)
- Provides indicator dots on the repository icon which denote the following:
- None - up-to-date with the upstream
- Green - ahead of the upstream
- Red - behind the upstream
- Yellow - both ahead of and behind the upstream
- Provides additional nodes, if the current branch is not synchronized with the upstream, to quickly see and explore the specific commits ahead and/or behind the upstream
- Provides a context menu with Open Repository in Remote, and Refresh commands
-
Branches node — provides a list of the local branches
- Indicates which branch is the current branch and optionally shows the remote tracking branch
- Expand each branch to easily see its revision (commit) history
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each changed file with Open Changes, Open Changes with Working Tree, Open File, Open Revision, Open File in Remote, Open Revision in Remote, Apply Changes, Show File History, and Show Commit File Details commands
- Provides a context menu on each revision (commit) with Open Commit in Remote, Open All Changes, Open All Changes with Working Tree, Open Files, Open Revisions, Copy Commit ID to Clipboard, Copy Commit Message to Clipboard, Show Commit Details, and Refresh commands
- Provides a context menu on each branch with Open Branch in Remote, and Refresh commands
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu with Open Branches in Remote, and Refresh commands
-
Remotes node — provides a list of remotes
- Indicates the direction of the remote (fetch, push, both), remote service (if applicable), and repository path
- Expand each remote to see its list of branches
- Expand each branch to easily see its revision (commit) history
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each changed file with Open Changes, Open Changes with Working Tree, Open File, Open Revision, Open File in Remote, Open Revision in Remote, Apply Changes, and Show Commit File Details commands
- Provides a context menu on each revision (commit) with Open Commit in Remote, Open All Changes, Open All Changes with Working Tree, Open Files, Open Revisions, Copy Commit ID to Clipboard, Copy Commit Message to Clipboard,Show Commit Details, and Refresh commands
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each remote with Open Branches in Remote, Open Repository in Remote, and Refresh commands
- Expand each branch to easily see its revision (commit) history
- Provides a context menu with a Refresh command
-
Stashes node — provides a list of stashed changes
- Expand each stash to quickly see the set of files stashed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu with Stash Changes, and Refresh commands
- Provides a context menu on each stash with Apply Stashed Changes (confirmation required), Delete Stashed Changes (confirmation required), Open All Changes, Open All Changes with Working Tree, Open Files, Open Revisions, Copy Commit Message to Clipboard, and Refresh commands
- Provides a context menu on each stashed file with Apply Changes, Open Changes, Open Changes with Working Tree, Open File, Open Revision, Open File in Remote, and Show File History commands
-
-
File History View - provides the revision history of the active file
- Automatically updates to track the active editor
- Provides a context menu with Open File, Open File in Remote, and Refresh commands
- Provides a context menu on each revision (commit) with Open Changes, Open Changes with Working Tree, Open File, Open Revision, Open File in Remote, Open Revision in Remote, Apply Changes, and Show Commit File Details commands
-
Quickly switch between views using the Switch to Repository View or Switch to File History View commands
-
Provides toolbar commands to Search Commits, Switch to Repository View or Switch to File History View, and Refresh
-
-
Adds all-new interactivity to the hover annotations
- Adds the following command-links to the details hover annotation
- Clicking the commit id will run the Show Commit Details command
- Adds the following command-links to the changes hover annotation
- Clicking on Changes will run the Open Changes command
- Clicking the current and previous commit ids will run the Show Commit Details command
- Adds the following command-links to the details hover annotation
-
Adds support for remote services with custom domains — closes #120
-
Adds support for the Bitbucket Server (previously called Stash) remote service — closes #120
-
Adds
gitlens.blame.ignoreWhitespace
setting to specify whether to ignore whitespace when comparing revisions during blame operations — closes #138 -
Adds Compare File Revisions command (
gitlens.diffWith
) - compares the specified file revisions -
Adds Open Branches in Remote command (
gitlens.openBranchesInRemote
) - opens the branches in the supported remote service -
Adds Stash Changes command (
gitlens.stashSave
) to the source control group context menu — can now stash a group of files -
Adds Stash Changes command (
gitlens.stashSave
) to the source control resource context menu — can now stash individual files (works with multi-select too!) -
Adds
gitlens.gitExplorer.view
setting to specify the starting view (mode) of the GitLens explorer -
Adds
gitlens.gitExplorer.showTrackingBranch
setting to specify whether to show the tracking branch when displaying local branches in the GitLens explorer -
Adds
gitlens.gitExplorer.commitFormat
setting to specify the format of committed changes in the GitLens explorer -
Adds
gitlens.gitExplorer.commitFileFormat
setting to specify the format of a committed file in the GitLens explorer -
Adds
gitlens.gitExplorer.stashFormat
setting to specify the format of stashed changes in the GitLens explorer -
Adds
gitlens.gitExplorer.stashFileFormat
setting to specify the format of a stashed file in the GitLens explorer -
Adds
${filePath}
token to file formatting settings
- Changes Show Stashed Changes option icon in repository status quick pick menu to match the GitLens explorer
- Changes Stash Changes option icon in stashed changes quick pick menu to a plus (+)
- Renames Compare File with Previous command (
gitlens.diffWithPrevious
) to Compare File with Previous Revision - Renames Compare File with Next Commit command (
gitlens.diffWithNext
) to Compare File with Next Revision - Renames Compare File with Working Tree command (
gitlens.diffWithWorking
) to Compare File with Working Revision - Renames Compare Line Commit with Previous command (
gitlens.diffLineWithPrevious
) to Compare Line Revision with Previous - Renames Compare Line Commit with Working Tree command (
gitlens.diffLineWithWorking
) to Compare Line Revision with Working
- Removes Git Stashes view - as it's functionality has been folded into the new GitLens explorer
- Removes
gitlens.stashExplorer.stashFormat
setting - Removes
gitlens.stashExplorer.stashFileFormat
setting - Removes Stash Unstaged Changes option from stashed changes quick pick menu — didn't work as intended
- Removes the seeding of the commit search command from the clipboard
- Fixes an issue where double hover annotations could be shown on blank lines
- Fixes an issue where remote branches couldn't be opened properly in their remote service
- Fixes #130 - First-run "Thank you for choosing GitLens! [...]" info message shown on every start up
- Fixes an issue where sometimes diffs (via branch name) wouldn't open properly
- Fixes an issue where remotes are queried more than once on startup
- Fixes #135 - Full-width characters break gutter annotations (really this time)
- Fixes #135 - Full-width characters break gutter annotations
- Fixes #114 - Stylus files makes code lens freak out
- Adds a progress indicator to the Toggle File Blame Annotations command (
gitlens.toggleFileBlame
) icon — pulses while annotations are computed - Adds an active state to the Toggle File Blame Annotations command (
gitlens.toggleFileBlame
) icon — turns orange while the annotations are visible - Adds automatic disabling of the current line blame annotations when starting a debug session and will restore them when the debug session ends — can still be manually toggled via the Toggle Line Blame Annotations command (
gitlens.toggleLineBlame
)
- Changes chat links from Gitter to Slack
- Changes the look of the line separators on the gutter blame annotations
- Changes the
gitlens.advanced.toggleWhitespace.enabled
configuration setting to default tofalse
— thanks to the awesome work in vscode by Alexandru Dima (@alexandrudima) this is no longer required!
- Removes unneeded
gitlens.stashExplorer.enabled
configuration setting since users can add or remove views natively now - Removes unneeded Toggle Git Stashes Explorer command (
gitlens.stashExplorer.toggle
) since users can add or remove views natively now - Removes the
gitlens.theme.annotations.file.hover.separateLines
configuration setting
- Fixes jumpiness when opening a diff to a certain line
- Adds progress indicator for when computing annotations takes a while
- Optimizes performance of the providing blame annotations, especially for large files (saw a 3.5x improvement on some files)
- Fixes #107 - Double-byte characters break blame layout (still requires proper font support)
- Fixes #118 - GitLens stopped working on latest insiders build — thanks to PR #121 by Johannes Rieken (@jrieken)
- Adds
gitlens.stashExplorer.enabled
setting to specify whether to show the Git Stashes view - Adds Toggle Git Stashes Explorer command (
gitlens.stashExplorer.toggle
) - toggles the Git Stashes view on and off
- Hides the Git Stashes view by default
- Fixes #108 - Option to remove stash explorer from the main explorer?
- Adds Git Stashes view to the Explorer activity
- Shows all of the stashed changes in the repository
- Provides toolbar buttons to Stash Changes and Refresh
- Provides a context menu with Apply Stashed Changes and Delete Stashed Changes commands - both require a confirmation
- Expand each stash to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu with Open Changes, Open File, Open Stashed File, Open File in Remote, and Compare File with Working Tree commands
- Adds Compare File with Revision... command (
gitlens.diffWithRevision
) - compares the active file with the selected revision of the same file - Adds Open Changed Files command (
gitlens.openChangedFiles
) to the source control group context menu - Adds Close Unchanged Files command (
gitlens.closeUnchangedFiles
) to the source control group context menu - Adds Open File in Remote command (
gitlens.openFileInRemote
) to the source control resource context menu - Adds Compare File with Revision... command (
gitlens.diffWithRevision
) to the source control resource context menu - Adds Show File History command (
gitlens.showQuickFileHistory
) to the source control resource context menu
- Renames Compare File with... command to
Compare File with Branch...
- Renames Open Line Commit in Remote command to
Open Commit in Remote
- Renames Show Line Commit Details command to
Show Commit File Details
- Updates the description of
gitlens.blame.line.enabled
to be clearer about its behavior - Updates the description of
gitlens.codeLens.enabled
to be clearer about its behavior
- Fixes #103 - Toggle file blame annotations disables line blame annotations if line blame annotations are off by default
- Fixes another infinite loop in the Close Unchanged Files command
- Optimizes performance of the Compare with Previous commands - also avoids trying to focus a line if we don't have one
- Fixes changes (diff) hover not showing the correct previous line (for real this time)
- Attempts to fix #99 - undo/redo spawns too many git processes
- Fixes changes (diff) hover not showing the correct previous line when showing recent changes annotations of the whole-file
- Fixes #96 - External diff command can be unintentionally triggered
- Adds an
alt
command to the Toggle File Blame Annotations command button, which when you hold downalt
and click it will execute the Toggle Recent File Changes Annotations command instead
- Fixes missing Toggle File Blame Annotations command icon
- Adds all-new recent changes annotations of the whole-file - annotates and highlights all of lines changed in the most recent commit
- Adds Toggle Recent File Changes Annotations command (
gitlens.toggleFileRecentChanges
) - toggles the recent changes annotations on and off - Adds ability to press
Escape
to quickly toggle any whole-file annotations off - Improves performance
- Optimized git output parsing to increase speed and dramatically reduce memory usage
- Defers diff chunk parsing until it is actually required
- Adds
gitlens.defaultDateFormat
setting to specify how all absolute dates will be formatted by default
- Fixes excessive memory usage when parsing diffs
- Fixes extra newline in multi-line commit messages
- Fixes (again) #33 - Commit messages can causes markdown formatting in hovers
- Fixes #87 - Can't open files in remote when using git@ urls (ssh)
- Adds all-new, beautiful, highly customizable and themable, file blame annotations
- Can now fully customize the layout and content, as well as the theme
- Adds all-new configurability and themeability to the current line blame annotations
- Can now fully customize the layout and content, as well as the theme
- Adds all-new configurability to the status bar blame information
- Can now fully customize the layout and content
- Adds all-new configurability over which commands are added to which menus via the
gitlens.advanced.menus
setting - Adds better configurability over where Git code lens will be shown — both by default and per language
- Adds an all-new changes (diff) hover annotation to the current line - provides instant access to the line's previous version
- Adds Toggle Line Blame Annotations command (
gitlens.toggleLineBlame
) - toggles the current line blame annotations on and off - Adds Show Line Blame Annotations command (
gitlens.showLineBlame
) - shows the current line blame annotations - Adds Toggle File Blame Annotations command (
gitlens.toggleFileBlame
) - toggles the file blame annotations on and off - Adds Show File Blame Annotations command (
gitlens.showFileBlame
) - shows the file blame annotations - Adds Open File in Remote command (
gitlens.openFileInRemote
) to theeditor/title
context menu - Adds Open Repo in Remote command (
gitlens.openRepoInRemote
) to theeditor/title
context menu - Adds
gitlens.strings.*
settings to allow for the customization of certain strings displayed - Adds
gitlens.theme.*
settings to allow for the theming of certain elements - Adds
gitlens.advanced.telemetry.enabled
settings to explicitly opt-in or out of telemetry, but still ultimately honors thetelemetry.enableTelemetry
setting - Adds ability to suppress most warning messages - which can be re-enabled using the Reset Suppressed Warnings command (
gitlens.resetSuppressedWarnings
)
- (BREAKING) Almost all of the GitLens settings have either been renamed, removed, or otherwise changed - see the README`
- Changes the positioning of the Git code lens to try to be at the end of any other code lens on the same line
- Changes the position of the Open File in Remote command (
gitlens.openFileInRemote
) in the context menus - now in thenavigation
group - Changes the Toggle Git Code Lens command (
gitlens.toggleCodeLens
) to always toggle the Git code lens on and off - Changes the default of
gitlens.advanced.toggleWhitespace.enabled
back totrue
, but automatically disables whitespace toggling if whitespace rendering is not on
- Removes the on-demand trailing file blame annotations — didn't work out and just ended up with a ton of visual noise
- Removes Toggle Blame Annotations command (
gitlens.toggleBlame
) - replaced by the Toggle File Blame Annotations command (gitlens.toggleFileBlame
) - Removes Show Blame Annotations command (
gitlens.showBlame
) - replaced by the Show File Blame Annotations command (gitlens.showFileBlame
)
- Fixes #81 - Current line annotation feels too sticky
- Fixes #83 - Calling "close unchanged files" results in no new files being openable
- Fixes issues with the zone.js monkey patching done by application insights (telemetry) - disables all the monkey patching
- Fixes issue with Open Branch in Remote & Open Repository in Remote not showing when there are no open editors
- Fixes issues with the zone.js monkey patching done by application insights (telemetry) - disables all the monkey patching
- Adds diff information (the line's previous version) into the active line hover
- Adds a
gitlens.diffWithWorking
status bar command option - compares the current line commit with the working tree
- Changes the behavior of the Compare File with Working Tree command (
gitlens.diffWithWorking
) - always does what it says :)- Compares the current file with the working tree — if the current file is the working file, it will show a
File matches the working tree
message
- Compares the current file with the working tree — if the current file is the working file, it will show a
- Changes the behavior of the Compare File with Previous command (
gitlens.diffWithPrevious
) - always does what it says :)- Compares the current file with the previous commit to that file
- Changes the behavior of the
gitlens.diffWithPrevious
status bar command option - compares the current line commit with the previous - Renames Compare File with Previous Commit command to Compare File with Previous
- Renames Compare Line with Previous Commit command to Compare Line Commit with Previous
- Renames Compare Line with Working Tree command to Compare Line Commit with Working Tree
- Renames Compare with Previous Commit in quick pick menus to Compare File with Previous
- Renames Compare with Working Tree in quick pick menus to Compare File with Working Tree
- Fixes #79 - Application insights package breaks GitLens + eslint
- Changes certain code lens actions to be unavailable (unclickable) when the commit referenced is uncommitted - avoids unwanted error messages
- Debounces more events when tracking the active line to further reduce lag
- Fixes #71 - Blame information is invalid when a file has changed outside of vscode
- Fixes issue with showing the incorrect blame for versioned files (i.e. files on the left of a diff, etc)
- Improves performance
- Reduces the number of git calls on known "untrackables"
- Caches many more git commands to reduce git command round-trips and parsing
- Increases the debounce (delay) on cursor movement to reduce lag when navigating around a file
- Adds diff information (the line's previous version) into the active line hover when the current line is uncommitted
- Adds
gitlens.statusBar.alignment
settings to control the alignment of the status bar — thanks to PR #72 by Zack Schuster (@zackschuster)! - Adds Open Branch in Remote command (
gitlens.openBranchInRemote
) - opens the current branch commits in the supported remote service - Adds Open Repository in Remote command (
gitlens.openRepoInRemote
) - opens the repository in the supported remote service - Adds Stash Changes option to stashed changes quick pick menu — no longer hidden behind the
"gitlens.insiders": true
setting - Adds Stash Unstaged Changes option to stashed changes quick pick menu — no longer hidden behind the
"gitlens.insiders": true
setting - Adds Apply Stashed Changes command (
gitlens.stashApply
) to apply the selected stashed changes to the working tree — no longer hidden behind the"gitlens.insiders": true
setting - Adds Stash Changes command (
gitlens.stashSave
) to stash any working tree changes — no longer hidden behind the"gitlens.insiders": true
setting - Adds support to the Search commits command (
gitlens.showCommitSearch
) to work without any active editor - Adds commit search pre-population — if there is an active editor it will use the commit sha of the current line commit, otherwise it will use the current clipboard
- Changes Open File in Remote and Open Line Commit in Remote commands to actually work for everyone (part of their implementation was still behind the
gitlens.insiders
setting) - Changes the active line hover to only show at the beginning and end of a line if
gitlens.blame.annotation.activeLine
isboth
- Changes
alt+f
shortcut toalt+/
for the Search commits command (gitlens.showCommitSearch
) - Changes
alt+right
on commit details quick pick menu to execute the Compare File with Previous Commit command (gitlens.diffWithPrevious
) when a file is selected - Changes
alt+right
on repository status quick pick menu to execute the Compare File with Previous Commit command (gitlens.diffWithPrevious
) when a file is selected - Refactors command argument passing to allow for future inclusion into the SCM menus
- Fixes #73 - GitLens doesn't work with Chinese filenames
- Fixes #40 - Encoding issues
- Given the limitations of the vscode api, I'm unable to fix all the encoding issues, but many of them should now be squashed
files.encoding
is now honored for the cases where the encoding cannot currently be gleaned
- Fixes incorrect file selection from the commit details quick pick menu
- Fixes incorrect command execution when using
"gitlens.statusBar.command": "gitlens.showQuickRepoHistory"
- Fixes a bunch of issues that were revealed by enabling Typescript
strict
mode
- Adds better support for deleted files when choosing Open Changed Files via in quick pick menus - now opens the file revision from the previous commit
- Adds better support for deleted files when using
alt+right arrow
shortcut on the commit details quick pick menu - now opens the file revision from the previous commit
- Removes deleted files when choosing Open Working Changed Files via in quick pick menus
- Changes display name in the marketplace to Git Lens because of the marketplace search ranking algorithm
- Adds better support for deleted files when choosing Open File via in quick pick menus - now opens the file revision from the previous commit
- Adds better support for deleted files when choosing Open File in Remote via in quick pick menus - now opens the file revision from the previous commit
- Improves performance by caching the git path to avoid lookups on every git command
- Renames
gitlens.advanced.codeLens.debug
setting togitlens.codeLens.debug
- Renames
gitlens.advanced.debug
setting togitlens.debug
- Renames
gitlens.output.level
setting togitlens.outputLevel
- Fixes incorrect file selection when showing commit details quick pick menu
- Fixes timing error on startup
- Completely overhauls the GitLens documentation and messaging — make sure to check it out to see all the powerful features GitLen provides!
- Adds
gitlens.blame.annotation.activeLineDarkColor
&gitlens.blame.annotation.activeLineLightColor
settings to control the colors of the active line blame annotation
- Changes Toggle Git Code Lens command to work when
gitlens.codeLens.visibility
is set toauto
(the default) - Renames Compare with... command to Compare File with...
- Renames Compare with Next Commit command to Compare File with Next Commit
- Renames Compare with Previous Commit command to Compare File with Previous Commit
- Renames Compare with Previous Commit command to Compare File with Previous Commit
- Renames Compare with Working Tree command to Compare File with Working Tree
- Fixes issue with Open Commit in Remote not working
- Fixes issue with many commands missing from the Command Palette
- Fixes issue with newlines in commit messages in the file/branch/stash history quick pick menus (truncates and adds an ellipse icon)
- Removes
gitlens.blame.annotation.characters.*
settings since they were added to deal with unicode bugs in a previous version of vscode
- Closes #63 - Switch commit message and author in commit pick list. Also reduces clutter in the commit quick pick menus
- Changes commit search prefixes — no prefix for message search,
@
for author,:
for file pattern,#
for commit id - Changes
sha
terminology tocommit id
in the UI
- Fixes issues with author searching
- Adds Search commits command (
gitlens.showCommitSearch
) to allow commit searching by message, author, file pattern, or sha - Adds
alt+f
shortcut for the Search commits command (gitlens.showCommitSearch
) - Adds Show Commit Search command to the branch history quick pick menu
- Adds Show Stashed Changes command to the repository status quick pick menu
- Adds a Don't Show Again option to the GitLen update notification
- Changes Open x in Remote commands to be no longer hidden behind the
gitlens.insiders
setting
- Fixes #59 - Context menu shows gitlens commands even if folder/file is not under git
- Fixes #57 - No more blank message if
diff.tool
is missing
- Adds support for single files opened in vscode — you are no longer required to open a folder for GitLens to work
- Fixes #57 - Warn on directory compare when there is no diff tool configured
- Fixes #58 - Work with git sub-modules
- Fixes issue with Open * in Remote commands with nested repositories and non-git workspace root folder
- Adds Show Stashed Changes command (
gitlens.showQuickStashList
) to open a quick pick menu of all the stashed changes - Adds insiders Stash Changes option to stashed changes quick pick menu — enabled via
"gitlens.insiders": true
- Adds insiders Stash Unstaged Changes option to stashed changes quick pick menu
- Adds insiders Apply Stashed Changes command (
gitlens.stashApply
) to apply the selected stashed changes to the working tree - Adds insiders Stash Changes command (
gitlens.stashSave
) to stash any working tree changes
- Fixes incorrect counts in upstream status
- Adds additional insiders support for GitLab, Bitbucket, and Visual Studio Team Services to the Open x in Remote commands and quick pick menus — enabled via
"gitlens.insiders": true
- Adds insiders line support to Open File in Remote command (
gitlens.openFileInRemote
) - Adds original file name for renamed files to the repository status and commit details quick pick menu
- Fixes #56 - Handle file names with spaces
- Changes telemetry a bit to reduce noise
- Fixes common telemetry error by switching to non-strict iso dates (since they are only available in later git versions)
- Adds a fallback to work with Git version prior to
2.11.0
— terribly sorry for the inconvenience :(
- Fixes #55 - reverts Git requirement back to
2.2.0
- Fixes issues with parsing merge commits
- Changes required Git version to
2.11.0
- Adds basic telemetry — honors the vscode telemetry configuration setting
- Adds insiders support for Open in GitHub to the relevant quick pick menus — enabled via
"gitlens.insiders": true
- Adds insiders Open Line Commit in Remote command (
gitlens.openCommitInRemote
) to open the current commit in the remote service (currently only GitHub) - Adds insiders Open File in Remote command (
gitlens.openFileInRemote
) to open the current file in the remote service (currently only GitHub) - Adds an update notification for feature releases
- Adds Show Branch History command (
gitlens.showQuickBranchHistory
) to show the history of the selected branch - Adds Show Last Opened Quick Pick command (
gitlens.showLastQuickPick
) to re-open the previously opened quick pick menu - helps to get back to previous context - Adds
alt+-
shortcut for the Show Last Opened Quick Pick command (gitlens.showLastQuickPick
) - Adds upstream status information (if available) to the repository status pick pick
- Adds file status rollup information to the repository status pick pick
- Adds file status rollup information to the commit details quick pick menu
- Adds Compare with... (
gitlens.diffWithBranch
) command to compare working file to another branch (via branch quick pick menu) - Adds branch quick pick menu to Directory Compare (
gitlens.diffDirectory
) command - Adds support for
gitlens.showQuickFileHistory
command execution via code lens to limit results to the code lens block - Adds current branch to branch quick pick menu placeholder
- Adds Show Branch History command to the branch history quick pick menu when showing only limited commits (e.g. starting at a specified commit)
- Adds Show File History command to the file history quick pick menu when showing only limited commits (e.g. starting at a specified commit)
- Adds Don't Show Again option to the unsupported git version notification
- Changes Show Repository History command to Show Current Branch History
- Changes Repository History terminology to Branch History
- Fixes issue with
gitlens.diffWithPrevious
command execution via code lens when the code lens was not at the document/file level - Fixes issue where full shas were displayed on the file/blame history explorers
- Fixes #30 - Diff with Working Tree fails from repo/commit quick pick list if file was renamed (and the commit was before the rename)
- Fixes various other quick pick menu command issues when a file was renamed
- Fixes various issues when caching is disabled
- Fixes issues with parsing commits history
- Fixes various issues with merge commits
- Fixes #50 - excludes container-level code lens from
html
andvue
language files
- Adds
gitlens.advanced.codeLens.debug
setting to control whether to show debug information in code lens
- Fixes issue where
gitlens.showQuickRepoHistory
command fails to open when there is no active editor
- Adds progress indicator for the
gitlens.showQuickFileHistory
&gitlens.showQuickRepoHistory
quick pick menus - Adds paging support to the
gitlens.showQuickFileHistory
&gitlens.showQuickRepoHistory
quick pick menus- Adds Show Previous Commits command
- Adds Show Next Commits command
- Adds keyboard page navigation via
alt+,
(previous) &alt+.
(next) on thegitlens.showQuickFileHistory
&gitlens.showQuickRepoHistory
quick pick menus - Adds keyboard commit navigation via
alt+,
(previous) &alt+.
(next) on thegitlens.showQuickCommitDetails
&gitlens.showQuickCommitFileDetails
quick pick menus
- Changes behavior of
gitlens.showQuickFileHistory
&gitlens.showFileHistory
to no longer show merge commits - Changes
gitlens.copyShaToClipboard
to copy the full sha, rather than short sha - Changes internal tracking to use full sha (rather than short sha)
- Adds
gitlens.diffWithNext
command to open a diff with the next commit - Adds
alt+.
shortcut for thegitlens.diffWithNext
command
- Changes
shift+alt+p
shortcut toalt+,
for thegitlens.diffWithPrevious
command - Changes
alt+p
shortcut toshift+alt+,
for thegitlens.diffLineWithPrevious
command
- Removes
gitlens.toggleCodeLens
from Command Palette when not available - Removes
gitlens.toggleCodeLens
shortcut key when not available
- Fixes (#45)[gitkraken#45] - Keyboard Shortcut collision with Project Manager
- Adds blame and active line annotation support to git diff split view (right side)
- Adds command (compare, copy sha/message, etc) support to git diff split view (right side)
- Fixes intermittent issues when toggling whitespace for blame annotations
- Adds
gitlens.showQuickCommitFileDetails
command to show a quick pick menu of details for a file commit - Adds
gitlens.showQuickCommitFileDetails
command to code lens - Adds
gitlens.showQuickCommitFileDetails
command to the status bar - Adds
gitlens.closeUnchangedFiles
command to close any editors that don't have uncommitted changes - Adds
gitlens.openChangedFiles
command to open all files that have uncommitted changes - Adds Directory Compare (
gitlens.diffDirectory
) command to open the configured git difftool to compare directory versions - Adds Directory Compare with Previous Commit command on the
gitlens.showQuickCommitDetails
quick pick menu - Adds Directory Compare with Working Tree command on the
gitlens.showQuickCommitDetails
quick pick menu - Adds a Changed Files grouping on the
gitlens.showQuickCommitDetails
quick pick menu - Adds a Close Unchanged Files command on the
gitlens.showQuickRepoStatus
quick pick menu - Adds a contextual description to the go back command in quick pick menus
- Changes layout of the
gitlens.showQuickRepoStatus
quick pick menu for better clarity - Changes behavior of
gitlens.showQuickCommitDetails
to show commit a quick pick menu of details for a commit - Changes default of
gitlens.codeLens.recentChange.command
to begitlens.showQuickCommitFileDetails
(though there is no visible behavior change) - Renames Open Files to Open Changed Files on the
gitlens.showQuickCommitDetails
quick pick menu - Renames Open Working Files to Open Changed Working Files on the
gitlens.showQuickCommitDetails
quick pick menu - Renames Show Changed Files to Show Commit Details on the
gitlens.showQuickCommitFileDetails
quick pick menu - Renames Open Files to Open Changed Files on the
gitlens.showQuickRepoStatus
quick pick menu
- Fixes #44 by adding a warning message about Git version requirements
- Fixes intermittent errors when adding active line annotations
- Fixes intermittent errors when opening multiple files via quick pick menus
- Fixes #43 - File-level code lens isn't using the blame of the whole file as it should
- Fixes issue with single quotes (') in annotations
- Fixes output channel logging (also adds more debug information to code lens — when enabled)
- Adds blame and active line annotation support to git diff split view
- Adds command (compare, copy sha/message, etc) support to git diff split view
- Fixes startup failure if caching was disabled
- Fixes missing Compare Line with Previous Commit context menu item
- Fixes #41 - Toggle Blame annotations on compare files page
- Fixes issue with undo (to a saved state) not causing annotations to reappear properly
- Attempts to fix #42 - Cursor on Uncommitted message
- To accommodate the realization that blame information is invalid when a file has unsaved changes, the following behavior changes have been made
- Status bar blame information will hide
- Code lens change to a
Cannot determine...
message and become unclickable - Many menu choices and commands will hide
- Fixes #38 - Toggle Blame Annotation button shows even when it isn't valid
- Fixes #36 - Blame information is invalid when a file has unsaved changes
- Adds
gitlens.blame.annotation.dateFormat
to specify how absolute commit dates will be shown in the blame annotations - Adds
gitlens.statusBar.date
to specify whether and how the commit date will be shown in the blame status bar - Adds
gitlens.statusBar.dateFormat
to specify how absolute commit dates will be shown in the blame status bar
- Fixes #39 - Add date format options for status bar blame
- Fixes issue where Compare with * commands fail to open when there is no active editor
- Adds new Open File command on the
gitlens.showQuickCommitDetails
quick pick menu to open the commit version of the file - Adds new Open File command on the
gitlens.showQuickCommitDetails
quick pick menu to open the commit version of the files - Adds
alt+left
keyboard shortcut in quick pick menus to go back - Adds
alt+right
keyboard shortcut in quick pick menus to execute the currently selected item while keeping the quick pick menu open (in most cases)alt+right
keyboard shortcut on commit details file name, will open the commit version of the file
- Indents the file statuses on the
gitlens.showQuickCommitDetails
quick pick menu - Renames Open File to Open Working File on the
gitlens.showQuickCommitDetails
quick pick menu - Renames Open File and Open Working Files on the
gitlens.showQuickCommitDetails
quick pick menu - Reorders some quick pick menus
- Fixes #34 - Open file should open the selected version of the file
- Fixes some issue where some editors opened by the quick pick would not be opened in preview tabs
- Fixes issue where copy to clipboard commands would fail if there was no active editor
- Fixes issue where active line annotations would show for opened versioned files
- Fixes issue where code lens compare commands on opened versioned files would fail
- Adds proper support for multi-line commit messages
- Fixes #33 - Commit message styled as title in popup, when message starts with hash symbol
- Adds file status icons (added, modified, deleted, etc) to the
gitlens.showQuickCommitDetails
quick pick menu - Adds Copy Commit Sha to Clipboard command to commit files quick pick menu
- Adds Copy Commit Message to Clipboard command to commit files quick pick menu
- Changes Show Commit History to Show File History on the
gitlens.showQuickCommitDetails
quick pick menu - Changes Show Previous Commit History to Show Previous File History on the
gitlens.showQuickCommitDetails
quick pick menu
- Fixes issue with repository status when there are no changes
- Fixes issue with
.
showing in the path of quick pick menus - Fixes logging to clean up on extension deactivate
- Adds
gitlens.showQuickRepoStatus
command to show a quick pick menu of files changed including status icons (added, modified, deleted, etc) - Adds
alt+s
shortcut for thegitlens.showQuickRepoStatus
command
- Fixes #32 - 00000000 Uncommitted changes distracting
- Fixes #25 - Blame information isn't updated after git operations (commit, reset, etc)
- Fixes extra spacing in annotations
- Fixes #27 - Annotations are broken in vscode insider build
- Adds Open File command to
gitlens.showQuickCommitDetails
quick pick menu - Adds Open Files command to
gitlens.showQuickCommitDetails
quick pick menu - Improves performance of git-log operations in
gitlens.diffWithPrevious
andgitlens.diffWithWorking
commands
- Changes Not Committed Yet author for uncommitted changes to Uncommitted
- Fixes showing
gitlens.showQuickCommitDetails
quick pick menu for uncommitted changes — now shows the previous commit details
- Adds
gitlens.copyMessageToClipboard
command to copy commit message to the clipboard - Adds
gitlens.copyMessageToClipboard
to the editor content menu - Adds Copy Commit Message to Clipboard command to
gitlens.showQuickCommitDetails
quick pick menu
- Changes behavior of
gitlens.copyShaToClipboard
to copy the sha of the most recent commit to the repository if there is no active editor - Changes behavior of
gitlens.showQuickFileHistory
to executegitlens.showQuickRepoHistory
if there is no active editor
- Fixes issue where shortcut keys weren't disabled if GitLens was disabled
- Overhauls the
gitlens.showQuickRepoHistory
,gitlens.showQuickFileHistory
, andgitlens.showQuickCommitDetails
quick pick menus- Adds Show Repository History command to
gitlens.showQuickFileHistory
quick pick menu - Adds Show Previous Commits History command to
gitlens.showQuickCommitDetails
quick pick menu - Adds Show Commits History command to
gitlens.showQuickCommitDetails
quick pick menu - Adds Copy Commit Sha to Clipboard command to
gitlens.showQuickCommitDetails
quick pick menu - Adds Show Changed Files command to
gitlens.showQuickCommitDetails
quick pick menu - Adds more robust go back navigation in quick pick menus
- Adds commit message to placeholder text of many quick pick menus
- Adds icons for some commands
- Adds Show Repository History command to
- Adds
gitlens.diffWithPrevious
command to the editor content menu - Adds
gitlens.diffWithWorking
command to the editor content menu - Adds
gitlens.showQuickRepoHistory
andgitlens.showQuickCommitDetails
commands to code lens - Adds
gitlens.showQuickRepoHistory
andgitlens.showQuickCommitDetails
commands to the status bar
- Changes the default command of
gitlens.codeLens.recentChange.command
togitlens.showQuickCommitDetails
- Changes the default command of
gitlens.statusBar.command
togitlens.showQuickCommitDetails
- Changes behavior of
gitlens.showQuickCommitDetails
to show commit commands rather than file set (useShow Changed Files
command to get to the file set) - Changes
gitlens.diffWithPrevious
command to behave asgitlens.diffWithWorking
if the file has uncommitted changes - Renames
gitlens.diffWithPrevious
command fromDiff Commit with Previous
toCompare with Previous Commit
- Renames
gitlens.diffLineWithPrevious
command fromDiff Commit (line) with Previous
toCompare Line with Previous Commit
- Renames
gitlens.diffWithWorking
command fromDiff Commit with Working Tree
toCompare with Working Tree
- Renames
gitlens.diffLineWithWorking
command fromDiff Commit (line) with Working Tree
toCompare Line with Working Tree
- Fixes issues with certain git commands not working on Windows
- Fixes #31 - Disable gitlens if the project does not have
.git
folder - Fixes issue where quick pick menus could fail if there was no active editor
- Fixes code lens not updating in response to configuration changes
- Fixes overzealous active line annotation updating on document changes
- Adds a new GitLens logo and changes all images to svg
- Adds
alt+p
shortcut for thegitlens.diffLineWithPrevious
command - Adds
shift+alt+p
shortcut for thegitlens.diffWithPrevious
command - Adds
alt+w
shortcut for thegitlens.diffLineWithWorking
command - Adds
shift+alt+w
shortcut for thegitlens.diffWithWorking
command - Adds
gitlens.copyShaToClipboard
command to copy commit sha to the clipboard (#28) - Adds
gitlens.showQuickCommitDetails
command to show a quick pick menu of details for a commit - Adds
go back
choice togitlens.showQuickCommitDetails
,gitlens.showQuickFileHistory
, andgitlens.showQuickRepoHistory
quick pick menus - Adds
gitlens.blame.annotation.highlight
to specify whether and how to highlight blame annotations (#24) - Greatly improves performance of line navigation when either active line annotations or status bar blame is enabled
- Fixes #29 - Commit info tooltip duplicated for current line when blame is enabled
- Fixes issue where sometimes the commit history shown wasn't complete
- Fixes issues with
gitlens.diffLineWithPrevious
andgitlens.diffWithPrevious
not following renames properly - Fixes issues with
gitlens.diffLineWithPrevious
andgitlens.diffWithPrevious
not always grabbing the correct commit
- Adds auto-enable of whitespace toggling when using font-ligatures because of vscode issue
- Adds
gitlens.blame.annotation.characters.*
settings to provide some control over how annotations are displayed
- Fixes #22 - Cannot read property 'sha' of undefined
- Fixes #26 - Active line annotation doesn't disappear properly after delete
- Adds
gitlens.blame.annotation.activeLine
to specify whether and how to show blame annotations on the active line - Adds full commit message (rather than just summary) to active line hover if
gitlens.blame.annotation.activeLine
is notoff
- Adds new
trailing
blame annotation style — adds annotations after the code lines rather than before - Adds
gitlens.blame.annotation.message
to show the commit message inexpanded
andtrailing
blame annotation styles - Adds support for relative dates in blame annotations. Use
gitlens.blame.annotation.date
- Re-adds context menu for
gitlens.diffLineWithPrevious
— since vscode issue - Re-adds context menu for
gitlens.diffLineWithWorking
— since vscode issue
- Changes the design of hover annotations — much cleaner now
- Disables automatic whitespace toggling by default as it is seemingly no longer needed as vscode issue seems fixed. It can be re-enabled with
gitlens.advanced.toggleWhitespace.enabled
- Fixes issue where the status bar blame would get stuck switching between editors
- Fixes issue where code lens aren't updated properly after a file is saved
- Adds some logging to hopefully trap #22 - Cannot read property 'sha' of undefined
- Fixes issue with the latest insiders build (1.9.0-insider f67f87c5498d9361c0b29781c341fd032815314b) where there is a collision of document schemes
- Fixes issue where file history wouldn't compare correctly to working tree if the filename had changed
- Adds
gitlens.advanced.gitignore.enabled
to enable/disable .gitignore parsing. Addresses #20 - Nested .gitignore files can cause blame to fail with a repo within another repo
- Adds
alt+h
shortcut for thegitlens.showQuickFileHistory
command - Adds
shift+alt+h
shortcut for thegitlens.showQuickRepoHistory
command - Adds
gitlens.advanced.maxQuickHistory
to limit the number of quick history entries to show (for better performance); Defaults to 200 - Adds
gitlens.diffLineWithPrevious
asalt
context menu item forgitlens.diffWithPrevious
- Adds
gitlens.diffLineWithWorking
asalt
context menu item forgitlens.diffWithWorking
- Adds
gitlens.showFileHistory
asalt
context menu item forgitlens.showQuickFileHistory
- Removes context menu for
gitlens.diffLineWithPrevious
— since it is now thealt
ofgitlens.diffWithPrevious
- Removes context menu for
gitlens.diffLineWithWorking
— since it is now thealt
ofgitlens.diffWithWorking
- Replaces
gitlens.menus.fileDiff.enabled
andgitlens.menus.lineDiff.enabled
withgitlens.menus.diff.enabled
— since the switch between file and line diff is now controlled by thealt
key
- Adds Diff Commit with Working Tree to the explorer context menu (assuming
gitlens.menus.fileDiff.enabled
istrue
) - Adds Diff Commit with Working Tree & Diff Commit with Previous to the editor title context menu (assuming
gitlens.menus.fileDiff.enabled
istrue
)
- Renames Diff commands for better clarity
- Removes Git from the commands as it feels unnecessary
- Reorders the context menu commands
- Adds support for blame and history (log) on files opened via compare commands — allows for deep navigation through git history
- Adds compare (working vs previous) options to repository history
- Adds compare (working vs previous) options to file history
- Fixes issue with repository history compare with commits with multiple files
- Adds logging for tracking #18 - GitLens only displayed for some files
- Changes
gitlens.showQuickRepoHistory
command to run without an open editor (falls back to the folder repository)
- Adds new
gitlens.showQuickFileHistory
command to show the file history in a quick-pick list (palette) - Adds new
gitlens.showQuickRepoHistory
command to show the repository history in a quick-pick list (palette) - Adds
gitlens.showQuickFileHistory
option to thegitlens.codeLens.recentChange.command
,gitlens.codeLens.authors.command
, andgitlens.statusBar.command
settings
- Changes the
gitlens.statusBar.command
settings default togitlens.showQuickFileHistory
instead ofgitlens.toggleBlame
- Removes
git.viewFileHistory
option from thegitlens.codeLens.recentChange.command
,gitlens.codeLens.authors.command
, andgitlens.statusBar.command
settings
- Fixes #16 - incorrect 'Unable to find Git' message
- Adds support for git history (log)!
- Adds support for blame annotations and git commands on file revisions
- Adds ability to show multiple blame annotation at the same time (one per vscode editor)
- Adds new
gitlens.showFileHistory
command to open the history explorer - Adds new
gitlens.showFileHistory
option to thegitlens.codeLens.recentChange.command
,gitlens.codeLens.authors.command
, andgitlens.statusBar.command
settings - Adds per-language code lens location customization using the
gitlens.codeLens.languageLocations
setting - Adds new
gitlens.diffLineWithPrevious
command for line sensitive diffs - Adds new
gitlens.diffLineWithWorking
command for line sensitive diffs - Adds
gitlens.diffWithPrevious
command to the explorer context menu - Adds output channel logging, controlled by the
gitlens.advanced.output.level
setting - Improves performance of the code lens support
- Improves performance (significantly) when only showing code lens at the document level
- Improves performance of status bar blame support
- Switches on-demand code lens to be a global toggle (rather than per file)
- Complete rewrite of the blame annotation provider to reduce overhead and provide better performance
- Changes
gitlens.diffWithPrevious
command to always be file sensitive diffs - Changes
gitlens.diffWithWorking
command to always be file sensitive diffs - Removes all debug logging, unless the
gitlens.advanced.debug
settings it on
- Fixes many (most?) issues with whitespace toggling (required because of microsoft/vscode#11485)
- Fixes issue where blame annotations would not be cleared properly when switching between open files
- Fixes another off-by-one issue when diffing with caching
- Fixes off-by-one issues with blame annotations without caching and when diffing with a previous version
- Adds better uncommitted hover message in blame annotations
- Adds more protection for dealing with uncommitted lines
- Fixes loading issue on Linux
- Adds blame information in the status bar
- Add new status bar settings — see Extension Settings for details
- Adds new
gitlens.diffWithPrevious
option to thegitlens.codeLens.recentChange.command
&gitlens.codeLens.authors.command
settings
- Renames the
gitlens.codeLens.recentChange.command
&gitlens.codeLens.authors.command
settings options (to align with command names)
- Removes
gitlens.blame.annotation.useCodeActions
setting and behavior
- Fixes Diff with Previous when the selection is uncommitted
- Fixes #7 - missing spawn-rx dependency (argh!)
- Fixes #7 - missing lodash dependency
- Adds new code lens visibility & location settings — see Extension Settings for details
- Adds new command to toggle code lens on and off when
gitlens.codeLens.visibility
is set toondemand
- Replaces blame regex parsing with a more robust parser
- Fixes #1 - Support blame on files outside the workspace repository
- Fixes failures with Diff with Previous command
- Fixes issues with blame explorer code lens when dealing with previous commits
- Fixes display issues with compact blame annotations (now skips blank lines)
- Improved blame annotations, now with sha and author by default
- Add new blame annotation styles — compact and expanded (default)
- Adds many new configuration settings; see Extension Settings for details
- Adds .gitignore checks to reduce the number of blame calls
- Fixes #4 - Absolute paths fail on Windows due to backslash (Really!)
- Fixes #5 - Finding first non-white-space fails sometimes
- Adds attempt to scroll to the correct position when opening a diff
- Fixes #2 - [request] Provide some debug info when things fail
- Fixes #4 - Absolute paths fail on Windows due to backslash
- Removes code lens from fields and single-line properties to reduce visual noise
- Automatically turns off blame only when required now
- Fixes issues where filename changes in history would cause diffs to fails
- Fixes some issues with uncommitted blames
- Candidate for preview release on the vscode marketplace.
- Initial release but still heavily a work in progress.