@ -16,6 +16,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
## Changed
- Changes previous Gerrit remote support to Google Source remote support — thanks to [PR #1954](https://github.com/gitkraken/vscode-gitlens/pull/1954) by Felipe Santos ([@felipecrs](https://github.com/felipecrs))
- Renames "Gutter Blame" annotations to "File Blame"
- Renames "Gutter Changes" annotations to "File Changes"
- Renames "Gutter Heatmap" annotations to "File Heatmap"
@ -37,10 +37,10 @@ Here are just some of the **features** that GitLens provides,
- an unobtrusive [**current line blame**](#current-line-blame- 'Jump to Current Line Blame') annotation at the end of the line showing the commit and author who last modified the line, with more detailed blame information accessible on [**hover**](#hovers- 'Jump to Hovers')
- [**authorship CodeLens**](#git-codelens- 'Jump to Git CodeLens') showing the most recent commit and number of authors at the top of files and/or on code blocks
- a [**status bar blame**](#status-bar-blame- 'Jump to Status Bar Blame') annotation showing the commit and author who last modified the current line
- on-demand **file annotations** in the editor gutter, including
- [**blame**](#gutter-blame- 'Jump to Gutter Blame') — shows the commit and author who last modified each line of a file
- [**changes**](#gutter-changes- 'Jump to Gutter Changes') — highlights any local (unpublished) changes or lines changed by the most recent commit
- [**heatmap**](#gutter-heatmap- 'Jump to Gutter Heatmap') — shows how recently lines were changed, relative to all the other changes in the file and to now (hot vs. cold)
- on-demand **file annotations** in the editor, including
- [**blame**](#file-blame- 'Jump to File Blame') — shows the commit and author who last modified each line of a file
- [**changes**](#file-changes- 'Jump to File Changes') — highlights any local (unpublished) changes or lines changed by the most recent commit
- [**heatmap**](#file-heatmap- 'Jump to File Heatmap') — shows how recently lines were changed, relative to all the other changes in the file and to now (hot vs. cold)
- many rich **Side Bar views**
- a [**_Commits_ view**](#commits-view- 'Jump to the Commits view') to visualize, explore, and manage Git commits
- a [**_Repositories_ view**](#repositories-view- 'Jump to the Repositories view') to visualize, explore, and manage Git repositories
@ -229,37 +229,37 @@ Worktrees allow you to easily work on different branches of a repository simulta
- Click the **Changes** to execute the _Open Changes_ command
- Click the current and previous commit SHAs to execute the _Show Commit_ command
- Adds on-demand, [customizable](#gutter-blame-settings- 'Jump to the Gutter Blame settings'), and [themable](#themable-colors- 'Jump to Themable Colors'), **gutter blame annotations** to show the commit and author who last modified each line of a file
- Contains the commit message and date, by [default](#gutter-blame-settings- 'Jump to the Gutter Blame settings')
- Adds a **heatmap** (age) indicator on right edge (by [default](#gutter-blame-settings- 'Jump to the Gutter Blame settings')) of the gutter to provide an easy, at-a-glance way to tell how recently lines were changed ([optional](#gutter-blame-settings- 'Jump to the Gutter Blame settings'), on by default)
- See the [gutter heatmap](#gutter-Heatmap- 'Jump to Gutter Heatmap') section below for more details
- Adds on-demand, [customizable](#file-blame-settings- 'Jump to the File Blame settings'), and [themable](#themable-colors- 'Jump to Themable Colors'), **file blame annotations** to show the commit and author who last modified each line of a file
- Contains the commit message and date, by [default](#file-blame-settings- 'Jump to the File Blame settings')
- Adds a **heatmap** (age) indicator on right edge (by [default](#file-blame-settings- 'Jump to the File Blame settings')) of the file to provide an easy, at-a-glance way to tell how recently lines were changed ([optional](#file-blame-settings- 'Jump to the File Blame settings'), on by default)
- See the [file heatmap](#file-Heatmap- 'Jump to File Heatmap') section below for more details
- Adds a _Toggle File Blame_ command (`gitlens.toggleFileBlame`) with a shortcut of `alt+b` to toggle the blame annotations on and off
- Adds an on-demand, [customizable](#gutter-changes-settings- 'Jump to the Gutter Changes settings') and [themable](#themable-colors- 'Jump to Themable Colors'), **gutter changes annotation** to highlight any local (unpublished) changes or lines changed by the most recent commit
- Adds an on-demand, [customizable](#file-changes-settings- 'Jump to the File Changes settings') and [themable](#themable-colors- 'Jump to Themable Colors'), **file changes annotation** to highlight any local (unpublished) changes or lines changed by the most recent commit
- Adds _Toggle File Changes_ command (`gitlens.toggleFileChanges`) to toggle the changes annotations on and off
- Adds an on-demand **heatmap** to the edge of the gutter to show how recently lines were changed
- The indicator's [customizable](#gutter-heatmap-settings- 'Jump to the Gutter Heatmap settings') color will either be hot or cold based on the age of the most recent change (cold after 90 days by [default](#gutter-heatmap-settings- 'Jump to the Gutter Heatmap settings'))
- Adds an on-demand **heatmap** to the edge of the file to show how recently lines were changed
- The indicator's [customizable](#file-heatmap-settings- 'Jump to the File Heatmap settings') color will either be hot or cold based on the age of the most recent change (cold after 90 days by [default](#file-heatmap-settings- 'Jump to the File Heatmap settings'))
- 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 _Toggle File Heatmap Annotations_ command (`gitlens.toggleFileHeatmap`) to toggle the heatmap on and off
- Press `Escape` to turn off the annotations
@ -943,38 +943,38 @@ See also [View Settings](#view-settings- 'Jump to the View settings')
| `gitlens.views.search.files.compact` | Specifies whether to compact (flatten) unnecessary file nesting in the _Search Commits_ view<br/>Only applies when `gitlens.views.compare.files.layout` is set to `tree` or `auto` |
| `gitlens.views.search.files.layout` | Specifies how the _Search Commits_ view will display files<br/>`auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.views.compare.files.threshold` value and the number of files at each nesting level<br/>`list` - displays files as a list<br/>`tree` - displays files as a tree |
| `gitlens.blame.dateFormat` | Specifies how to format absolute dates (e.g. using the `${date}` token) in gutter blame annotations. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats |
| `gitlens.blame.format` | Specifies the format of the gutter blame annotations. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `gitlens.blame.dateFormat` setting |
| `gitlens.blame.heatmap.enabled` | Specifies whether to provide a heatmap indicator in the gutter blame annotations |
| `gitlens.blame.heatmap.location` | Specifies where the heatmap indicators will be shown in the gutter blame annotations<br/><br/>`left` - adds a heatmap indicator on the left edge of the gutter blame annotations<br/>`right` - adds a heatmap indicator on the right edge of the gutter blame annotations |
| `gitlens.blame.highlight.enabled` | Specifies whether to highlight lines associated with the current line |
| `gitlens.blame.highlight.locations` | Specifies where the associated line highlights will be shown<br/><br/>`gutter` - adds a gutter indicator<br/>`line` - adds a full-line highlight background color<br/>`overview` - adds an indicator to the scroll bar |
| `gitlens.blame.ignoreWhitespace` | Specifies whether to ignore whitespace when comparing revisions during blame operations |
| `gitlens.blame.separateLines` | Specifies whether gutter blame annotations will have line separators |
| `gitlens.blame.toggleMode` | Specifies how the gutter blame annotations will be toggled<br/><br/>`file` - toggles each file individually<br/>`window` - toggles the window, i.e. all files at once |
| `gitlens.changes.locations` | Specifies where the indicators of the gutter changes annotations will be shown<br/><br/>`gutter` - adds a gutter indicator<br/>`line` - adds a full-line highlight background color<br/>`overview` - adds an indicator to the scroll bar |
| `gitlens.changes.toggleMode` | Specifies how the gutter changes annotations will be toggled<br/><br/>`file` - toggles each file individually<br/>`window` - toggles the window, i.e. all files at once |
| `gitlens.heatmap.ageThreshold` | Specifies the age of the most recent change (in days) after which the gutter heatmap annotations will be cold rather than hot (i.e. will use `gitlens.heatmap.coldColor` instead of `gitlens.heatmap.hotColor`) |
| `gitlens.heatmap.coldColor` | Specifies the base color of the gutter heatmap annotations when the most recent change is older (cold) than the `gitlens.heatmap.ageThreshold` value |
| `gitlens.heatmap.hotColor` | Specifies the base color of the gutter heatmap annotations when the most recent change is newer (hot) than the `gitlens.heatmap.ageThreshold` value |
| `gitlens.heatmap.locations` | Specifies where the indicators of the gutter heatmap annotations will be shown<br/><br/>`gutter` - adds a gutter indicator<br/>`line` - adds a full-line highlight background color<br/>`overview` - adds an indicator to the scroll bar |
| `gitlens.heatmap.toggleMode` | Specifies how the gutter heatmap annotations will be toggled<br/><br/>`file` - toggles each file individually<br/>`window` - toggles the window, i.e. all files at once |
| `gitlens.blame.dateFormat` | Specifies how to format absolute dates (e.g. using the `${date}` token) in file blame annotations. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats |
| `gitlens.blame.format` | Specifies the format of the file blame annotations. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `gitlens.blame.dateFormat` setting |
| `gitlens.blame.heatmap.enabled` | Specifies whether to provide a heatmap indicator in the file blame annotations |
| `gitlens.blame.heatmap.location` | Specifies where the heatmap indicators will be shown in the file blame annotations<br/><br/>`left` - adds a heatmap indicator on the left edge of the file blame annotations<br/>`right` - adds a heatmap indicator on the right edge of the file blame annotations |
| `gitlens.blame.highlight.enabled` | Specifies whether to highlight lines associated with the current line |
| `gitlens.blame.highlight.locations` | Specifies where the associated line highlights will be shown<br/><br/>`gutter` - adds an indicator to the gutter<br/>`line` - adds a full-line highlight background color<br/>`overview` - adds an indicator to the scroll bar |
| `gitlens.blame.ignoreWhitespace` | Specifies whether to ignore whitespace when comparing revisions during blame operations |
| `gitlens.blame.separateLines` | Specifies whether file blame annotations will have line separators |
| `gitlens.blame.toggleMode` | Specifies how the file blame annotations will be toggled<br/><br/>`file` - toggles each file individually<br/>`window` - toggles the window, i.e. all files at once |
| `gitlens.changes.locations` | Specifies where the indicators of the file changes annotations will be shown<br/><br/>`gutter` - adds an indicator to the gutter<br/>`line` - adds a full-line highlight background color<br/>`overview` - adds an indicator to the scroll bar |
| `gitlens.changes.toggleMode` | Specifies how the file changes annotations will be toggled<br/><br/>`file` - toggles each file individually<br/>`window` - toggles the window, i.e. all files at once |
| `gitlens.heatmap.ageThreshold` | Specifies the age of the most recent change (in days) after which the file heatmap annotations will be cold rather than hot (i.e. will use `gitlens.heatmap.coldColor` instead of `gitlens.heatmap.hotColor`) |
| `gitlens.heatmap.coldColor` | Specifies the base color of the file heatmap annotations when the most recent change is older (cold) than the `gitlens.heatmap.ageThreshold` value |
| `gitlens.heatmap.hotColor` | Specifies the base color of the file heatmap annotations when the most recent change is newer (hot) than the `gitlens.heatmap.ageThreshold` value |
| `gitlens.heatmap.locations` | Specifies where the indicators of the file heatmap annotations will be shown<br/><br/>`gutter` - adds an indicator to the gutter<br/>`line` - adds a full-line highlight background color<br/>`overview` - adds an indicator to the scroll bar |
| `gitlens.heatmap.toggleMode` | Specifies how the file heatmap annotations will be toggled<br/><br/>`file` - toggles each file individually<br/>`window` - toggles the window, i.e. all files at once |
| `gitlens.menus` | Specifies which commands will be added to which menus |
| `gitlens.fileAnnotations.command` | Specifies whether the file annotations button in the editor title shows a menu or immediately toggles the specified file annotations<br/>`null` (default) - shows a menu to choose which file annotations to toggle<br/>`blame` - toggles gutter blame annotations<br/>`heatmap` - toggles gutter heatmap annotations<br/>`changes` - toggles gutter changes annotations |
| `gitlens.menus` | Specifies which commands will be added to which menus |
| `gitlens.fileAnnotations.command` | Specifies whether the file annotations button in the editor title shows a menu or immediately toggles the specified file annotations<br/>`null` (default) - shows a menu to choose which file annotations to toggle<br/>`blame` - toggles file blame annotations<br/>`heatmap` - toggles file heatmap annotations<br/>`changes` - toggles file changes annotations |
"markdownDescription":"Specifies how the gutter blame annotations will be toggled",
"markdownDescription":"Specifies how the file blame annotations will be toggled",
"scope":"window",
"order":10
},
"gitlens.blame.format":{
"type":"string",
"default":"${message|50?} ${agoOrDate|14-}",
"markdownDescription":"Specifies the format of the gutter blame annotations. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `#gitlens.blame.dateFormat#` setting",
"markdownDescription":"Specifies the format of the file blame annotations. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `#gitlens.blame.dateFormat#` setting",
"scope":"window",
"order":20
},
"gitlens.blame.heatmap.enabled":{
"type":"boolean",
"default":true,
"markdownDescription":"Specifies whether to provide a heatmap indicator in the gutter blame annotations",
"markdownDescription":"Specifies whether to provide a heatmap indicator in the file blame annotations",
"scope":"window",
"order":30
},
@ -1864,24 +1864,24 @@
"right"
],
"enumDescriptions":[
"Adds a heatmap indicator on the left edge of the gutter blame annotations",
"Adds a heatmap indicator on the right edge of the gutter blame annotations"
"Adds a heatmap indicator on the left edge of the file blame annotations",
"Adds a heatmap indicator on the right edge of the file blame annotations"
],
"markdownDescription":"Specifies where the heatmap indicators will be shown in the gutter blame annotations",
"markdownDescription":"Specifies where the heatmap indicators will be shown in the file blame annotations",
"scope":"window",
"order":31
},
"gitlens.blame.avatars":{
"type":"boolean",
"default":true,
"markdownDescription":"Specifies whether to show avatar images in the gutter blame annotations",
"markdownDescription":"Specifies whether to show avatar images in the file blame annotations",
"scope":"window",
"order":40
},
"gitlens.blame.compact":{
"type":"boolean",
"default":true,
"markdownDescription":"Specifies whether to compact (deduplicate) matching adjacent gutter blame annotations",
"markdownDescription":"Specifies whether to compact (deduplicate) matching adjacent file blame annotations",
"scope":"window",
"order":50
},
@ -1907,7 +1907,7 @@
"overview"
],
"enumDescriptions":[
"Adds a gutter indicator",
"Adds an indicator to the gutter",
"Adds a full-line highlight background color",
"Adds an indicator to the scroll bar"
]
@ -1922,7 +1922,7 @@
"gitlens.blame.separateLines":{
"type":"boolean",
"default":true,
"markdownDescription":"Specifies whether gutter blame annotations will be separated by a small gap",
"markdownDescription":"Specifies whether file blame annotations will be separated by a small gap",
"scope":"window",
"order":70
},
@ -1932,15 +1932,15 @@
"null"
],
"default":null,
"markdownDescription":"Specifies how to format absolute dates (e.g. using the `${date}` token) in gutter blame annotations. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"markdownDescription":"Specifies how to format absolute dates (e.g. using the `${date}` token) in file blame annotations. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"scope":"window",
"order":80
}
}
},
{
"id":"gutter-changes",
"title":"Gutter Changes",
"id":"file-changes",
"title":"File Changes",
"order":101,
"properties":{
"gitlens.changes.toggleMode":{
@ -1954,7 +1954,7 @@
"Toggles each file individually",
"Toggles the window, i.e. all files at once"
],
"markdownDescription":"Specifies how the gutter changes annotations will be toggled",
"markdownDescription":"Specifies how the file changes annotations will be toggled",
"scope":"window",
"order":10
},
@ -1973,7 +1973,7 @@
"overview"
],
"enumDescriptions":[
"Adds a gutter indicator",
"Adds an indicator to the gutter",
"Adds a full-line highlight background color",
"Adds an indicator to the scroll bar"
]
@ -1981,15 +1981,15 @@
"minItems":1,
"maxItems":2,
"uniqueItems":true,
"markdownDescription":"Specifies where the indicators of the gutter changes annotations will be shown",
"markdownDescription":"Specifies where the indicators of the file changes annotations will be shown",
"scope":"window",
"order":20
}
}
},
{
"id":"gutter-heatmap",
"title":"Gutter Heatmap",
"id":"file-heatmap",
"title":"File Heatmap",
"order":102,
"properties":{
"gitlens.heatmap.toggleMode":{
@ -2003,7 +2003,7 @@
"Toggles each file individually",
"Toggles the window, i.e. all files at once"
],
"markdownDescription":"Specifies how the gutter heatmap annotations will be toggled",
"markdownDescription":"Specifies how the file heatmap annotations will be toggled",
"scope":"window",
"order":10
},
@ -2022,7 +2022,7 @@
"overview"
],
"enumDescriptions":[
"Adds a gutter indicator",
"Adds an indicator to the gutter",
"Adds a full-line highlight background color",
"Adds an indicator to the scroll bar"
]
@ -2030,7 +2030,7 @@
"minItems":1,
"maxItems":2,
"uniqueItems":true,
"markdownDescription":"Specifies where the indicators of the gutter heatmap annotations will be shown",
"markdownDescription":"Specifies where the indicators of the file heatmap annotations will be shown",
"scope":"window",
"order":20
},
@ -2044,21 +2044,21 @@
"gitlens.heatmap.ageThreshold":{
"type":"number",
"default":90,
"markdownDescription":"Specifies the age of the most recent change (in days) after which the gutter heatmap annotations will be cold rather than hot (i.e. will use `#gitlens.heatmap.coldColor#` instead of `#gitlens.heatmap.hotColor#`)",
"markdownDescription":"Specifies the age of the most recent change (in days) after which the file heatmap annotations will be cold rather than hot (i.e. will use `#gitlens.heatmap.coldColor#` instead of `#gitlens.heatmap.hotColor#`)",
"scope":"window",
"order":30
},
"gitlens.heatmap.coldColor":{
"type":"string",
"default":"#0a60f6",
"markdownDescription":"Specifies the base color of the gutter heatmap annotations when the most recent change is older (cold) than the `#gitlens.heatmap.ageThreshold#` value",
"markdownDescription":"Specifies the base color of the file heatmap annotations when the most recent change is older (cold) than the `#gitlens.heatmap.ageThreshold#` value",
"scope":"window",
"order":40
},
"gitlens.heatmap.hotColor":{
"type":"string",
"default":"#f66a0a",
"markdownDescription":"Specifies the base color of the gutter heatmap annotations when the most recent change is newer (hot) than the `#gitlens.heatmap.ageThreshold#` value",
"markdownDescription":"Specifies the base color of the file heatmap annotations when the most recent change is newer (hot) than the `#gitlens.heatmap.ageThreshold#` value",
"scope":"window",
"order":50
}
@ -2906,9 +2906,9 @@
"heatmap"
],
"enumDescriptions":[
"Shows the gutter blame annotations",
"Shows the gutter changes annotations",
"Shows the gutter heatmap annotations"
"Shows the file blame annotations",
"Shows the file changes annotations",
"Shows the file heatmap annotations"
],
"description":"Specifies which (if any) file annotations will be shown when this user-defined mode is active"
},
@ -3267,9 +3267,9 @@
],
"enumDescriptions":[
"Shows a menu to choose which file annotations to toggle",
"Toggles gutter blame annotations",
"Toggles gutter heatmap annotations",
"Toggles gutter changes annotations"
"Toggles file blame annotations",
"Toggles file heatmap annotations",
"Toggles file changes annotations"
],
"markdownDescription":"Specifies whether the file annotations button in the editor title shows a menu or immediately toggles the specified file annotations",
"scope":"window",
@ -3400,7 +3400,7 @@
"colors":[
{
"id":"gitlens.gutterBackgroundColor",
"description":"Specifies the background color of the gutter blame annotations",
"description":"Specifies the background color of the file blame annotations",
"defaults":{
"dark":"#FFFFFF13",
"light":"#0000000C",
@ -3409,7 +3409,7 @@
},
{
"id":"gitlens.gutterForegroundColor",
"description":"Specifies the foreground color of the gutter blame annotations",
"description":"Specifies the foreground color of the file blame annotations",
"defaults":{
"dark":"#BEBEBE",
"light":"#747474",
@ -3418,7 +3418,7 @@
},
{
"id":"gitlens.gutterUncommittedForegroundColor",
"description":"Specifies the foreground color of an uncommitted line in the gutter blame annotations",
"description":"Specifies the foreground color of an uncommitted line in the file blame annotations",
When activated, GitLens expands the gutter area to show the commit and author for each line of the file, similar to the current line blame. On the right edge of the gutter, an age indicator (heatmap) is shown to provide an easy, at-a-glance way to tell how recently lines were changed (see the Heatmap below for more details). An additional indicator, which highlights other lines that were also changed as part of the current line's commit, is shown both the far left edge and on the scrollbar.
💡 On an active file, use the [Toggle File Blame](command:workbench.action.quickOpen?%22>GitLens%3A%20Toggle%20File%20Blame%22) command from the Command Palette to turn the annotation on and off.
⚙️ Use the settings editor to customize the [file blame](command:gitlens.showSettingsPage?%22blame%22 'Jump to the Gutter Blame settings').
⚙️ Use the settings editor to customize the [file blame](command:gitlens.showSettingsPage?%22blame%22 'Jump to the File Blame settings').
When activated, indicators are shown on the left edge of the gutter to highlight any local, unpublished, changes or lines changed by the most recent commit.
When activated, indicators are shown on the editor to highlight any local, unpublished, changes or lines changed by the most recent commit.
💡 On an active file, use the [Toggle File Changes](command:workbench.action.quickOpen?%22>GitLens%3A%20Toggle%20File%20Changes%22) command from the Command Palette to turn the annotation on and off.
⚙️ Use the settings editor to customize the [file changes](command:gitlens.showSettingsPage?%22changes%22 'Jump to the Gutter Changes settings').
⚙️ Use the settings editor to customize the [file changes](command:gitlens.showSettingsPage?%22changes%22 'Jump to the File Changes settings').
When activated, a color-coded indicator line is shown on the left edge of the gutter to show how recently lines were changed relative to all the other changes in the file. The colors range from hot, orange, to cold, blue, based on the age of the most recent change. Changes are considered cold after 90 days.
When activated, color-coded indicators are shown on the editor to highlight how recently lines were changed relative to all the other changes in the file. The colors range from hot, orange, to cold, blue, based on the age of the most recent change. Changes are considered cold after 90 days.
💡 On an active file, use the [Toggle File Heatmap](command:workbench.action.quickOpen?%22>GitLens%3A%20Toggle%20File%20Heatmap%22) command from the Command Palette to turn the annotation on and off.
⚙️ Use the settings editor to customize the [file heatmap](command:gitlens.showSettingsPage?%22heatmap%22 'Jump to the Gutter Heatmap settings').
⚙️ Use the settings editor to customize the [file heatmap](command:gitlens.showSettingsPage?%22heatmap%22 'Jump to the File Heatmap settings').