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 an external link icon to the
details
hover annotations to run theOpen Commit in Remote
command (gitlens.openCommitInRemote
) - Adds full (multi-line) commit message to the
details
hover annotations
- Optimizes performance of the providing blame annotations, especially for large files (saw a ~61% 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 custom view
-
Adds an all-new
GitLens
custom view 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 upstreamGreen
- ahead of the upstreamRed
- behind the upstreamYellow
- 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
, andRefresh
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
, andShow Commit File Details
commands
- Provides a context menu on each changed file with
- 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
, andRefresh
commands - Provides a context menu on each branch with
Open Branch in Remote
, andRefresh
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
, andRefresh
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
, andShow Commit File Details
commands
- Provides a context menu on each changed file with
- 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
, andRefresh
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
, andRefresh
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
, andRefresh
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
, andRefresh
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
, andShow File History
commands
-
-
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
, andRefresh
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
, andShow Commit File Details
commands
-
Quickly switch between views using the
Switch to Repository View
orSwitch to History View
commands -
Provides toolbar commands to
Search Commits
,Switch to Repository View
orSwitch to History View
, andRefresh
-
-
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 (gitlens.showQuickCommitDetails
)
- Clicking the commit id will run the
- Adds the following command-links to the
changes
hover annotation- Clicking on
Changes
will run theCompare File Revisions
command (gitlens.diffWith
) - Clicking the current and previous commit ids will run the
Show Commit Details
command (gitlens.showQuickCommitDetails
)
- Clicking on
- Adds the following command-links to the
-
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 or not 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 theGitLens
custom view -
Adds
gitlens.gitExplorer.showTrackingBranch
setting to specify whether or not to show the tracking branch when displaying local branches in theGitLens
custom view -
Adds
gitlens.gitExplorer.commitFormat
setting to specify the format of committed changes in theGitLens
custom view -
Adds
gitlens.gitExplorer.commitFileFormat
setting to specify the format of a committed file in theGitLens
custom view -
Adds
gitlens.gitExplorer.stashFormat
setting to specify the format of stashed changes in theGitLens
custom view -
Adds
gitlens.gitExplorer.stashFileFormat
setting to specify the format of a stashed file in theGitLens
custom view -
Adds
${filePath}
token to file formatting settings
- Changes
Show Stashed Changes
option icon in repository status quick pick menu to match theGitLens
custom view - Changes
Stash Changes
option icon in stashed changes quick pick menu to a plus (+) - Renames
Compare File with Previous
command (gitlens.diffWithPrevious
) toCompare File with Previous Revision
- Renames
Compare File with Next Commit
command (gitlens.diffWithNext
) toCompare File with Next Revision
- Renames
Compare File with Working Tree
command (gitlens.diffWithWorking
) toCompare File with Working Revision
- Renames
Compare Line Commit with Previous
command (gitlens.diffLineWithPrevious
) toCompare Line Revision with Previous
- Renames
Compare Line Commit with Working Tree
command (gitlens.diffLineWithWorking
) toCompare Line Revision with Working
- Removes
Git Stashes
custom view view - as it's functionality has been folded into the newGitLens
custom view - 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 custom views natively now - Removes unneeded
Toggle Git Stashes Explorer
command (gitlens.stashExplorer.toggle
) since users can add or remove custom 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 or not to show theGit Stashes
custom view - Adds
Toggle Git Stashes Explorer
command (gitlens.stashExplorer.toggle
) - toggles theGit Stashes
custom view on and off
- Hides the
Git Stashes
custom view by default
- Fixes #108 - Option to remove stash explorer from the main explorer?
- Adds
Git Stashes
custom view to the Explorer activity- Shows all of the stashed changes in the repository
- Provides toolbar buttons to
Stash Changes
andRefresh
- Provides a context menu with
Apply Stashed Changes
andDelete 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
, andCompare File with Working Tree
commands
- Provides a context menu with
- 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 toCompare File with Branch...
- Renames
Open Line Commit in Remote
command toOpen Commit in Remote
- Renames
Show Line Commit Details
command toShow 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 theToggle File Blame Annotations
command button, which when you hold downalt
and click it will execute theToggle 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 themeable, 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 theToggle File Blame Annotations
command (gitlens.toggleFileBlame
) - Removes
Show Blame Annotations
command (gitlens.showBlame
) - replaced by theShow 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 toCompare File with Previous
- Renames
Compare Line with Previous Commit
command toCompare Line Commit with Previous
- Renames
Compare Line with Working Tree
command toCompare Line Commit with Working Tree
- Renames
Compare with Previous Commit
in quick pick menus toCompare File with Previous
- Renames
Compare with Working Tree
in quick pick menus toCompare 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
andOpen Line Commit in Remote
commands to actually work for everyone (part of their implementation was still behind thegitlens.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 theSearch commits
command (gitlens.showCommitSearch
) - Changes
alt+right
on commit details quick pick menu to execute theCompare File with Previous Commit
command (gitlens.diffWithPrevious
) when a file is selected - Changes
alt+right
on repository status quick pick menu to execute theCompare 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 whengitlens.codeLens.visibility
is set toauto
(the default) - Renames
Compare with...
command toCompare File with...
- Renames
Compare with Next Commit
command toCompare File with Next Commit
- Renames
Compare with Previous Commit
command toCompare File with Previous Commit
- Renames
Compare with Previous Commit
command toCompare File with Previous Commit
- Renames
Compare with Working Tree
command toCompare 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 theSearch 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 thegitlens.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 theShow 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 toShow Current Branch History
- Changes
Repository History
terminology toBranch 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 or not 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
- 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)[#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 thegitlens.showQuickCommitDetails
quick pick menu - Adds
Directory Compare with Working Tree
command on thegitlens.showQuickCommitDetails
quick pick menu - Adds a
Changed Files
grouping on thegitlens.showQuickCommitDetails
quick pick menu - Adds a
Close Unchanged Files
command on thegitlens.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
toOpen Changed Files
on thegitlens.showQuickCommitDetails
quick pick menu - Renames
Open Working Files
toOpen Changed Working Files
on thegitlens.showQuickCommitDetails
quick pick menu - Renames
Show Changed Files
toShow Commit Details
on thegitlens.showQuickCommitFileDetails
quick pick menu - Renames
Open Files
toOpen Changed Files
on thegitlens.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 thegitlens.showQuickCommitDetails
quick pick menu to open the commit version of the file - Adds new
Open File
command on thegitlens.showQuickCommitDetails
quick pick menu to open the commit version of the files - Adds
alt+left
keyboard shortcut in quick pick menus togo 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
toOpen Working File
on thegitlens.showQuickCommitDetails
quick pick menu - Renames
Open File
andOpen Working Files
on thegitlens.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
toShow File History
on thegitlens.showQuickCommitDetails
quick pick menu - Changes
Show Previous Commit History
toShow Previous File History
on thegitlens.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 togitlens.showQuickCommitDetails
quick pick menu - Adds
Open Files
command togitlens.showQuickCommitDetails
quick pick menu - Improves performance of git-log operations in
gitlens.diffWithPrevious
andgitlens.diffWithWorking
commands
- Changes
Not Committed Yet
author for uncommitted changes toUncommitted
- 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 togitlens.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 togitlens.showQuickFileHistory
quick pick menu - Adds
Show Previous Commits History
command togitlens.showQuickCommitDetails
quick pick menu - Adds
Show Commits History
command togitlens.showQuickCommitDetails
quick pick menu - Adds
Copy Commit Sha to Clipboard
command togitlens.showQuickCommitDetails
quick pick menu - Adds
Show Changed Files
command togitlens.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
- 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 (assuminggitlens.menus.fileDiff.enabled
istrue
) - Adds
Diff Commit with Working Tree
&Diff Commit with Previous
to the editor title context menu (assuminggitlens.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.