Browse Source

Renames GitLens explorer to Repositories explorer

Changes changelog image links to permalinks
Moves all images for docs into a docs folder
Removes unused images
main
Eric Amodio 6 years ago
parent
commit
5a88901a3c
135 changed files with 950 additions and 2018 deletions
  1. +2
    -7
      .vscodeignore
  2. +20
    -20
      CHANGELOG.md
  3. +92
    -140
      README.md
  4. BIN
      images/chat-badge.png
  5. +0
    -88
      images/chat-badge.svg
  6. BIN
      images/cl-annotation-format.png
  7. BIN
      images/cl-annotations-toggle.png
  8. BIN
      images/cl-branch-upstream-indicator.png
  9. BIN
      images/cl-current-line-scrollable.png
  10. BIN
      images/cl-general-settings.png
  11. BIN
      images/cl-heatmap-cold.png
  12. BIN
      images/cl-issue-linking.png
  13. BIN
      images/cl-menu-settings.png
  14. BIN
      images/cl-mode-switch.png
  15. BIN
      images/cl-modes-settings.png
  16. BIN
      images/cl-rich-tooltips.png
  17. BIN
      images/cl-settings-mode.png
  18. BIN
      images/cl-status-bar-reduce-flashing.png
  19. BIN
      images/cl-welcome.png
  20. +0
    -0
      images/docs/code-lens.png
  21. +0
    -0
      images/docs/current-line-blame.png
  22. +0
    -0
      images/docs/file-history-explorer.png
  23. +0
    -0
      images/docs/gitlens-logo-dark.png
  24. +0
    -0
      images/docs/gitlens-logo.pdn
  25. +0
    -0
      images/docs/gitlens-logo.png
  26. +0
    -0
      images/docs/gitlens-preview.gif
  27. +0
    -0
      images/docs/gutter-blame.png
  28. +0
    -0
      images/docs/heatmap.png
  29. +0
    -0
      images/docs/hovers-annotations-changes.png
  30. +0
    -0
      images/docs/hovers-annotations-details.png
  31. +0
    -0
      images/docs/hovers-annotations.png
  32. +0
    -0
      images/docs/hovers-current-line-changes.png
  33. +0
    -0
      images/docs/hovers-current-line-details.png
  34. +0
    -0
      images/docs/hovers-current-line.png
  35. +0
    -0
      images/docs/menu-branch-history.png
  36. +0
    -0
      images/docs/menu-commit-details.png
  37. +0
    -0
      images/docs/menu-commit-file-details.png
  38. +0
    -0
      images/docs/menu-file-history.png
  39. +0
    -0
      images/docs/menu-repo-status.png
  40. +0
    -0
      images/docs/menu-stash-details.png
  41. +0
    -0
      images/docs/menu-stash-list.png
  42. +0
    -0
      images/docs/recent-changes.png
  43. +0
    -0
      images/docs/repositories-explorer.png
  44. +0
    -0
      images/docs/results-explorer.png
  45. +0
    -0
      images/docs/settings.png
  46. +0
    -0
      images/docs/status-bar.png
  47. +0
    -10
      images/git-icon.svg
  48. +0
    -6
      images/git.svg
  49. BIN
      images/gitlens-preview-full.gif
  50. BIN
      images/gitlens-preview1.gif
  51. BIN
      images/gitlens-preview2.gif
  52. BIN
      images/ss-gitlens-explorer-history.png
  53. BIN
      images/ss-gitlens-history-explorer.png
  54. +86
    -86
      package.json
  55. +5
    -5
      src/codelens/codeLensProvider.ts
  56. +1
    -1
      src/commands/common.ts
  57. +3
    -3
      src/commands/showExplorer.ts
  58. +5
    -5
      src/configuration.ts
  59. +3
    -3
      src/constants.ts
  60. +14
    -14
      src/container.ts
  61. +43
    -3
      src/extension.ts
  62. +2
    -2
      src/git/gitService.ts
  63. +3
    -3
      src/git/models/repository.ts
  64. +3
    -3
      src/git/remotes/custom.ts
  65. +3
    -3
      src/git/remotes/factory.ts
  66. +36
    -68
      src/ui/config.ts
  67. +0
    -0
      src/ui/images/settings/file-history-explorer-avatars.png
  68. +0
    -0
      src/ui/images/settings/file-history-explorer.png
  69. +0
    -0
      src/ui/images/settings/repositories-explorer-avatars.png
  70. +0
    -0
      src/ui/images/settings/repositories-explorer-tree-compact.png
  71. +0
    -0
      src/ui/images/settings/repositories-explorer-tree.png
  72. +0
    -0
      src/ui/images/settings/repositories-explorer.png
  73. +0
    -0
      src/ui/images/settings/results-explorer-avatars.png
  74. +0
    -0
      src/ui/images/settings/results-explorer-tree-compact.png
  75. +0
    -0
      src/ui/images/settings/results-explorer-tree.png
  76. +0
    -0
      src/ui/images/settings/results-explorer.png
  77. +3
    -3
      src/ui/ipc.ts
  78. +294
    -240
      src/ui/settings/index.html
  79. +158
    -1134
      src/ui/welcome/index.html
  80. +2
    -2
      src/views/explorer.ts
  81. +2
    -2
      src/views/fileHistoryExplorer.ts
  82. +2
    -2
      src/views/lineHistoryExplorer.ts
  83. +2
    -2
      src/views/nodes/branchNode.ts
  84. +2
    -2
      src/views/nodes/branchesNode.ts
  85. +2
    -2
      src/views/nodes/folderNode.ts
  86. +2
    -2
      src/views/nodes/remoteNode.ts
  87. +2
    -2
      src/views/nodes/remotesNode.ts
  88. +3
    -3
      src/views/nodes/repositoriesNode.ts
  89. +3
    -3
      src/views/nodes/repositoryNode.ts
  90. +2
    -2
      src/views/nodes/statusFilesNode.ts
  91. +2
    -2
      src/views/nodes/statusUpstreamNode.ts
  92. +2
    -2
      src/views/nodes/tagNode.ts
  93. +2
    -2
      src/views/nodes/tagsNode.ts
  94. +22
    -19
      src/views/repositoriesExplorer.ts
  95. +2
    -2
      src/views/resultsExplorer.ts
  96. +2
    -2
      src/webviews/settingsEditor.ts
  97. +2
    -2
      src/webviews/webviewEditor.ts

+ 2
- 7
.vscodeignore View File

@ -4,13 +4,8 @@
.vscode/** .vscode/**
dist/ui/** dist/ui/**
emoji/** emoji/**
!images/dark/**
!images/light/**
!images/settings/**
!images/gitlens-icon.png
!images/gitlens-activitybar.svg
!images/cl-*.png
images/**
images/docs/**
images/**/*.pdn
node_modules/** node_modules/**
src/** src/**
test/** test/**

+ 20
- 20
CHANGELOG.md View File

@ -148,7 +148,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
### Added ### Added
- Adds completely revamped heatmap annotations - Adds completely revamped heatmap annotations
![cold heatmap](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-heatmap-cold.png)
![cold heatmap](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-heatmap-cold.png)
- 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](https://github.com/eamodio/vscode-gitlens/issues/419) - 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](https://github.com/eamodio/vscode-gitlens/issues/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 - 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 use `gitlens.heatmap.coldColor` instead of `gitlens.heatmap.hotColor`) - 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 use `gitlens.heatmap.coldColor` instead of `gitlens.heatmap.hotColor`)
@ -235,7 +235,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- Adds user-defined modes for quickly toggling between sets of settings - Adds user-defined modes for quickly toggling between sets of settings
![mode switch](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-mode-switch.png)
![mode switch](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-mode-switch.png)
- Adds _Switch Mode_ command (`gitlens.switchMode`) to quickly switch the active GitLens mode - 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 a built-in _Zen_ mode which for a zen-like experience, disables many visual features
@ -247,7 +247,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- Adds `gitlens.mode.statusBar.alignment` setting to specify the active GitLens mode alignment in the status bar - Adds `gitlens.mode.statusBar.alignment` setting to specify the active GitLens mode alignment in the status bar
- Adds modes settings (`gitlens.mode.*`) to the interactive settings editor - Adds modes settings (`gitlens.mode.*`) to the interactive settings editor
![modes settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-modes-settings.png)
![modes settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-modes-settings.png)
- Adds `gitlens.mode.active` setting to specify the active GitLens mode, if any - 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 `gitlens.modes` setting to specify the user-defined GitLens modes
@ -256,11 +256,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- Adds an icon for the _Compare File with Next Revision_ command (`gitlens.diffWithNext`) 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 menu settings (`gitlens.menus.*`) to the interactive settings editor
![menu settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-menu-settings.png)
![menu settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-menu-settings.png)
- Adds a display mode dropdown at the top of the interactive settings editor to reduce complexity - Adds a display mode dropdown at the top of the interactive settings editor to reduce complexity
![settings mode](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-settings-mode.png)
![settings mode](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-settings-mode.png)
- Adds `gitlens.settings.mode` setting to specify the display mode of the interactive settings editor - Adds `gitlens.settings.mode` setting to specify the display mode of the interactive settings editor
@ -346,33 +346,33 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- 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 new stand-alone _GitLens File History_ explorer to visualize the history of the current file — undocked version of the _GitLens_ explorer history view
![GitLens File History explorer](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-gitlens-history-explorer.png)
![GitLens File History explorer](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/ss-gitlens-history-explorer.png)
- Adds richer tooltips to the _GitLens_ and _GitLens Results_ explorers, and richer working tree and upstream status to the _GitLens_ explorer - Adds richer tooltips to the _GitLens_ and _GitLens Results_ explorers, and richer working tree and upstream status to the _GitLens_ explorer
![Rich tooltips](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-rich-tooltips.png)
![Rich tooltips](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-rich-tooltips.png)
- Adds an indicator to the _GitLens_ explorer's branch history to mark the synchronization point between the local and remote branch (if available) - Adds an indicator to the _GitLens_ explorer's branch history to mark the synchronization point between the local and remote branch (if available)
![Branch upstream indicator](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-branch-upstream-indicator.png)
![Branch upstream indicator](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-branch-upstream-indicator.png)
- Adds ability to easily switch between relative and absolute dates via the `gitlens.defaultDateStyle` settings — closes [#312](https://github.com/eamodio/vscode-gitlens/issues/312) - Adds ability to easily switch between relative and absolute dates via the `gitlens.defaultDateStyle` settings — closes [#312](https://github.com/eamodio/vscode-gitlens/issues/312)
- Adds `${agoOrDate}` and `${authorAgoOrDate}` tokens to `gitlens.blame.format`, `gitlens.currentLine.format`, `gitlens.explorers.commitFormat`, `gitlens.explorers.stashFormat`, and `gitlens.statusBar.format` settings which will honor the `gitlens.defaultDateStyle` setting - Adds `${agoOrDate}` and `${authorAgoOrDate}` tokens to `gitlens.blame.format`, `gitlens.currentLine.format`, `gitlens.explorers.commitFormat`, `gitlens.explorers.stashFormat`, and `gitlens.statusBar.format` settings which will honor the `gitlens.defaultDateStyle` setting
![General settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-general-settings.png)
![General settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-general-settings.png)
- Adds annotation format settings (`gitlens.*.format`) to the interactive settings editor - Adds annotation format settings (`gitlens.*.format`) to the interactive settings editor
![Annotation format settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-annotation-format.png)
![Annotation format settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-annotation-format.png)
- 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](https://github.com/eamodio/vscode-gitlens/issues/149), [#290](https://github.com/eamodio/vscode-gitlens/issues/290), [#265](https://github.com/eamodio/vscode-gitlens/issues/265) - 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](https://github.com/eamodio/vscode-gitlens/issues/149), [#290](https://github.com/eamodio/vscode-gitlens/issues/290), [#265](https://github.com/eamodio/vscode-gitlens/issues/265)
![Allow scrolling to annotation setting](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-current-line-scrollable.png)
![Allow scrolling to annotation setting](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-current-line-scrollable.png)
- Adds `gitlens.statusBar.reduceFlicker` setting to the interactive settings editor - Adds `gitlens.statusBar.reduceFlicker` setting to the interactive settings editor
![Reduce status bar flashing setting](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-status-bar-reduce-flashing.png)
![Reduce status bar flashing setting](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-status-bar-reduce-flashing.png)
- 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 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 ID to Clipboard_ (`gitlens.copyShaToClipboard`) command to changed file nodes in the _GitLens_ explorer and _GitLens Results_ explorer
@ -413,11 +413,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- Adds automatic issue linking to Bitbucket, GitHub, GitLab, and Visual Studio Team Services for commit messages in hovers - Adds automatic issue linking to Bitbucket, GitHub, GitLab, and Visual Studio Team Services for commit messages in hovers
![Issue linking in commit messages](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-issue-linking.png)
![Issue linking in commit messages](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-issue-linking.png)
- Adds support to toggle annotations for each file individually or for all files at once — closes [#289](https://github.com/eamodio/vscode-gitlens/issues/289) - Adds support to toggle annotations for each file individually or for all files at once — closes [#289](https://github.com/eamodio/vscode-gitlens/issues/289)
![Annotations toggle setting](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-annotations-toggle.png)
![Annotations toggle setting](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-annotations-toggle.png)
- Adds new controls the interactive settings editor (_Open Settings_ from the Command Palette) to configure this new behavior - 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.blame.toggleMode` setting to specify how the gutter blame annotations will be toggled, per file or window
@ -476,11 +476,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- Adds an all-new GitLens welcome page via the _Welcome_ (`gitlens.showWelcomePage`) command — provides a welcome / onboarding experience — closes [#51](https://github.com/eamodio/vscode-gitlens/issues/51) - Adds an all-new GitLens welcome page via the _Welcome_ (`gitlens.showWelcomePage`) command — provides a welcome / onboarding experience — closes [#51](https://github.com/eamodio/vscode-gitlens/issues/51)
![GitLens Welcome](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-welcome.png)
![GitLens Welcome](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-welcome.png)
- 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](https://github.com/eamodio/vscode-gitlens/issues/167) - 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](https://github.com/eamodio/vscode-gitlens/issues/167)
![GitLens Settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-settings.png)
![GitLens Settings](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/cl-settings.png)
- Adds a tree layout option to branches in the _GitLens_ explorer — closes [#258](https://github.com/eamodio/vscode-gitlens/issues/258) thanks to [PR #260](https://github.com/eamodio/vscode-gitlens/pull/260) by Yukai Huang ([@Yukaii](https://github.com/Yukaii))! - Adds a tree layout option to branches in the _GitLens_ explorer — closes [#258](https://github.com/eamodio/vscode-gitlens/issues/258) thanks to [PR #260](https://github.com/eamodio/vscode-gitlens/pull/260) by Yukai Huang ([@Yukaii](https://github.com/Yukaii))!
- Adds _Follow Renames_ command (`gitlens.gitExplorer.setRenameFollowingOn`) to the _GitLens_ explorer _History_ view to follow file renames in the history - Adds _Follow Renames_ command (`gitlens.gitExplorer.setRenameFollowingOn`) to the _GitLens_ explorer _History_ view to follow file renames in the history
@ -1047,7 +1047,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- Adds a **quick-access** command bar to the bottom of the **details** hover annotations - Adds a **quick-access** command bar to the bottom of the **details** hover annotations
![Details Blame Annotation (hover)](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-hovers-current-line-details.png)
![Details Blame Annotation (hover)](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/ss-hovers-current-line-details.png)
- Provides _Open Changes_, _Blame Previous Revision_, _Open in Remote_, and _Show More Actions_ command buttons - Provides _Open Changes_, _Blame Previous Revision_, _Open in Remote_, and _Show More Actions_ command buttons
@ -1167,7 +1167,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- **Repository View** - provides a full repository explorer - **Repository View** - provides a full repository explorer
![GitLens Repository view](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-gitlens-explorer-repository.png)
![GitLens Repository view](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/ss-gitlens-explorer-repository.png)
- **Repository Status** node — provides the status of the repository - **Repository Status** node — provides the status of the repository
@ -1209,7 +1209,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- **File History View** - provides the revision history of the active file - **File History View** - provides the revision history of the active file
![GitLens File History view](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-gitlens-explorer-history.png)
![GitLens File History view](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/ss-gitlens-explorer-history.png)
- Automatically updates to track the active editor - 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 with _Open File_, _Open File in Remote_, and _Refresh_ commands
@ -1220,7 +1220,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- Adds all-new interactivity to the hover annotations - Adds all-new interactivity to the hover annotations
![Hover Annotations](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-hovers-annotations.png)
![Hover Annotations](https://raw.githubusercontent.com/eamodio/vscode-gitlens/4ddb871459a3a1a1e132c8bdf83ac12e3b699649/images/ss-hovers-annotations.png)
- Adds the following command-links to the **details** hover annotation - Adds the following command-links to the **details** hover annotation
- Clicking the commit id will run the _Show Commit Details_ command - Clicking the commit id will run the _Show Commit Details_ command

+ 92
- 140
README.md View File

@ -5,67 +5,16 @@
<p align="center"> <p align="center">
<br /> <br />
<a title="Learn more about GitLens" href="http://gitlens.amod.io"><img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/gitlens-logo.png" alt="GitLens Logo" /></a>
<a title="Learn more about GitLens" href="http://gitlens.amod.io"><img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/gitlens-logo.png" alt="GitLens Logo" /></a>
</p> </p>
> GitLens **supercharges** the Git capabilities built into Visual Studio Code. It helps you to **visualize code authorship** at a glance via Git blame annotations and code lens, **seamlessly navigate and explore** Git repositories, **gain valuable insights** via powerful comparison commands, and so much more. > GitLens **supercharges** the Git capabilities built into Visual Studio Code. It helps you to **visualize code authorship** at a glance via Git blame annotations and code lens, **seamlessly navigate and explore** Git repositories, **gain valuable insights** via powerful comparison commands, and so much more.
<br /> <br />
https://raw.githubusercontent.com/eamodio/vscode-gitlens/blob/cd90faa526720cb4b07a52b3cf84abaa55a978a0/images/cl-heatmap-cold.png
# What's new in GitLens 9
# What's new in GitLens 8
## 8.5 &mdash; July 2018
- 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 emoji support, e.g. :smile: in commit messages will now be 😃 &mdash; closes [#429](https://github.com/eamodio/vscode-gitlens/issues/429)
- Adds _Compare with Selected_ and _Select for Compare_ commands to file nodes in the _GitLens_, _GitLens File History_, and _GitLens Results_ explorers &mdash; closes [#446](https://github.com/eamodio/vscode-gitlens/issues/446)
- Adds tag annotations to the tag tooltips in the _GitLens_ explorer &mdash; closes [#431](https://github.com/eamodio/vscode-gitlens/issues/431)
- Adds _Choose from Branch or Tag History..._ to the quick pick menu shown by the _Show File History..._ command (`gitlens.showQuickFileHistory`) &mdash; closes [#316](https://github.com/eamodio/vscode-gitlens/issues/316)
- Adds the _Open Changes with Revision..._ command (`gitlens.diffWithRevision`) as an alternate (`alt+click`) for the _Open Changes with Previous Revision_ command in the editor toolbar
- Adds _Checkout Commit (via Terminal)_ command (`gitlens.terminalCheckoutCommit`) to commit node(s) of the _GitLens_ explorer &mdash; closes [#463](https://github.com/eamodio/vscode-gitlens/issues/463)
- Adds `gitlens.historyExplorer.avatars` setting to specify whether to show avatar images instead of status icons in the _GitLens File History_ explorer &mdash; allows for an independent value from the other explorers
- Adds a `gitlens.hovers.avatars` setting to specify whether to show avatar images in hovers &mdash; closes [#432](https://github.com/eamodio/vscode-gitlens/issues/432) thanks to [PR #441](https://github.com/eamodio/vscode-gitlens/pull/441) by Segev Finer ([@segevfiner](https://github.com/segevfiner))
- Adds the `gitlens.hovers.avatars` setting to the _GitLens_ interactive settings editor to specify whether to show avatar images in hovers
- Adds _Copy Remote File Url to Clipboard_ (`gitlens.copyRemoteFileUrlToClipboard`) command &mdash; copies the remote url of the current file and line to the clipboard &mdash; closes [#467](https://github.com/eamodio/vscode-gitlens/issues/467)
- 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
- 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 _Open Changes 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..._
- 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
- Updates settings descriptions to better support the new settings editor in vscode
- Removes `gitlens:activeIsTracked`, `gitlens:activeIsBlameable`, `gitlens:activeIsRevision`, and `gitlens:activeHasRemotes` contexts and consolidates them into `gitlens:activeFileStatus` for better performance and UX
- Fixes [#436](https://github.com/eamodio/vscode-gitlens/issues/436) - Copy to clipboard not working
- Fixes [#442](https://github.com/eamodio/vscode-gitlens/issues/442) - GitLens File History fails if name (or path) starts with `-`
- Fixes [#440](https://github.com/eamodio/vscode-gitlens/issues/440) - Searching for commits with an empty query yields to no results anymore
- Fixes [#444](https://github.com/eamodio/vscode-gitlens/issues/444) - GitLens custom viewlet icon slightly larger than standard
- Fixes [#437](https://github.com/eamodio/vscode-gitlens/issues/437) - Remove `--first-parent` from git commands to show file history from merged in repositories
- Fixes [#252](https://github.com/eamodio/vscode-gitlens/issues/252) - Cannot read property 'push' of undefined
- Fixes [#451](https://github.com/eamodio/vscode-gitlens/issues/451) - "apply Changes" has discarded all my changes
- Fixes [#449](https://github.com/eamodio/vscode-gitlens/issues/449) - Stop hiding explorers by default when in Zen mode
- Fixes [#454](https://github.com/eamodio/vscode-gitlens/issues/454) - Search for string returns merge commits (unlike raw `git log -S`)
- Fixes [#462](https://github.com/eamodio/vscode-gitlens/issues/462) - Source Control shortcut on macOS (⌃⇧G) shouldn't be overridden
- Fixes [#457](https://github.com/eamodio/vscode-gitlens/issues/457) - Displays the wrong username (You) &mdash; thanks to [PR #460](https://github.com/eamodio/vscode-gitlens/pull/460) by Zyck ([@qzyse2017](https://github.com/qzyse2017))
- Fixes [#459](https://github.com/eamodio/vscode-gitlens/issues/459) - File blame annotation text overflow with letter spacing setting
- Fixes [#471](https://github.com/eamodio/vscode-gitlens/issues/471) - Don't use Ctrl+Alt+[character] as a shortcut
- Fixes [#478](https://github.com/eamodio/vscode-gitlens/issues/478) - `suppressShowKeyBindingsNotice` gets saved even when it is not required
- Fixes [#468](https://github.com/eamodio/vscode-gitlens/issues/468) - Commit history for detached HEAD doesn't work properly
- Fixes [#477](https://github.com/eamodio/vscode-gitlens/issues/477) - Can't load any GitLens features or UI
- Fixes [#482](https://github.com/eamodio/vscode-gitlens/issues/482) - UI displays "undefined" in results panel when comparing
- Fixes issues with GitLens Welcome and the interactive settings editor with light themes
- Fixes issue where commands in the editor toolbar would flash unnecessarily when navigating history or switching tabs
- Fixes issue where the _Open Changes with Previous Revision_ command wouldn't work properly when the file had been renamed in some cases
- Fixes issue where the _Open Changes 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 where GitLens saves a couple settings with default values into user settings (rather than just removing the setting)
- Fixes issue showing changes with untracked stashed files
- Fixes issue showing changes with working file when the file has been renamed
## 9.0 &mdash; September 2018
See the [release notes](https://github.com/eamodio/vscode-gitlens/blob/master/CHANGELOG.md 'Open Release Notes') for the full set of changes See the [release notes](https://github.com/eamodio/vscode-gitlens/blob/master/CHANGELOG.md 'Open Release Notes') for the full set of changes
@ -78,14 +27,15 @@ GitLens simply helps you understand code better. Quickly glimpse into whom, why,
Here are just some of the features that GitLens provides, Here are just some of the features that GitLens provides,
- a [_GitLens_ explorer](#gitlens-explorer 'Jump to the GitLens explorer') to navigate and explore repositories
- a [_GitLens File History_ explorer](#gitlens-file-history-explorer 'Jump to the GitLens File History explorer') to navigate and explore file histories
- a [_GitLens Line History_ explorer](#gitlens-line-history-explorer 'Jump to the GitLens Line History explorer') to navigate and explore file line histories
- an on-demand [_GitLens Results_ explorer](#gitlens-results-explorer 'Jump to the GitLens Results explorer') to navigate and explore commit searches, visualize comparisons between branches, tags, commits, and more
- authorship [code lens](#code-lens 'Jump to the Code Lens') showing the most recent commit and # of authors to the top of files and/or on code blocks
- a [_Repositories_ explorer](#repositories-explorer 'Jump to the Repositories explorer') to visualize, navigate, and explore Git repositories
- a [_File History_ explorer](#file-history-explorer 'Jump to the File History explorer') to visualize, navigate, and explore the revision history of the current file
- a [_Line History_ explorer](#line-history-explorer 'Jump to the Line History explorer') to visualize, navigate, and explore the revision history of the selected lines of current file
- an on-demand [_Results_ explorer](#results-explorer 'Jump to the Results explorer') to navigate and explore commits, histories, and searches, or visualize comparisons between branches, tags, commits, and more
- [authorship code lens](#code-lens 'Jump to the Code Lens') showing the most recent commit and # of authors to the top of files and/or on code blocks
- an unobtrusive [current line blame](#current-line-blame 'Jump to the Current Line Blame') annotation at the end of the line - an unobtrusive [current line blame](#current-line-blame 'Jump to the Current Line Blame') annotation at the end of the line
- on-demand [gutter blame](#gutter-blame 'Jump to the Gutter Blame') annotations, including a heatmap, for the whole file - on-demand [gutter blame](#gutter-blame 'Jump to the Gutter Blame') annotations, including a heatmap, for the whole file
- on-demand [gutter heatmap](#gutter-heatmap 'Jump to the Gutter Heatmap') annotations to show how recently lines were changed, relative to all the other changes in the file and to now (hot vs. cold) - on-demand [gutter heatmap](#gutter-heatmap 'Jump to the Gutter Heatmap') annotations to show how recently lines were changed, relative to all the other changes in the file and to now (hot vs. cold)
- detailed blame information accessible via [hovers](#hovers 'Jump to Hovers)
- on-demand [recent changes](#recent-changes 'Jump to the Recent Changes') annotations to highlight lines changed by the most recent commit - on-demand [recent changes](#recent-changes 'Jump to the Recent Changes') annotations to highlight lines changed by the most recent commit
- a [status bar blame](#status-bar-blame 'Jump to the Status Bar Blame') annotation showing author and date for the current line - a [status bar blame](#status-bar-blame 'Jump to the Status Bar Blame') annotation showing author and date for the current line
- [commit search](#commit-search 'Jump to the Commit Search') &mdash; by message, author, filename, commit id, or code changes - [commit search](#commit-search 'Jump to the Commit Search') &mdash; by message, author, filename, commit id, or code changes
@ -96,7 +46,7 @@ GitLens is powerful, feature rich, and also [highly customizable](#gitlens-setti
<p align="center"> <p align="center">
<br /> <br />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/gitlens-preview.gif" alt="GitLens Preview" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/gitlens-preview.gif" alt="GitLens Preview" />
<br /> <br />
</p> </p>
@ -136,7 +86,7 @@ None yet — could be you!
## Configuration ## Configuration
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/cl-settings.png" alt="GitLens Explorer Repository view" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/settings.png" alt="GitLens Interactive Settings" />
</p> </p>
GitLens has a built-in interactive settings editor which provides an easy-to-use interface to configure many of GitLens' powerful features. It can be accessed via the _Open Settings_ (`gitlens.showSettingsPage`) command from the [_Command Palette_](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette). GitLens has a built-in interactive settings editor which provides an easy-to-use interface to configure many of GitLens' powerful features. It can be accessed via the _Open Settings_ (`gitlens.showSettingsPage`) command from the [_Command Palette_](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette).
@ -145,22 +95,22 @@ For more advanced customizations, refer to the [settings documentation](#gitlens
## Features ## Features
### GitLens Explorer
### Repositories Explorer
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-gitlens-explorer-repository.png" alt="GitLens Explorer" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/repositories-explorer.png" alt="Repositories Explorer" />
</p> </p>
A [customizable](#gitlens-explorer-settings 'Jump to the GitLens Explorer settings') explorer to navigate and explore repositories.
A [customizable](#repositories-explorer-settings 'Jump to the Repositories explorer settings') explorer to visualize, navigate, and explore Git repositories.
- A toolbar provides _Search Commits_, and _Refresh_ commands - A toolbar provides _Search Commits_, and _Refresh_ commands
- A context menu provides _Automatic Layout_, _List Layout_, _Tree Layout_, and _Enable Automatic Refresh_ or _Disable Automatic Refresh_ commands - A context menu provides _Automatic Layout_, _List Layout_, _Tree Layout_, and _Enable Automatic Refresh_ or _Disable Automatic Refresh_ commands
The explorer provides a full Git repository explorer, which has the following features,
The repositories explorer provides the following features,
- **Repository Status** - **Repository Status**
- Provides the name of the current branch, [optionally](#gitlens-explorer-settings 'Jump to the GitLens explorer settings') its working tree status, and its upstream tracking branch and status (if available)
- Provides the name of the current branch, [optionally](#repositories-explorer-settings 'Jump to the Repositories explorer settings') its working tree status, and its upstream tracking branch and status (if available)
- Provides indicator dots on the repository icon which denote the following: - Provides indicator dots on the repository icon which denote the following:
- _None_ &mdash; up-to-date with the upstream - _None_ &mdash; up-to-date with the upstream
- _Green_ &mdash; ahead of the upstream - _Green_ &mdash; ahead of the upstream
@ -171,13 +121,13 @@ The explorer provides a full Git repository explorer, which has the following fe
- is ahead of the upstream &mdash; quickly see and explore the specific commits ahead of the upstream (i.e. commits that haven't been pushed) - is ahead of the upstream &mdash; quickly see and explore the specific commits ahead of the upstream (i.e. commits that haven't been pushed)
- A context menu provides _Open Repository in Remote_, and _Refresh_ commands - A context menu provides _Open Repository in Remote_, and _Refresh_ commands
- **Changed Files** &mdash; lists all the "working" changes - **Changed Files** &mdash; lists all the "working" changes
- Expands to a file-based view of all changed files in the working tree ([optionally](#gitlens-explorer-settings 'Jump to the GitLens explorer settings')) and/or all files in all commits ahead of the upstream
- Expands to a file-based view of all changed files in the working tree ([optionally](#repositories-explorer-settings 'Jump to the Repositories explorer settings')) and/or all files in all commits ahead of the upstream
- **History (current-branch)** &mdash; lists the revision (commit) history of the current branch - **History (current-branch)** &mdash; lists the revision (commit) history of the current branch
- See the _Branches expand_ section under **Branches** below for more details - See the _Branches expand_ section under **Branches** below for more details
- **Branches** &mdash; lists the local branches - **Branches** &mdash; lists the local branches
- Indicates which branch is the current branch and [optionally](#gitlens-explorer-settings 'Jump to the GitLens explorer settings') shows the remote tracking branch
- Indicates which branch is the current branch and [optionally](#repositories-explorer-settings 'Jump to the Repositories explorer settings') shows the remote tracking branch
- A context menu provides _Open Branches in Remote_, and _Refresh_ commands - A context menu provides _Open Branches in Remote_, and _Refresh_ commands
- Branches expand to show its revision (commit) history - Branches expand to show its revision (commit) history
- Provides indicator dots on each branch icon which denote the following: - Provides indicator dots on each branch icon which denote the following:
@ -223,18 +173,18 @@ The explorer provides a full Git repository explorer, which has the following fe
--- ---
### GitLens File History Explorer
### File History Explorer
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-gitlens-history-explorer.png" alt="GitLens File History Explorer" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/file-history-explorer.png" alt="File History Explorer" />
</p> </p>
A [customizable](#gitlens-file-history-explorer-settings 'Jump to the GitLens File History Explorer settings') explorer to visualize the revision history of the current file.
A [customizable](#file-history-explorer-settings 'Jump to the File History explorer settings') explorer to visualize, navigate, and explore the revision history of the current file.
- A toolbar provides a _Refresh_ command - A toolbar provides a _Refresh_ command
- A context menu provides a _Follow Renames_ or _Don't Follow Renames_ command - A context menu provides a _Follow Renames_ or _Don't Follow Renames_ command
The file history explorer provides the revision history of the current file, which has the following features,
The file history explorer provides the following features,
- Automatically updates to track the current editor - Automatically updates to track the current editor
- A context menu provides _Open File_, _Open File in Remote_ (if available), _Copy Remote File Url to Clipboard_ (if available), and _Refresh_ commands - A context menu provides _Open File_, _Open File in Remote_ (if available), _Copy Remote File Url to Clipboard_ (if available), and _Refresh_ commands
@ -244,18 +194,18 @@ The file history explorer provides the revision history of the current file, whi
--- ---
### GitLens Line History Explorer
### Line History Explorer
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-gitlens-line-history-explorer.png" alt="GitLens Line History Explorer" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/line-history-explorer.png" alt="Line History Explorer" />
</p> </p>
A [customizable](#gitlens-line-history-explorer-settings 'Jump to the GitLens Line History Explorer settings') explorer to visualize the revision history of the selected lines of current file.
A [customizable](#line-history-explorer-settings 'Jump to the Line History explorer settings') explorer to visualize, navigate, and explore the revision history of the selected lines of current file.
- A toolbar provides a _Refresh_ command - A toolbar provides a _Refresh_ command
- A context menu provides a _Follow Renames_ or _Don't Follow Renames_ command - A context menu provides a _Follow Renames_ or _Don't Follow Renames_ command
The line history explorer provides the revision history of the selected lines in the current file, which has the following features,
The line history explorer provides the following features,
- Automatically updates to track the selection of the current editor - Automatically updates to track the selection of the current editor
- A context menu provides _Open File_, _Open File in Remote_ (if available), _Copy Remote File Url to Clipboard_ (if available), and _Refresh_ commands - A context menu provides _Open File_, _Open File in Remote_ (if available), _Copy Remote File Url to Clipboard_ (if available), and _Refresh_ commands
@ -265,17 +215,19 @@ The line history explorer provides the revision history of the selected lines in
--- ---
### GitLens Results Explorer
### Results Explorer
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-gitlens-results.png" alt="GitLens Results explorer" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/results-explorer.png" alt="Results explorer" />
</p> </p>
An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the GitLens Results explorer settings') explorer to navigate and explore commits, histories, and searches, or visualize comparisons between branches, tags, commits, and more
An on-demand, [customizable](#results-explorer-settings 'Jump to the Results explorer settings') explorer to navigate and explore commits, histories, and searches, or visualize comparisons between branches, tags, commits, and more
- A toolbar provides _Search Commits_, _Keep Results_, and _Refresh_ commands - A toolbar provides _Search Commits_, _Keep Results_, and _Refresh_ commands
- A context menu provides _Automatic Layout_, _List Layout_, _Tree Layout_, and _Close_ commands - A context menu provides _Automatic Layout_, _List Layout_, _Tree Layout_, and _Close_ commands
The results explorer provides the following features,
#### Explore #### Explore
- Provides a semi-persistent results view for exploring histories, commits, and searches - Provides a semi-persistent results view for exploring histories, commits, and searches
@ -319,7 +271,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
### Code Lens ### Code Lens
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-code-lens.png" alt="Code Lens" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/code-lens.png" alt="Code Lens" />
</p> </p>
- Adds Git authorship **code lens** to the top of the file and on code blocks ([optional](#code-lens-settings 'Jump to the Code Lens settings'), on by default) - Adds Git authorship **code lens** to the top of the file and on code blocks ([optional](#code-lens-settings 'Jump to the Code Lens settings'), on by default)
@ -346,7 +298,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
### Current Line Blame ### Current Line Blame
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-current-line-blame.png" alt="Current Line Blame" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/current-line-blame.png" alt="Current Line Blame" />
</p> </p>
- Adds an unobtrusive, [customizable](#current-line-blame-settings 'Jump to the Current Line Blame settings'), and [themable](#themable-colors 'Jump to the Themable Colors'), **blame annotation** at the end of the current line - Adds an unobtrusive, [customizable](#current-line-blame-settings 'Jump to the Current Line Blame settings'), and [themable](#themable-colors 'Jump to the Themable Colors'), **blame annotation** at the end of the current line
@ -358,7 +310,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
### Gutter Blame ### Gutter Blame
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-gutter-blame.png" alt="Gutter Blame">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/gutter-blame.png" alt="Gutter Blame">
</p> </p>
- Adds on-demand, [customizable](#gutter-blame-settings 'Jump to the Gutter Blame settings'), and [themable](#themable-colors 'Jump to the Themable Colors'), **gutter blame annotations** for the whole file - Adds on-demand, [customizable](#gutter-blame-settings 'Jump to the Gutter Blame settings'), and [themable](#themable-colors 'Jump to the Themable Colors'), **gutter blame annotations** for the whole file
@ -373,7 +325,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
### Gutter Heatmap ### Gutter Heatmap
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-heatmap.png" alt="Gutter Heatmap" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/heatmap.png" alt="Gutter Heatmap" />
</p> </p>
- Adds an on-demand **heatmap** to the edge of the gutter to show how recently lines were changed - Adds an on-demand **heatmap** to the edge of the gutter to show how recently lines were changed
@ -389,7 +341,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
#### Current Line Hovers #### Current Line Hovers
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-hovers-current-line.png" alt="Current Line Hovers" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/hovers-current-line.png" alt="Current Line Hovers" />
</p> </p>
- Adds [customizable](#hover-settings 'Jump to the Hover settings') Git blame hovers accessible over the current line - Adds [customizable](#hover-settings 'Jump to the Hover settings') Git blame hovers accessible over the current line
@ -397,7 +349,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
##### Details Hover ##### Details Hover
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-hovers-current-line-details.png" alt="Current Line Details Hover" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/hovers-current-line-details.png" alt="Current Line Details Hover" />
</p> </p>
- Adds a **details hover** annotation to the current line to show more commit details ([optional](#hover-settings 'Jump to the Hover settings'), on by default) - Adds a **details hover** annotation to the current line to show more commit details ([optional](#hover-settings 'Jump to the Hover settings'), on by default)
@ -408,7 +360,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
##### Changes (diff) Hover ##### Changes (diff) Hover
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-hovers-current-line-changes.png" alt="Current Line Changes (diff) Hover" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/hovers-current-line-changes.png" alt="Current Line Changes (diff) Hover" />
</p> </p>
- Adds a **changes (diff) hover** annotation to the current line to show the line's previous version ([optional](#hover-settings 'Jump to the Hover settings'), on by default) - Adds a **changes (diff) hover** annotation to the current line to show the line's previous version ([optional](#hover-settings 'Jump to the Hover settings'), on by default)
@ -418,7 +370,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
#### Annotation Hovers #### Annotation Hovers
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-hovers-annotations.png" alt="Annotation Hovers" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/hovers-annotations.png" alt="Annotation Hovers" />
</p> </p>
- Adds [customizable](#hover-settings 'Jump to the Hover settings') Git blame hovers accessible when annotating - Adds [customizable](#hover-settings 'Jump to the Hover settings') Git blame hovers accessible when annotating
@ -426,7 +378,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
##### Details Hover ##### Details Hover
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-hovers-annotations-details.png" alt="Annotations Details Hover" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/hovers-annotations-details.png" alt="Annotations Details Hover" />
</p> </p>
- Adds a **details hover** annotation to each line while annotating to show more commit details ([optional](#hover-settings 'Jump to the Hover settings'), on by default) - Adds a **details hover** annotation to each line while annotating to show more commit details ([optional](#hover-settings 'Jump to the Hover settings'), on by default)
@ -437,7 +389,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
##### Changes (diff) Hover ##### Changes (diff) Hover
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-hovers-annotations-changes.png" alt="Annotations Changes (diff) Hover" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/hovers-annotations-changes.png" alt="Annotations Changes (diff) Hover" />
</p> </p>
- Adds a **changes (diff) hover** annotation to each line while annotating to show the line's previous version ([optional](#hover-settings 'Jump to the Hover settings'), on by default) - Adds a **changes (diff) hover** annotation to each line while annotating to show the line's previous version ([optional](#hover-settings 'Jump to the Hover settings'), on by default)
@ -461,7 +413,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
### Recent Changes ### Recent Changes
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-recent-changes.png" alt="Recent Changes" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/recent-changes.png" alt="Recent Changes" />
</p> </p>
- Adds an on-demand, [customizable](#recent-changes-settings 'Jump to the Recent Changes settings') and [themable](#themable-colors 'Jump to the Themable Colors'), **recent changes annotation** to highlight lines changed by the most recent commit - Adds an on-demand, [customizable](#recent-changes-settings 'Jump to the Recent Changes settings') and [themable](#themable-colors 'Jump to the Themable Colors'), **recent changes annotation** to highlight lines changed by the most recent commit
@ -473,7 +425,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
### Status Bar Blame ### Status Bar Blame
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-status-bar.png" alt="Status Bar Blame" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/status-bar.png" alt="Status Bar Blame" />
</p> </p>
- Adds a [customizable](#status-bar-settings 'Jump to the Status Bar Blame settings') **Git blame annotation** about the current line to the **status bar** ([optional](#status-bar-settings 'Jump to the Status Bar Blame settings'), on by default) - Adds a [customizable](#status-bar-settings 'Jump to the Status Bar Blame settings') **Git blame annotation** about the current line to the **status bar** ([optional](#status-bar-settings 'Jump to the Status Bar Blame settings'), on by default)
@ -502,7 +454,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
- Use `#<sha>` to search for a commit with id of `<sha>` &mdash; See [Git docs](https://git-scm.com/docs/git-log 'Open Git docs') - Use `#<sha>` to search for a commit with id of `<sha>` &mdash; See [Git docs](https://git-scm.com/docs/git-log 'Open Git docs')
- Use `~<pattern>` to search for commits with differences whose patch text contains added/removed lines that match `<pattern>` &mdash; See [Git docs](https://git-scm.com/docs/git-log#git-log--Gltregexgt 'Open Git docs') - Use `~<pattern>` to search for commits with differences whose patch text contains added/removed lines that match `<pattern>` &mdash; See [Git docs](https://git-scm.com/docs/git-log#git-log--Gltregexgt 'Open Git docs')
- Use `=<string>` to search for commits with differences that change the number of occurrences of the specified string (i.e. addition/deletion) in a file &mdash; See [Git docs](https://git-scm.com/docs/git-log#git-log--Sltstringgt 'Open Git docs') - Use `=<string>` to search for commits with differences that change the number of occurrences of the specified string (i.e. addition/deletion) in a file &mdash; See [Git docs](https://git-scm.com/docs/git-log#git-log--Sltstringgt 'Open Git docs')
- Provides a _Show in Results_ option to show the search results in the _GitLens Results_ explorer
- Provides a _Show in Results_ option to show the search results in the _Results_ explorer
--- ---
@ -521,7 +473,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
#### Branch History #### Branch History
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-menu-branch-history.png" alt="Branch History Quick Pick Menu" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/menu-branch-history.png" alt="Branch History Quick Pick Menu" />
</p> </p>
- Adds a _Show Current Branch History_ command (`gitlens.showQuickRepoHistory`) with a shortcut of `shift+alt+h` to show a paged **branch history quick pick menu** of the current branch for exploring its commit history - Adds a _Show Current Branch History_ command (`gitlens.showQuickRepoHistory`) with a shortcut of `shift+alt+h` to show a paged **branch history quick pick menu** of the current branch for exploring its commit history
@ -536,7 +488,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
#### File History #### File History
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-menu-file-history.png" alt="File History Quick Pick Menu" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/menu-file-history.png" alt="File History Quick Pick Menu" />
</p> </p>
- Adds a _Show File History_ command (`gitlens.showQuickFileHistory`) to show a paged **file history quick pick menu** of the current file for exploring its commit history - Adds a _Show File History_ command (`gitlens.showQuickFileHistory`) to show a paged **file history quick pick menu** of the current file for exploring its commit history
@ -547,7 +499,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
#### Commit Details #### Commit Details
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-menu-commit-details.png" alt="Commit Details Quick Pick Menu" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/menu-commit-details.png" alt="Commit Details Quick Pick Menu" />
</p> </p>
- Adds a _Show Commit Details_ command (`gitlens.showQuickCommitDetails`) to show a **commit details quick pick menu** of the most recent commit of the current file - Adds a _Show Commit Details_ command (`gitlens.showQuickCommitDetails`) to show a **commit details quick pick menu** of the most recent commit of the current file
@ -558,7 +510,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
- Use the `alt+right arrow` shortcut on a file entry in the `Changed Files` section to preview the comparison of the current revision with the previous one - Use the `alt+right arrow` shortcut on a file entry in the `Changed Files` section to preview the comparison of the current revision with the previous one
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-menu-commit-file-details.png" alt="Commit File Details Quick Pick Menu" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/menu-commit-file-details.png" alt="Commit File Details Quick Pick Menu" />
</p> </p>
- Adds a _Show Commit File Details_ command (`gitlens.showQuickCommitFileDetails`) with a shortcut of `alt+c` to show a **file commit details quick pick menu** of the most recent commit of the current file - Adds a _Show Commit File Details_ command (`gitlens.showQuickCommitFileDetails`) with a shortcut of `alt+c` to show a **file commit details quick pick menu** of the most recent commit of the current file
@ -569,7 +521,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
#### Repository Status #### Repository Status
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-menu-repo-status.png" alt="Repository Status Quick Pick Menu" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/menu-repo-status.png" alt="Repository Status Quick Pick Menu" />
</p> </p>
- Adds a _Show Repository Status_ command (`gitlens.showQuickRepoStatus`) with a shortcut of `alt+s` to show a **repository status quick pick menu** for visualizing the current repository status - Adds a _Show Repository Status_ command (`gitlens.showQuickRepoStatus`) with a shortcut of `alt+s` to show a **repository status quick pick menu** for visualizing the current repository status
@ -584,7 +536,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
#### Stashes #### Stashes
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-menu-stash-list.png" alt="Stashed Changes Quick Pick Menu" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/menu-stash-list.png" alt="Stashed Changes Quick Pick Menu" />
</p> </p>
- Adds a _Show Stashed Changes_ command (`gitlens.showQuickStashList`) to show a **stashed changes quick pick menu** for exploring your repository stash history - Adds a _Show Stashed Changes_ command (`gitlens.showQuickStashList`) to show a **stashed changes quick pick menu** for exploring your repository stash history
@ -598,7 +550,7 @@ An on-demand, [customizable](#gitlens-results-explorer-settings 'Jump to the Git
#### Stash Details #### Stash Details
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/ss-menu-stash-details.png" alt="Stash Details Quick Pick Menu" />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/develop/images/docs/menu-stash-details.png" alt="Stash Details Quick Pick Menu" />
</p> </p>
- Stashed changes show a **stash details quick pick menu** which is very similar to the **commit details quick pick menu** above - Stashed changes show a **stash details quick pick menu** which is very similar to the **commit details quick pick menu** above
@ -683,64 +635,64 @@ GitLens is highly customizable and provides many configuration settings to allow
| `gitlens.settings.mode` | Specifies the display mode of the interactive settings editor<br />`simple` - only displays common settings<br />`advanced` - displays all settings | | `gitlens.settings.mode` | Specifies the display mode of the interactive settings editor<br />`simple` - only displays common settings<br />`advanced` - displays all settings |
| `gitlens.showWhatsNewAfterUpgrades` | Specifies whether to show What's New after upgrading to new feature releases | | `gitlens.showWhatsNewAfterUpgrades` | Specifies whether to show What's New after upgrading to new feature releases |
### GitLens Explorer Settings
### Repositories Explorer Settings
See also [Explorer Settings](#explorer-settings 'Jump to the Explorer settings') See also [Explorer Settings](#explorer-settings 'Jump to the Explorer settings')
| Name | Description |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gitlens.gitExplorer.autoRefresh` | Specifies whether to automatically refresh the _GitLens_ explorer when the repository or the file system changes |
| `gitlens.gitExplorer.branches.layout` | Specifies how the _GitLens_ explorer will display branches<br />`list` - displays branches as a list<br />`tree` - displays branches as a tree when branch names contain slashes `/` |
| `gitlens.gitExplorer.enabled` | Specifies whether to show the _GitLens_ explorer |
| `gitlens.gitExplorer.files.compact` | Specifies whether to compact (flatten) unnecessary file nesting in the _GitLens_ explorer<br />Only applies when `gitlens.gitExplorer.files.layout` is set to `tree` or `auto` |
| `gitlens.gitExplorer.files.layout` | Specifies how the _GitLens_ explorer will display files<br />`auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.gitExplorer.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.gitExplorer.files.threshold` | Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _GitLens_ explorer<br />Only applies when `gitlens.gitExplorer.files.layout` is set to `auto` |
| `gitlens.gitExplorer.includeWorkingTree` | Specifies whether to include working tree files inside the `Repository Status` node of the _GitLens_ explorer |
| `gitlens.gitExplorer.location` | Specifies where to show the _GitLens_ explorer<br />`gitlens` - adds to the GitLens view<br />`explorer` - adds to the Explorer view<br />`scm` - adds to the Source Control view |
| `gitlens.gitExplorer.showTrackingBranch` | Specifies whether to show the tracking branch when displaying local branches in the _GitLens_ explorer |
| Name | Description |
| ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gitlens.repositoriesExplorer.autoRefresh` | Specifies whether to automatically refresh the _Repositories_ explorer when the repository or the file system changes |
| `gitlens.repositoriesExplorer.branches.layout` | Specifies how the _Repositories_ explorer will display branches<br />`list` - displays branches as a list<br />`tree` - displays branches as a tree when branch names contain slashes `/` |
| `gitlens.repositoriesExplorer.enabled` | Specifies whether to show the _Repositories_ explorer |
| `gitlens.repositoriesExplorer.files.compact` | Specifies whether to compact (flatten) unnecessary file nesting in the _Repositories_ explorer<br />Only applies when `gitlens.repositoriesExplorer.files.layout` is set to `tree` or `auto` |
| `gitlens.repositoriesExplorer.files.layout` | Specifies how the _Repositories_ explorer will display files<br />`auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.repositoriesExplorer.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.repositoriesExplorer.files.threshold` | Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _Repositories_ explorer<br />Only applies when `gitlens.repositoriesExplorer.files.layout` is set to `auto` |
| `gitlens.repositoriesExplorer.includeWorkingTree` | Specifies whether to include working tree files inside the `Repository Status` node of the _Repositories_ explorer |
| `gitlens.repositoriesExplorer.location` | Specifies where to show the _Repositories_ explorer<br />`gitlens` - adds to the GitLens view<br />`explorer` - adds to the Explorer view<br />`scm` - adds to the Source Control view |
| `gitlens.repositoriesExplorer.showTrackingBranch` | Specifies whether to show the tracking branch when displaying local branches in the _Repositories_ explorer |
### GitLens File History Explorer Settings
### File History Explorer Settings
See also [Explorer Settings](#explorer-settings 'Jump to the Explorer settings') See also [Explorer Settings](#explorer-settings 'Jump to the Explorer settings')
| Name | Description |
| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gitlens.fileHistoryExplorer.avatars` | Specifies whether to show avatar images instead of status icons in the `GitLens File History` explorer |
| `gitlens.fileHistoryExplorer.enabled` | Specifies whether to show the _GitLens File History_ explorer |
| `gitlens.fileHistoryExplorer.location` | Specifies where to show the _GitLens File History_ explorer<br />`gitlens` - adds to the GitLens view<br />`explorer` - adds to the Explorer view<br />`scm` - adds to the Source Control view |
| Name | Description |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gitlens.fileHistoryExplorer.avatars` | Specifies whether to show avatar images instead of status icons in the _File History_ explorer |
| `gitlens.fileHistoryExplorer.enabled` | Specifies whether to show the _File History_ explorer |
| `gitlens.fileHistoryExplorer.location` | Specifies where to show the _File History_ explorer<br />`gitlens` - adds to the GitLens view<br />`explorer` - adds to the Explorer view<br />`scm` - adds to the Source Control view |
### GitLens Line History Explorer Settings
### Line History Explorer Settings
See also [Explorer Settings](#explorer-settings 'Jump to the Explorer settings') See also [Explorer Settings](#explorer-settings 'Jump to the Explorer settings')
| Name | Description |
| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gitlens.fileHistoryExplorer.avatars` | Specifies whether to show avatar images instead of status icons in the `GitLens Line History` explorer |
| `gitlens.lineHistoryExplorer.enabled` | Specifies whether to show the _GitLens Line History_ explorer |
| `gitlens.lineHistoryExplorer.location` | Specifies where to show the _GitLens Line History_ explorer<br />`gitlens` - adds to the GitLens view<br />`explorer` - adds to the Explorer view<br />`scm` - adds to the Source Control view |
| Name | Description |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gitlens.lineHistoryExplorer.avatars` | Specifies whether to show avatar images instead of status icons in the _Line History_ explorer |
| `gitlens.lineHistoryExplorer.enabled` | Specifies whether to show the _Line History_ explorer |
| `gitlens.lineHistoryExplorer.location` | Specifies where to show the _Line History_ explorer<br />`gitlens` - adds to the GitLens view<br />`explorer` - adds to the Explorer view<br />`scm` - adds to the Source Control view |
### GitLens Results Explorer Settings
### Results Explorer Settings
See also [Explorer Settings](#explorer-settings 'Jump to the Explorer settings') See also [Explorer Settings](#explorer-settings 'Jump to the Explorer settings')
| Name | Description |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gitlens.resultsExplorer.files.compact` | Specifies whether to compact (flatten) unnecessary file nesting in the _GitLens Results_ explorer<br />Only applies when `gitlens.resultsExplorer.files.layout` is set to `tree` or `auto` |
| `gitlens.resultsExplorer.files.layout` | Specifies how the _GitLens Results_ explorer will display files<br />`auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.resultsExplorer.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.resultsExplorer.files.threshold` | Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _GitLens Results_ explorer<br />Only applies when `gitlens.resultsExplorer.files.layout` is set to `auto` |
| `gitlens.resultsExplorer.location` | Specifies where to show the _GitLens Results_ explorer<br />`gitlens` - adds to the GitLens view<br />`explorer` - adds to the Explorer view<br />`scm` - adds to the Source Control view |
| Name | Description |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `gitlens.resultsExplorer.files.compact` | Specifies whether to compact (flatten) unnecessary file nesting in the _Results_ explorer<br />Only applies when `gitlens.resultsExplorer.files.layout` is set to `tree` or `auto` |
| `gitlens.resultsExplorer.files.layout` | Specifies how the _Results_ explorer will display files<br />`auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.resultsExplorer.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.resultsExplorer.files.threshold` | Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _Results_ explorer<br />Only applies when `gitlens.resultsExplorer.files.layout` is set to `auto` |
| `gitlens.resultsExplorer.location` | Specifies where to show the _Results_ explorer<br />`gitlens` - adds to the GitLens view<br />`explorer` - adds to the Explorer view<br />`scm` - adds to the Source Control view |
### Explorer Settings ### Explorer Settings
| Name | Description |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gitlens.explorers.avatars` | Specifies whether to show avatar images instead of commit (or status) icons in the _GitLens_ and _GitLens Results_ explorers |
| `gitlens.explorers.commitFileFormat` | Specifies the format of a committed file in the _GitLens_ and _GitLens Results_ explorers<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path |
| `gitlens.explorers.commitFormat` | Specifies the format of committed changes in the _GitLens_ and _GitLens Results_ explorers<br />Available tokens<br /> ${id} - commit id<br /> ${author} - commit author<br /> ${message} - commit message<br /> ${ago} - relative commit date (e.g. 1 day ago)<br /> ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)<br /> ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`<br /> ${authorAgo} - commit author, relative commit date<br /> ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
| `gitlens.explorers.defaultItemLimit` | Specifies the default number of items to show in an explorer list. Use 0 to specify no limit |
| `gitlens.explorers.stashFileFormat` | Specifies the format of a stashed file in the _GitLens_ and _GitLens Results_ explorers<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path |
| `gitlens.explorers.stashFormat` | Specifies the format of stashed changes in the _GitLens_ and _GitLens Results_ explorers<br />Available tokens<br /> ${id} - commit id<br /> ${author} - commit author<br /> ${message} - commit message<br /> ${ago} - relative commit date (e.g. 1 day ago)<br /> ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)<br /> ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`<br /> ${authorAgo} - commit author, relative commit date<br /> ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
| `gitlens.explorers.statusFileFormat` | Specifies the format of the status of a working or committed file in the _GitLens_ and _GitLens Results_ explorers<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path<br />${working} - optional indicator if the file is uncommitted |
| Name | Description |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gitlens.explorers.avatars` | Specifies whether to show avatar images instead of commit (or status) icons in the _Repositories_ and _Results_ explorers |
| `gitlens.explorers.commitFileFormat` | Specifies the format of a committed file in the _Repositories_ and _Results_ explorers<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path |
| `gitlens.explorers.commitFormat` | Specifies the format of committed changes in the _Repositories_ and _Results_ explorers<br />Available tokens<br /> ${id} - commit id<br /> ${author} - commit author<br /> ${message} - commit message<br /> ${ago} - relative commit date (e.g. 1 day ago)<br /> ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)<br /> ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`<br /> ${authorAgo} - commit author, relative commit date<br /> ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
| `gitlens.explorers.defaultItemLimit` | Specifies the default number of items to show in an explorer list. Use 0 to specify no limit |
| `gitlens.explorers.stashFileFormat` | Specifies the format of a stashed file in the _Repositories_ and _Results_ explorers<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path |
| `gitlens.explorers.stashFormat` | Specifies the format of stashed changes in the _Repositories_ and _Results_ explorers<br />Available tokens<br /> ${id} - commit id<br /> ${author} - commit author<br /> ${message} - commit message<br /> ${ago} - relative commit date (e.g. 1 day ago)<br /> ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)<br /> ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`<br /> ${authorAgo} - commit author, relative commit date<br /> ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
| `gitlens.explorers.statusFileFormat` | Specifies the format of the status of a working or committed file in the _Repositories_ and _Results_ explorers<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path<br />${working} - optional indicator if the file is uncommitted |
### Code Lens Settings ### Code Lens Settings

BIN
images/chat-badge.png View File

Before After
Width: 92  |  Height: 20  |  Size: 1.7 KiB

+ 0
- 88
images/chat-badge.svg View File

@ -1,88 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="92" height="20" xml:space="preserve">
<style type="text/css">
.white{fill:#FFF;}
.shadow{fill:#2e840e;}
</style>
<linearGradient id="b" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<clipPath id="a">
<rect width="92" height="20" rx="3" fill="#fff"/>
</clipPath>
<g clip-path="url(#a)">
<path fill="#555" d="M0 0h34v20H0z"/>
<path fill="#4c1" d="M34 0h58v20H34z"/>
<path fill="url(#b)" d="M0 0h92v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="17" y="15" fill="#010101" fill-opacity=".3">chat</text>
<text x="17" y="14">chat</text>
<g transform="scale(0.1) translate(340, -21)">
<path class="shadow" d="M263.5,105.5c3.9,1.7,4.2,3,1.1,8.8c-3.1,6-3.9,6.3-7.7,4.8c-4.8-2.1-11-3.6-15-3.6c-6.5,0-10.9,2.3-10.9,5.9
c0,11.7,37.4,5.4,37.4,30.4c0,12.6-10.8,21-27,21c-8.5,0-19-2.8-26.3-6.5c-3.6-1.8-3.8-2.9-0.7-8.9c2.7-5.3,3.6-5.8,7.5-4.2
c6.2,2.7,14,4.8,19.3,4.8c6,0,9.9-2.4,9.9-6c0-11.4-38.1-6-38.1-30.2c0-12.9,10.7-21.5,26.8-21.5
C247.4,100.2,256.9,102.5,263.5,105.5z"/>
<path class="shadow" d="M293.7,75.8V169c0,1.4-1.5,2.9-3.6,2.9h-9.8c-2.1,0-3.6-1.5-3.6-2.9V75.8c0-4.6,1.3-5,8.5-5
C293.4,70.7,293.7,71.3,293.7,75.8z"/>
<path class="shadow" d="M363.4,128.2v40.1c0,2.1-1.5,3.6-3.6,3.6h-9.7c-2.2,0-3.8-1.6-3.6-3.8l0.1-4.3c-5.3,5.8-12.8,8.9-20.3,8.9
c-14.6,0-24.4-8.5-24.4-21.1c0-13.4,11.1-22.5,27.7-22.5c6.3,0,12.1,1.1,16.8,3.1v-4.6c0-7.4-5.8-11.8-15.7-11.8
c-4.6,0-10.3,1.8-14.8,4.5c-3.5,2-4.3,1.8-8.1-3.8c-3.7-5.6-3.6-6.7,0-9c6.8-4.4,16.1-7.2,24.6-7.2
C351.4,100.2,363.4,110.6,363.4,128.2z M318.2,151.4c0,4.8,4,8,10.2,8c7.4,0,14.1-3.6,18-9.6v-6.3c-3.9-1.5-8.7-2.3-12.9-2.3
C324.3,141.2,318.2,145.5,318.2,151.4z"/>
<path class="shadow" d="M429.9,105.6c3.6,2.1,3.7,3.2-0.2,9.2c-3.7,5.7-4.3,6-8.2,4c-3-1.6-7.7-2.9-11.7-2.9
c-12.3,0-20.5,8.1-20.5,20.3c0,12.7,8.2,21.2,20.5,21.2c4.3,0,9.6-1.6,13.1-3.6c3.6-2.1,4.3-1.9,8.1,3.6c3.4,5.1,3.3,6.3,0.3,8.5
c-5.5,3.8-14.1,6.7-21.7,6.7c-22.7,0-37.9-14.6-37.9-36.4c0-21.7,15.2-36.1,38.1-36.1C416.6,100.2,424.8,102.6,429.9,105.6z"/>
<path class="shadow" d="M504.1,163.1c2.8,3.6,1.7,4.9-5.4,7.5c-7.2,2.6-8.2,2.5-10.8-0.9l-20.3-27.1l-9.1,8.8V169
c0,1.4-1.5,2.9-3.6,2.9H445c-2.1,0-3.6-1.5-3.6-2.9V75.8c0-4.6,1.3-5,8.5-5c8.2,0,8.5,0.6,8.5,5v53l27.8-26.7
c3.1-2.9,4.8-2.7,10.2,0.9c6,3.9,6.5,5,3.6,7.8L479.3,131L504.1,163.1z"/>
</g>
<g transform="scale(0.1) translate(340, -21)">
<rect x="115.9" y="126.3" transform="matrix(0.9482 -0.3176 0.3176 0.9482 -36.3582 46.5843)" class="shadow" width="17.6" height="17"/>
<g>
<rect x="115.9" y="126.3" transform="matrix(0.9482 -0.3176 0.3176 0.9482 -36.3582 46.5843)" class="shadow" width="17.6" height="17"/>
<path class="shadow" d="M182,117.5c-12.9-43-31.5-53-74.5-40.1s-53,31.5-40.1,74.5s31.5,53,74.5,40.1S194.9,160.5,182,117.5z
M160.3,145.4l-8.1,2.7l2.8,8.4c1.1,3.4-0.7,7.1-4.1,8.2c-0.7,0.2-1.5,0.4-2.2,0.3c-2.6-0.1-5.1-1.8-6-4.4l-2.8-8.4l-16.7,5.6
l2.8,8.4c1.1,3.4-0.7,7.1-4.1,8.2c-0.7,0.2-1.5,0.4-2.2,0.3c-2.6-0.1-5.1-1.8-6-4.4l-2.8-8.4l-8.1,2.7c-0.7,0.2-1.5,0.4-2.2,0.3
c-2.6-0.1-5.1-1.8-6-4.4c-1.1-3.4,0.7-7.1,4.1-8.2l8.1-2.7l-5.4-16.1l-8.1,2.7c-0.7,0.2-1.5,0.4-2.2,0.3c-2.6-0.1-5.1-1.8-6-4.4
c-1.1-3.4,0.7-7.1,4.1-8.2l8.1-2.7l-2.8-8.4c-1.1-3.4,0.7-7.1,4.1-8.2s7.1,0.7,8.2,4.1l2.8,8.4l16.7-5.6l-2.8-8.4
c-1.1-3.4,0.7-7.1,4.1-8.2s7.1,0.7,8.2,4.1l2.8,8.4l8.1-2.7c3.4-1.1,7.1,0.7,8.2,4.1c1.1,3.4-0.7,7.1-4.1,8.2l-8.1,2.7l5.4,16.1
l8.1-2.7c3.4-1.1,7.1,0.7,8.2,4.1C165.5,140.6,163.7,144.3,160.3,145.4z"/>
</g>
</g>
<g transform="scale(0.1) translate(340, -31)">
<path class="white" d="M263.5,105.5c3.9,1.7,4.2,3,1.1,8.8c-3.1,6-3.9,6.3-7.7,4.8c-4.8-2.1-11-3.6-15-3.6c-6.5,0-10.9,2.3-10.9,5.9
c0,11.7,37.4,5.4,37.4,30.4c0,12.6-10.8,21-27,21c-8.5,0-19-2.8-26.3-6.5c-3.6-1.8-3.8-2.9-0.7-8.9c2.7-5.3,3.6-5.8,7.5-4.2
c6.2,2.7,14,4.8,19.3,4.8c6,0,9.9-2.4,9.9-6c0-11.4-38.1-6-38.1-30.2c0-12.9,10.7-21.5,26.8-21.5
C247.4,100.2,256.9,102.5,263.5,105.5z"/>
<path class="white" d="M293.7,75.8V169c0,1.4-1.5,2.9-3.6,2.9h-9.8c-2.1,0-3.6-1.5-3.6-2.9V75.8c0-4.6,1.3-5,8.5-5
C293.4,70.7,293.7,71.3,293.7,75.8z"/>
<path class="white" d="M363.4,128.2v40.1c0,2.1-1.5,3.6-3.6,3.6h-9.7c-2.2,0-3.8-1.6-3.6-3.8l0.1-4.3c-5.3,5.8-12.8,8.9-20.3,8.9
c-14.6,0-24.4-8.5-24.4-21.1c0-13.4,11.1-22.5,27.7-22.5c6.3,0,12.1,1.1,16.8,3.1v-4.6c0-7.4-5.8-11.8-15.7-11.8
c-4.6,0-10.3,1.8-14.8,4.5c-3.5,2-4.3,1.8-8.1-3.8c-3.7-5.6-3.6-6.7,0-9c6.8-4.4,16.1-7.2,24.6-7.2
C351.4,100.2,363.4,110.6,363.4,128.2z M318.2,151.4c0,4.8,4,8,10.2,8c7.4,0,14.1-3.6,18-9.6v-6.3c-3.9-1.5-8.7-2.3-12.9-2.3
C324.3,141.2,318.2,145.5,318.2,151.4z"/>
<path class="white" d="M429.9,105.6c3.6,2.1,3.7,3.2-0.2,9.2c-3.7,5.7-4.3,6-8.2,4c-3-1.6-7.7-2.9-11.7-2.9
c-12.3,0-20.5,8.1-20.5,20.3c0,12.7,8.2,21.2,20.5,21.2c4.3,0,9.6-1.6,13.1-3.6c3.6-2.1,4.3-1.9,8.1,3.6c3.4,5.1,3.3,6.3,0.3,8.5
c-5.5,3.8-14.1,6.7-21.7,6.7c-22.7,0-37.9-14.6-37.9-36.4c0-21.7,15.2-36.1,38.1-36.1C416.6,100.2,424.8,102.6,429.9,105.6z"/>
<path class="white" d="M504.1,163.1c2.8,3.6,1.7,4.9-5.4,7.5c-7.2,2.6-8.2,2.5-10.8-0.9l-20.3-27.1l-9.1,8.8V169
c0,1.4-1.5,2.9-3.6,2.9H445c-2.1,0-3.6-1.5-3.6-2.9V75.8c0-4.6,1.3-5,8.5-5c8.2,0,8.5,0.6,8.5,5v53l27.8-26.7
c3.1-2.9,4.8-2.7,10.2,0.9c6,3.9,6.5,5,3.6,7.8L479.3,131L504.1,163.1z"/>
</g>
<g transform="scale(0.1) translate(340, -31)">
<rect x="115.9" y="126.3" transform="matrix(0.9482 -0.3176 0.3176 0.9482 -36.3582 46.5843)" class="white" width="17.6" height="17"/>
<g>
<rect x="115.9" y="126.3" transform="matrix(0.9482 -0.3176 0.3176 0.9482 -36.3582 46.5843)" class="white" width="17.6" height="17"/>
<path class="white" d="M182,117.5c-12.9-43-31.5-53-74.5-40.1s-53,31.5-40.1,74.5s31.5,53,74.5,40.1S194.9,160.5,182,117.5z
M160.3,145.4l-8.1,2.7l2.8,8.4c1.1,3.4-0.7,7.1-4.1,8.2c-0.7,0.2-1.5,0.4-2.2,0.3c-2.6-0.1-5.1-1.8-6-4.4l-2.8-8.4l-16.7,5.6
l2.8,8.4c1.1,3.4-0.7,7.1-4.1,8.2c-0.7,0.2-1.5,0.4-2.2,0.3c-2.6-0.1-5.1-1.8-6-4.4l-2.8-8.4l-8.1,2.7c-0.7,0.2-1.5,0.4-2.2,0.3
c-2.6-0.1-5.1-1.8-6-4.4c-1.1-3.4,0.7-7.1,4.1-8.2l8.1-2.7l-5.4-16.1l-8.1,2.7c-0.7,0.2-1.5,0.4-2.2,0.3c-2.6-0.1-5.1-1.8-6-4.4
c-1.1-3.4,0.7-7.1,4.1-8.2l8.1-2.7l-2.8-8.4c-1.1-3.4,0.7-7.1,4.1-8.2s7.1,0.7,8.2,4.1l2.8,8.4l16.7-5.6l-2.8-8.4
c-1.1-3.4,0.7-7.1,4.1-8.2s7.1,0.7,8.2,4.1l2.8,8.4l8.1-2.7c3.4-1.1,7.1,0.7,8.2,4.1c1.1,3.4-0.7,7.1-4.1,8.2l-8.1,2.7l5.4,16.1
l8.1-2.7c3.4-1.1,7.1,0.7,8.2,4.1C165.5,140.6,163.7,144.3,160.3,145.4z"/>
</g>
</g>
</g>
</svg>

BIN
images/cl-annotation-format.png View File

Before After
Width: 490  |  Height: 527  |  Size: 40 KiB

BIN
images/cl-annotations-toggle.png View File

Before After
Width: 477  |  Height: 176  |  Size: 4.8 KiB

BIN
images/cl-branch-upstream-indicator.png View File

Before After
Width: 477  |  Height: 177  |  Size: 20 KiB

BIN
images/cl-current-line-scrollable.png View File

Before After
Width: 477  |  Height: 177  |  Size: 12 KiB

BIN
images/cl-general-settings.png View File

Before After
Width: 535  |  Height: 238  |  Size: 12 KiB

BIN
images/cl-heatmap-cold.png View File

Before After
Width: 610  |  Height: 216  |  Size: 15 KiB

BIN
images/cl-issue-linking.png View File

Before After
Width: 477  |  Height: 104  |  Size: 9.3 KiB

BIN
images/cl-menu-settings.png View File

Before After
Width: 535  |  Height: 238  |  Size: 18 KiB

BIN
images/cl-mode-switch.png View File

Before After
Width: 492  |  Height: 150  |  Size: 10 KiB

BIN
images/cl-modes-settings.png View File

Before After
Width: 535  |  Height: 238  |  Size: 12 KiB

BIN
images/cl-rich-tooltips.png View File

Before After
Width: 477  |  Height: 184  |  Size: 15 KiB

BIN
images/cl-settings-mode.png View File

Before After
Width: 535  |  Height: 120  |  Size: 11 KiB

BIN
images/cl-status-bar-reduce-flashing.png View File

Before After
Width: 477  |  Height: 177  |  Size: 12 KiB

BIN
images/cl-welcome.png View File

Before After
Width: 988  |  Height: 716  |  Size: 63 KiB

images/ss-code-lens.png → images/docs/code-lens.png View File


images/ss-current-line-blame.png → images/docs/current-line-blame.png View File


images/cl-history-explorer.png → images/docs/file-history-explorer.png View File


images/gitlens-logo-dark.png → images/docs/gitlens-logo-dark.png View File


images/gitlens-logo.pdn → images/docs/gitlens-logo.pdn View File


images/gitlens-logo.png → images/docs/gitlens-logo.png View File


images/gitlens-preview.gif → images/docs/gitlens-preview.gif View File


images/ss-gutter-blame.png → images/docs/gutter-blame.png View File


images/ss-heatmap.png → images/docs/heatmap.png View File


images/ss-hovers-annotations-changes.png → images/docs/hovers-annotations-changes.png View File


images/ss-hovers-annotations-details.png → images/docs/hovers-annotations-details.png View File


images/ss-hovers-annotations.png → images/docs/hovers-annotations.png View File


images/ss-hovers-current-line-changes.png → images/docs/hovers-current-line-changes.png View File


images/ss-hovers-current-line-details.png → images/docs/hovers-current-line-details.png View File


images/ss-hovers-current-line.png → images/docs/hovers-current-line.png View File


images/ss-menu-branch-history.png → images/docs/menu-branch-history.png View File


images/ss-menu-commit-details.png → images/docs/menu-commit-details.png View File


images/ss-menu-commit-file-details.png → images/docs/menu-commit-file-details.png View File


images/ss-menu-file-history.png → images/docs/menu-file-history.png View File


images/ss-menu-repo-status.png → images/docs/menu-repo-status.png View File


images/ss-menu-stash-details.png → images/docs/menu-stash-details.png View File


images/ss-menu-stash-list.png → images/docs/menu-stash-list.png View File


images/ss-recent-changes.png → images/docs/recent-changes.png View File


images/ss-gitlens-explorer-repository.png → images/docs/repositories-explorer.png View File


images/ss-gitlens-results.png → images/docs/results-explorer.png View File


images/cl-settings.png → images/docs/settings.png View File


images/ss-status-bar.png → images/docs/status-bar.png View File


+ 0
- 10
images/git-icon.svg View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 93 93" xml:space="preserve">
<g>
<path fill="#F05133" d="M90,41.8L49.9,1.7c-2.3-2.3-6.1-2.3-8.4,0L33.2,10l10.6,10.6c2.5-0.8,5.3-0.3,7.2,1.7c2,2,2.5,4.8,1.7,7.3
l10.2,10.2c2.5-0.8,5.3-0.3,7.3,1.7c2.8,2.7,2.8,7.2,0,10s-7.2,2.8-10,0c-2.1-2.1-2.6-5.1-1.5-7.7l-9.5-9.5v25
c0.7,0.3,1.3,0.8,1.9,1.3c2.8,2.7,2.8,7.2,0,10c-2.8,2.7-7.2,2.7-10,0c-2.8-2.8-2.8-7.2,0-10c0.7-0.7,1.5-1.2,2.3-1.5V33.8
c-0.8-0.3-1.6-0.9-2.3-1.5c-2.1-2.1-2.6-5.1-1.5-7.7L29.2,14.2L1.7,41.7c-2.3,2.3-2.3,6.1,0,8.4l40.1,40.1c2.3,2.3,6.1,2.3,8.4,0
l39.9-39.9C92.4,47.9,92.4,44.1,90,41.8z"/>
</g>
</svg>

+ 0
- 6
images/git.svg View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="128" height="128" version="1.0" xmlns="http://www.w3.org/2000/svg">
<g>
<path d="m30.452075,4.398001l19.925815,19.925815c4.63074,-1.563693 9.941224,-0.514191 13.631259,3.176598c3.712285,3.713794 4.752924,9.069908 3.148692,13.717429l19.205533,19.20327c4.647522,-1.601969 10.005898,-0.566421 13.718184,3.150955c5.185283,5.183774 5.185283,13.587137 0,18.775248c-5.189054,5.1883 -13.59072,5.1883 -18.782036,0c-3.899898,-3.903669 -4.864926,-9.634632 -2.887165,-14.439975l-17.912794,-17.911286l0,47.133088c1.263135,0.626005 2.456316,1.459798 3.509588,2.510054c5.185283,5.184717 5.185283,13.587137 0,18.779774c-5.185283,5.18302 -13.592983,5.18302 -18.774494,0c-5.185283,-5.192636 -5.185283,-13.595057 0,-18.779774c1.281613,-1.280105 2.765735,-2.248527 4.349227,-2.896782l0,-47.569028c-1.583491,-0.648255 -3.064031,-1.608569 -4.349227,-2.897536c-3.927239,-3.925919 -4.87228,-9.690822 -2.857939,-14.514455l-19.643548,-19.646564" fill="#fff"/>
</g>
</svg>

BIN
images/gitlens-preview-full.gif View File

Before After
Width: 1454  |  Height: 1200  |  Size: 4.2 MiB

BIN
images/gitlens-preview1.gif View File

Before After
Width: 640  |  Height: 608  |  Size: 2.9 MiB

BIN
images/gitlens-preview2.gif View File

Before After
Width: 640  |  Height: 608  |  Size: 3.9 MiB

BIN
images/ss-gitlens-explorer-history.png View File

Before After
Width: 610  |  Height: 370  |  Size: 62 KiB

BIN
images/ss-gitlens-history-explorer.png View File

Before After
Width: 610  |  Height: 370  |  Size: 62 KiB

+ 86
- 86
package.json View File

@ -440,19 +440,19 @@
"gitlens.explorers.avatars": { "gitlens.explorers.avatars": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to show avatar images instead of commit (or status) icons in the `GitLens` and `GitLens Results` explorers",
"description": "Specifies whether to show avatar images instead of commit (or status) icons in the `Repositories` and `Results` explorers",
"scope": "window" "scope": "window"
}, },
"gitlens.explorers.commitFileFormat": { "gitlens.explorers.commitFileFormat": {
"type": "string", "type": "string",
"default": "${filePath}", "default": "${filePath}",
"description": "Specifies the format of a committed file in the `GitLens` and `GitLens Results` explorers\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path",
"description": "Specifies the format of a committed file in the `Repositories` and `Results` explorers\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path",
"scope": "window" "scope": "window"
}, },
"gitlens.explorers.commitFormat": { "gitlens.explorers.commitFormat": {
"type": "string", "type": "string",
"default": "${message} • ${authorAgoOrDate}${ (id)}", "default": "${message} • ${authorAgoOrDate}${ (id)}",
"description": "Specifies the format of committed changes in the `GitLens` and `GitLens Results` explorers\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.defaultDateFormat`)\\n ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`\n ${authorAgo} - commit author, relative commit date\n ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
"description": "Specifies the format of committed changes in the `Repositories` and `Results` explorers\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.defaultDateFormat`)\\n ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`\n ${authorAgo} - commit author, relative commit date\n ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
"scope": "window" "scope": "window"
}, },
"gitlens.explorers.defaultItemLimit": { "gitlens.explorers.defaultItemLimit": {
@ -464,28 +464,28 @@
"gitlens.explorers.stashFileFormat": { "gitlens.explorers.stashFileFormat": {
"type": "string", "type": "string",
"default": "${filePath}", "default": "${filePath}",
"description": "Specifies the format of a stashed file in the `GitLens` and `GitLens Results` explorers\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path",
"description": "Specifies the format of a stashed file in the `Repositories` and `Results` explorers\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path",
"scope": "window" "scope": "window"
}, },
"gitlens.explorers.stashFormat": { "gitlens.explorers.stashFormat": {
"type": "string", "type": "string",
"default": "${message}", "default": "${message}",
"description": "Specifies the format of stashed changes in the `GitLens` and `GitLens Results` explorers\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)\n ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`\n ${authorAgo} - commit author, relative commit date\n ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
"description": "Specifies the format of stashed changes in the `Repositories` and `Results` explorers\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)\n ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`\n ${authorAgo} - commit author, relative commit date\n ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
"scope": "window" "scope": "window"
}, },
"gitlens.explorers.statusFileFormat": { "gitlens.explorers.statusFileFormat": {
"type": "string", "type": "string",
"default": "${working }${filePath}", "default": "${working }${filePath}",
"description": "Specifies the format of the status of a working or committed file in the `GitLens` and `GitLens Results` explorers\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path\n ${working} - optional indicator if the file is uncommitted",
"description": "Specifies the format of the status of a working or committed file in the `Repositories` and `Results` explorers\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path\n ${working} - optional indicator if the file is uncommitted",
"scope": "window" "scope": "window"
}, },
"gitlens.gitExplorer.autoRefresh": {
"gitlens.repositoriesExplorer.autoRefresh": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to automatically refresh the `GitLens` explorer when the repository or the file system changes",
"description": "Specifies whether to automatically refresh the `Repositories` explorer when the repository or the file system changes",
"scope": "window" "scope": "window"
}, },
"gitlens.gitExplorer.branches.layout": {
"gitlens.repositoriesExplorer.branches.layout": {
"type": "string", "type": "string",
"default": "tree", "default": "tree",
"enum": [ "enum": [
@ -496,22 +496,22 @@
"Displays branches as a list", "Displays branches as a list",
"Displays branches as a tree when branch names contain slashes `/`" "Displays branches as a tree when branch names contain slashes `/`"
], ],
"description": "Specifies how the `GitLens` explorer will display branches",
"description": "Specifies how the `Repositories` explorer will display branches",
"scope": "window" "scope": "window"
}, },
"gitlens.gitExplorer.enabled": {
"gitlens.repositoriesExplorer.enabled": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to show the `GitLens` explorer",
"description": "Specifies whether to show the `Repositories` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.gitExplorer.files.compact": {
"gitlens.repositoriesExplorer.files.compact": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to compact (flatten) unnecessary file nesting in the `GitLens` explorer\nOnly applies when `#gitlens.gitExplorer.files.layout#` is set to `tree` or `auto`",
"description": "Specifies whether to compact (flatten) unnecessary file nesting in the `Repositories` explorer\nOnly applies when `#gitlens.repositoriesExplorer.files.layout#` is set to `tree` or `auto`",
"scope": "window" "scope": "window"
}, },
"gitlens.gitExplorer.files.layout": {
"gitlens.repositoriesExplorer.files.layout": {
"type": "string", "type": "string",
"default": "auto", "default": "auto",
"enum": [ "enum": [
@ -520,26 +520,26 @@
"tree" "tree"
], ],
"enumDescriptions": [ "enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.gitExplorer.files.threshold#` value and the number of files at each nesting level",
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.repositoriesExplorer.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list", "Displays files as a list",
"Displays files as a tree" "Displays files as a tree"
], ],
"description": "Specifies how the `GitLens` explorer will display files",
"description": "Specifies how the `Repositories` explorer will display files",
"scope": "window" "scope": "window"
}, },
"gitlens.gitExplorer.files.threshold": {
"gitlens.repositoriesExplorer.files.threshold": {
"type": "number", "type": "number",
"default": 5, "default": 5,
"description": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the `GitLens` explorer\nOnly applies when `#gitlens.gitExplorer.files.layout#` is set to `auto`",
"description": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the `Repositories` explorer\nOnly applies when `#gitlens.repositoriesExplorer.files.layout#` is set to `auto`",
"scope": "window" "scope": "window"
}, },
"gitlens.gitExplorer.includeWorkingTree": {
"gitlens.repositoriesExplorer.includeWorkingTree": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to include working tree files inside the `Repository Status` node of the `GitLens` explorer",
"description": "Specifies whether to include working tree files inside the `Repository Status` node of the `Repositories` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.gitExplorer.location": {
"gitlens.repositoriesExplorer.location": {
"type": "string", "type": "string",
"default": "gitlens", "default": "gitlens",
"enum": [ "enum": [
@ -552,13 +552,13 @@
"Adds to the Explorer view", "Adds to the Explorer view",
"Adds to the Source Control view" "Adds to the Source Control view"
], ],
"description": "Specifies where to show the `GitLens` explorer",
"description": "Specifies where to show the `Repositories` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.gitExplorer.showTrackingBranch": {
"gitlens.repositoriesExplorer.showTrackingBranch": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to show the tracking branch when displaying local branches in the `GitLens` explorer",
"description": "Specifies whether to show the tracking branch when displaying local branches in the `Repositories` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.heatmap.ageThreshold": { "gitlens.heatmap.ageThreshold": {
@ -596,13 +596,13 @@
"gitlens.fileHistoryExplorer.avatars": { "gitlens.fileHistoryExplorer.avatars": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to show avatar images instead of status icons in the `GitLens File History` explorer",
"description": "Specifies whether to show avatar images instead of status icons in the `File History` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.fileHistoryExplorer.enabled": { "gitlens.fileHistoryExplorer.enabled": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to show the `GitLens File History` explorer",
"description": "Specifies whether to show the `File History` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.fileHistoryExplorer.location": { "gitlens.fileHistoryExplorer.location": {
@ -618,7 +618,7 @@
"Adds to the Explorer view", "Adds to the Explorer view",
"Adds to the Source Control view" "Adds to the Source Control view"
], ],
"description": "Specifies where to show the `GitLens File History` explorer",
"description": "Specifies where to show the `File History` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.hovers.annotations.changes": { "gitlens.hovers.annotations.changes": {
@ -722,13 +722,13 @@
"gitlens.lineHistoryExplorer.avatars": { "gitlens.lineHistoryExplorer.avatars": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to show avatar images instead of status icons in the `GitLens Line History` explorer",
"description": "Specifies whether to show avatar images instead of status icons in the `Line History` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.lineHistoryExplorer.enabled": { "gitlens.lineHistoryExplorer.enabled": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to show the `GitLens Line History` explorer",
"description": "Specifies whether to show the `Line History` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.lineHistoryExplorer.location": { "gitlens.lineHistoryExplorer.location": {
@ -744,7 +744,7 @@
"Adds to the Explorer view", "Adds to the Explorer view",
"Adds to the Source Control view" "Adds to the Source Control view"
], ],
"description": "Specifies where to show the `GitLens Line History` explorer",
"description": "Specifies where to show the `Line History` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.menus": { "gitlens.menus": {
@ -1188,7 +1188,7 @@
"gitlens.resultsExplorer.files.compact": { "gitlens.resultsExplorer.files.compact": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"description": "Specifies whether to compact (flatten) unnecessary file nesting in the `GitLens Results` explorer\nOnly applies when `#gitlens.resultsExplorer.files.layout#` is set to `tree` or `auto`",
"description": "Specifies whether to compact (flatten) unnecessary file nesting in the `Results` explorer\nOnly applies when `#gitlens.resultsExplorer.files.layout#` is set to `tree` or `auto`",
"scope": "window" "scope": "window"
}, },
"gitlens.resultsExplorer.files.layout": { "gitlens.resultsExplorer.files.layout": {
@ -1200,17 +1200,17 @@
"tree" "tree"
], ],
"enumDescriptions": [ "enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.gitExplorer.files.threshold#` value and the number of files at each nesting level",
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.repositoriesExplorer.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list", "Displays files as a list",
"Displays files as a tree" "Displays files as a tree"
], ],
"description": "Specifies how the `GitLens Results` explorer will display files",
"description": "Specifies how the `Results` explorer will display files",
"scope": "window" "scope": "window"
}, },
"gitlens.resultsExplorer.files.threshold": { "gitlens.resultsExplorer.files.threshold": {
"type": "number", "type": "number",
"default": 5, "default": 5,
"description": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the `GitLens Results` explorer\nOnly applies when `#gitlens.resultsExplorer.files.layout#` is set to `auto`",
"description": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the `Results` explorer\nOnly applies when `#gitlens.resultsExplorer.files.layout#` is set to `auto`",
"scope": "window" "scope": "window"
}, },
"gitlens.resultsExplorer.location": { "gitlens.resultsExplorer.location": {
@ -1226,7 +1226,7 @@
"Adds to the Explorer view", "Adds to the Explorer view",
"Adds to the Source Control view" "Adds to the Source Control view"
], ],
"description": "Specifies where to show the `GitLens Results` explorer",
"description": "Specifies where to show the `Results` explorer",
"scope": "window" "scope": "window"
}, },
"gitlens.settings.mode": { "gitlens.settings.mode": {
@ -1516,11 +1516,6 @@
"category": "GitLens" "category": "GitLens"
}, },
{ {
"command": "gitlens.showGitExplorer",
"title": "Show GitLens Explorer",
"category": "GitLens"
},
{
"command": "gitlens.showFileHistoryExplorer", "command": "gitlens.showFileHistoryExplorer",
"title": "Show File History Explorer", "title": "Show File History Explorer",
"category": "GitLens" "category": "GitLens"
@ -1531,6 +1526,11 @@
"category": "GitLens" "category": "GitLens"
}, },
{ {
"command": "gitlens.showRepositoriesExplorer",
"title": "Show Repositories Explorer",
"category": "GitLens"
},
{
"command": "gitlens.showResultsExplorer", "command": "gitlens.showResultsExplorer",
"title": "Show Results Explorer", "title": "Show Results Explorer",
"category": "GitLens" "category": "GitLens"
@ -1829,7 +1829,7 @@
"category": "GitLens" "category": "GitLens"
}, },
{ {
"command": "gitlens.gitExplorer.fetchAll",
"command": "gitlens.repositoriesExplorer.fetchAll",
"title": "Fetch Repositories", "title": "Fetch Repositories",
"category": "GitLens", "category": "GitLens",
"icon": { "icon": {
@ -2044,7 +2044,7 @@
"category": "GitLens" "category": "GitLens"
}, },
{ {
"command": "gitlens.gitExplorer.refresh",
"command": "gitlens.repositoriesExplorer.refresh",
"title": "Refresh", "title": "Refresh",
"category": "GitLens", "category": "GitLens",
"icon": { "icon": {
@ -2053,32 +2053,32 @@
} }
}, },
{ {
"command": "gitlens.gitExplorer.refreshNode",
"command": "gitlens.repositoriesExplorer.refreshNode",
"title": "Refresh", "title": "Refresh",
"category": "GitLens" "category": "GitLens"
}, },
{ {
"command": "gitlens.gitExplorer.setFilesLayoutToAuto",
"command": "gitlens.repositoriesExplorer.setFilesLayoutToAuto",
"title": "Automatic Layout", "title": "Automatic Layout",
"category": "GitLens" "category": "GitLens"
}, },
{ {
"command": "gitlens.gitExplorer.setFilesLayoutToList",
"command": "gitlens.repositoriesExplorer.setFilesLayoutToList",
"title": "List Layout", "title": "List Layout",
"category": "GitLens" "category": "GitLens"
}, },
{ {
"command": "gitlens.gitExplorer.setFilesLayoutToTree",
"command": "gitlens.repositoriesExplorer.setFilesLayoutToTree",
"title": "Tree Layout", "title": "Tree Layout",
"category": "GitLens" "category": "GitLens"
}, },
{ {
"command": "gitlens.gitExplorer.setAutoRefreshToOn",
"command": "gitlens.repositoriesExplorer.setAutoRefreshToOn",
"title": "Enable Automatic Refresh", "title": "Enable Automatic Refresh",
"category": "GitLens" "category": "GitLens"
}, },
{ {
"command": "gitlens.gitExplorer.setAutoRefreshToOff",
"command": "gitlens.repositoriesExplorer.setAutoRefreshToOff",
"title": "Disable Automatic Refresh", "title": "Disable Automatic Refresh",
"category": "GitLens" "category": "GitLens"
}, },
@ -2208,8 +2208,8 @@
"menus": { "menus": {
"commandPalette": [ "commandPalette": [
{ {
"command": "gitlens.showGitExplorer",
"when": "gitlens:enabled && gitlens:gitExplorer"
"command": "gitlens.showRepositoriesExplorer",
"when": "gitlens:enabled && gitlens:repositoriesExplorer"
}, },
{ {
"command": "gitlens.showFileHistoryExplorer", "command": "gitlens.showFileHistoryExplorer",
@ -2421,7 +2421,7 @@
"when": "false" "when": "false"
}, },
{ {
"command": "gitlens.gitExplorer.fetchAll",
"command": "gitlens.repositoriesExplorer.fetchAll",
"when": "false" "when": "false"
}, },
{ {
@ -2577,31 +2577,31 @@
"when": "false" "when": "false"
}, },
{ {
"command": "gitlens.gitExplorer.refresh",
"command": "gitlens.repositoriesExplorer.refresh",
"when": "false" "when": "false"
}, },
{ {
"command": "gitlens.gitExplorer.refreshNode",
"command": "gitlens.repositoriesExplorer.refreshNode",
"when": "false" "when": "false"
}, },
{ {
"command": "gitlens.gitExplorer.setFilesLayoutToAuto",
"command": "gitlens.repositoriesExplorer.setFilesLayoutToAuto",
"when": "false" "when": "false"
}, },
{ {
"command": "gitlens.gitExplorer.setFilesLayoutToList",
"command": "gitlens.repositoriesExplorer.setFilesLayoutToList",
"when": "false" "when": "false"
}, },
{ {
"command": "gitlens.gitExplorer.setFilesLayoutToTree",
"command": "gitlens.repositoriesExplorer.setFilesLayoutToTree",
"when": "false" "when": "false"
}, },
{ {
"command": "gitlens.gitExplorer.setAutoRefreshToOn",
"command": "gitlens.repositoriesExplorer.setAutoRefreshToOn",
"when": "false" "when": "false"
}, },
{ {
"command": "gitlens.gitExplorer.setAutoRefreshToOff",
"command": "gitlens.repositoriesExplorer.setAutoRefreshToOff",
"when": "false" "when": "false"
}, },
{ {
@ -2910,42 +2910,42 @@
"view/title": [ "view/title": [
{ {
"command": "gitlens.showCommitSearch", "command": "gitlens.showCommitSearch",
"when": "view =~ /^gitlens.gitExplorer:/",
"when": "view =~ /^gitlens.repositoriesExplorer:/",
"group": "navigation@1" "group": "navigation@1"
}, },
{ {
"command": "gitlens.gitExplorer.fetchAll",
"when": "view =~ /^gitlens.gitExplorer:/",
"command": "gitlens.repositoriesExplorer.fetchAll",
"when": "view =~ /^gitlens.repositoriesExplorer:/",
"group": "navigation@7" "group": "navigation@7"
}, },
{ {
"command": "gitlens.gitExplorer.refresh",
"when": "view =~ /^gitlens.gitExplorer:/",
"command": "gitlens.repositoriesExplorer.refresh",
"when": "view =~ /^gitlens.repositoriesExplorer:/",
"group": "navigation@8" "group": "navigation@8"
}, },
{ {
"command": "gitlens.gitExplorer.setFilesLayoutToAuto",
"when": "view =~ /^gitlens.gitExplorer:/",
"command": "gitlens.repositoriesExplorer.setFilesLayoutToAuto",
"when": "view =~ /^gitlens.repositoriesExplorer:/",
"group": "1_gitlens" "group": "1_gitlens"
}, },
{ {
"command": "gitlens.gitExplorer.setFilesLayoutToList",
"when": "view =~ /^gitlens.gitExplorer:/",
"command": "gitlens.repositoriesExplorer.setFilesLayoutToList",
"when": "view =~ /^gitlens.repositoriesExplorer:/",
"group": "1_gitlens" "group": "1_gitlens"
}, },
{ {
"command": "gitlens.gitExplorer.setFilesLayoutToTree",
"when": "view =~ /^gitlens.gitExplorer:/",
"command": "gitlens.repositoriesExplorer.setFilesLayoutToTree",
"when": "view =~ /^gitlens.repositoriesExplorer:/",
"group": "1_gitlens" "group": "1_gitlens"
}, },
{ {
"command": "gitlens.gitExplorer.setAutoRefreshToOn",
"when": "view =~ /^gitlens.gitExplorer:/ && config.gitlens.gitExplorer.autoRefresh && !gitlens:gitExplorer:autoRefresh",
"command": "gitlens.repositoriesExplorer.setAutoRefreshToOn",
"when": "view =~ /^gitlens.repositoriesExplorer:/ && config.gitlens.repositoriesExplorer.autoRefresh && !gitlens:repositoriesExplorer:autoRefresh",
"group": "2_gitlens" "group": "2_gitlens"
}, },
{ {
"command": "gitlens.gitExplorer.setAutoRefreshToOff",
"when": "view =~ /^gitlens.gitExplorer:/ && config.gitlens.gitExplorer.autoRefresh && gitlens:gitExplorer:autoRefresh",
"command": "gitlens.repositoriesExplorer.setAutoRefreshToOff",
"when": "view =~ /^gitlens.repositoriesExplorer:/ && config.gitlens.repositoriesExplorer.autoRefresh && gitlens:repositoriesExplorer:autoRefresh",
"group": "2_gitlens" "group": "2_gitlens"
}, },
{ {
@ -3336,8 +3336,8 @@
"group": "8_gitlens" "group": "8_gitlens"
}, },
{ {
"command": "gitlens.gitExplorer.refreshNode",
"when": "view =~ /^gitlens.gitExplorer:/ && viewItem =~ /gitlens:(?!file\\b)/",
"command": "gitlens.repositoriesExplorer.refreshNode",
"when": "view =~ /^gitlens.repositoriesExplorer:/ && viewItem =~ /gitlens:(?!file\\b)/",
"group": "9_gitlens@1" "group": "9_gitlens@1"
}, },
{ {
@ -3556,9 +3556,9 @@
"views": { "views": {
"gitlens": [ "gitlens": [
{ {
"id": "gitlens.gitExplorer:gitlens",
"id": "gitlens.repositoriesExplorer:gitlens",
"name": "Repositories", "name": "Repositories",
"when": "gitlens:enabled && gitlens:gitExplorer == gitlens"
"when": "gitlens:enabled && gitlens:repositoriesExplorer == gitlens"
}, },
{ {
"id": "gitlens.fileHistoryExplorer:gitlens", "id": "gitlens.fileHistoryExplorer:gitlens",
@ -3578,9 +3578,9 @@
], ],
"explorer": [ "explorer": [
{ {
"id": "gitlens.gitExplorer:explorer",
"name": "GitLens",
"when": "gitlens:enabled && gitlens:gitExplorer == explorer"
"id": "gitlens.repositoriesExplorer:explorer",
"name": "GitLens Repositories",
"when": "gitlens:enabled && gitlens:repositoriesExplorer == explorer"
}, },
{ {
"id": "gitlens.fileHistoryExplorer:explorer", "id": "gitlens.fileHistoryExplorer:explorer",
@ -3589,7 +3589,7 @@
}, },
{ {
"id": "gitlens.lineHistoryExplorer:explorer", "id": "gitlens.lineHistoryExplorer:explorer",
"name": "Line History",
"name": "GitLens Line History",
"when": "gitlens:enabled && gitlens:lineHistoryExplorer == explorer" "when": "gitlens:enabled && gitlens:lineHistoryExplorer == explorer"
}, },
{ {
@ -3600,9 +3600,9 @@
], ],
"scm": [ "scm": [
{ {
"id": "gitlens.gitExplorer:scm",
"name": "GitLens",
"when": "gitlens:enabled && gitlens:gitExplorer == scm"
"id": "gitlens.repositoriesExplorer:scm",
"name": "GitLens Repositories",
"when": "gitlens:enabled && gitlens:repositoriesExplorer == scm"
}, },
{ {
"id": "gitlens.fileHistoryExplorer:scm", "id": "gitlens.fileHistoryExplorer:scm",
@ -3611,7 +3611,7 @@
}, },
{ {
"id": "gitlens.lineHistoryExplorer:scm", "id": "gitlens.lineHistoryExplorer:scm",
"name": "Line History",
"name": "GitLens Line History",
"when": "gitlens:enabled && gitlens:lineHistoryExplorer == scm" "when": "gitlens:enabled && gitlens:lineHistoryExplorer == scm"
}, },
{ {

+ 5
- 5
src/codelens/codeLensProvider.ts View File

@ -26,10 +26,10 @@ import {
} from '../commands'; } from '../commands';
import { import {
CodeLensCommand, CodeLensCommand,
CodeLensConfig,
CodeLensLanguageScope, CodeLensLanguageScope,
CodeLensScopes, CodeLensScopes,
configuration,
ICodeLensConfig
configuration
} from '../configuration'; } from '../configuration';
import { BuiltInCommands, DocumentSchemes } from '../constants'; import { BuiltInCommands, DocumentSchemes } from '../constants';
import { Container } from '../container'; import { Container } from '../container';
@ -117,7 +117,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
} }
} }
const cfg = configuration.get<ICodeLensConfig>(configuration.name('codeLens').value, document.uri);
const cfg = configuration.get<CodeLensConfig>(configuration.name('codeLens').value, document.uri);
let languageScope = let languageScope =
cfg.scopesByLanguage && cfg.scopesByLanguage &&
@ -353,7 +353,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
documentRangeFn: () => Range, documentRangeFn: () => Range,
blame: GitBlame | undefined, blame: GitBlame | undefined,
gitUri: GitUri | undefined, gitUri: GitUri | undefined,
cfg: ICodeLensConfig,
cfg: CodeLensConfig,
dirty: boolean, dirty: boolean,
dirtyCommand: Command | undefined dirtyCommand: Command | undefined
): void { ): void {
@ -627,7 +627,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
return lens; return lens;
} }
private getDirtyTitle(cfg: ICodeLensConfig) {
private getDirtyTitle(cfg: CodeLensConfig) {
if (cfg.recentChange.enabled && cfg.authors.enabled) { if (cfg.recentChange.enabled && cfg.authors.enabled) {
return Container.config.strings.codeLens.unsavedChanges.recentChangeAndAuthors; return Container.config.strings.codeLens.unsavedChanges.recentChangeAndAuthors;
} }

+ 1
- 1
src/commands/common.ts View File

@ -55,7 +55,6 @@ export enum Commands {
OpenWorkingFile = 'gitlens.openWorkingFile', OpenWorkingFile = 'gitlens.openWorkingFile',
ResetSuppressedWarnings = 'gitlens.resetSuppressedWarnings', ResetSuppressedWarnings = 'gitlens.resetSuppressedWarnings',
ShowCommitSearch = 'gitlens.showCommitSearch', ShowCommitSearch = 'gitlens.showCommitSearch',
ShowGitExplorer = 'gitlens.showGitExplorer',
ShowFileHistoryExplorer = 'gitlens.showFileHistoryExplorer', ShowFileHistoryExplorer = 'gitlens.showFileHistoryExplorer',
ShowLineHistoryExplorer = 'gitlens.showLineHistoryExplorer', ShowLineHistoryExplorer = 'gitlens.showLineHistoryExplorer',
ShowLastQuickPick = 'gitlens.showLastQuickPick', ShowLastQuickPick = 'gitlens.showLastQuickPick',
@ -66,6 +65,7 @@ export enum Commands {
ShowQuickCurrentBranchHistory = 'gitlens.showQuickRepoHistory', ShowQuickCurrentBranchHistory = 'gitlens.showQuickRepoHistory',
ShowQuickRepoStatus = 'gitlens.showQuickRepoStatus', ShowQuickRepoStatus = 'gitlens.showQuickRepoStatus',
ShowQuickStashList = 'gitlens.showQuickStashList', ShowQuickStashList = 'gitlens.showQuickStashList',
ShowRepositoriesExplorer = 'gitlens.showRepositoriesExplorer',
ShowResultsExplorer = 'gitlens.showResultsExplorer', ShowResultsExplorer = 'gitlens.showResultsExplorer',
ShowSettingsPage = 'gitlens.showSettingsPage', ShowSettingsPage = 'gitlens.showSettingsPage',
ShowWelcomePage = 'gitlens.showWelcomePage', ShowWelcomePage = 'gitlens.showWelcomePage',

+ 3
- 3
src/commands/showExplorer.ts View File

@ -5,7 +5,7 @@ import { Command, CommandContext, Commands } from './common';
export class ShowExplorerCommand extends Command { export class ShowExplorerCommand extends Command {
constructor() { constructor() {
super([ super([
Commands.ShowGitExplorer,
Commands.ShowRepositoriesExplorer,
Commands.ShowFileHistoryExplorer, Commands.ShowFileHistoryExplorer,
Commands.ShowLineHistoryExplorer, Commands.ShowLineHistoryExplorer,
Commands.ShowResultsExplorer Commands.ShowResultsExplorer
@ -18,8 +18,8 @@ export class ShowExplorerCommand extends Command {
execute(command: Commands) { execute(command: Commands) {
switch (command) { switch (command) {
case Commands.ShowGitExplorer:
return Container.gitExplorer.show();
case Commands.ShowRepositoriesExplorer:
return Container.repositoriesExplorer.show();
case Commands.ShowFileHistoryExplorer: case Commands.ShowFileHistoryExplorer:
return Container.fileHistoryExplorer.show(); return Container.fileHistoryExplorer.show();
case Commands.ShowLineHistoryExplorer: case Commands.ShowLineHistoryExplorer:

+ 5
- 5
src/configuration.ts View File

@ -14,9 +14,9 @@ import { CommandContext, extensionId, setCommandContext } from './constants';
import { Container } from './container'; import { Container } from './container';
import { clearGravatarCache } from './git/gitService'; import { clearGravatarCache } from './git/gitService';
import { Functions } from './system'; import { Functions } from './system';
import { IConfig, KeyMap } from './ui/config';
import { Config, KeyMap } from './ui/config';
const emptyConfig: any = new Proxy<any>({} as IConfig, {
const emptyConfig: any = new Proxy<any>({} as Config, {
get(target, propKey, receiver) { get(target, propKey, receiver) {
return emptyConfig; return emptyConfig;
} }
@ -42,10 +42,10 @@ export class Configuration {
`gitlens.${this.name('modes').value}`, `gitlens.${this.name('modes').value}`,
`gitlens.${this.name('codeLens').value}`, `gitlens.${this.name('codeLens').value}`,
`gitlens.${this.name('currentLine').value}`, `gitlens.${this.name('currentLine').value}`,
`gitlens.${this.name('gitExplorer').value}`,
`gitlens.${this.name('fileHistoryExplorer').value}`, `gitlens.${this.name('fileHistoryExplorer').value}`,
`gitlens.${this.name('hovers').value}`, `gitlens.${this.name('hovers').value}`,
`gitlens.${this.name('lineHistoryExplorer').value}`, `gitlens.${this.name('lineHistoryExplorer').value}`,
`gitlens.${this.name('repositoriesExplorer').value}`,
`gitlens.${this.name('statusBar').value}` `gitlens.${this.name('statusBar').value}`
]; ];
} }
@ -244,8 +244,8 @@ export class Configuration {
} }
} }
name<K extends keyof IConfig>(name: K) {
return Functions.propOf(emptyConfig as IConfig, name);
name<K extends keyof Config>(name: K) {
return Functions.propOf(emptyConfig as Config, name);
} }
update(section: string, value: any, target: ConfigurationTarget, resource?: Uri | null) { update(section: string, value: any, target: ConfigurationTarget, resource?: Uri | null) {

+ 3
- 3
src/constants.ts View File

@ -32,13 +32,13 @@ export enum CommandContext {
CanToggleCodeLens = 'gitlens:canToggleCodeLens', CanToggleCodeLens = 'gitlens:canToggleCodeLens',
Enabled = 'gitlens:enabled', Enabled = 'gitlens:enabled',
ExplorersCanCompare = 'gitlens:explorers:canCompare', ExplorersCanCompare = 'gitlens:explorers:canCompare',
GitExplorer = 'gitlens:gitExplorer',
GitExplorerAutoRefresh = 'gitlens:gitExplorer:autoRefresh',
HasRemotes = 'gitlens:hasRemotes', HasRemotes = 'gitlens:hasRemotes',
FileHistoryExplorer = 'gitlens:fileHistoryExplorer', FileHistoryExplorer = 'gitlens:fileHistoryExplorer',
LineHistoryExplorer = 'gitlens:lineHistoryExplorer', LineHistoryExplorer = 'gitlens:lineHistoryExplorer',
Key = 'gitlens:key', Key = 'gitlens:key',
KeyMap = 'gitlens:keymap', KeyMap = 'gitlens:keymap',
RepositoriesExplorer = 'gitlens:repositoriesExplorer',
RepositoriesExplorerAutoRefresh = 'gitlens:repositoriesExplorer:autoRefresh',
ResultsExplorer = 'gitlens:resultsExplorer', ResultsExplorer = 'gitlens:resultsExplorer',
ResultsExplorerKeepResults = 'gitlens:resultsExplorer:keepResults' ResultsExplorerKeepResults = 'gitlens:resultsExplorer:keepResults'
} }
@ -125,6 +125,6 @@ export const ImageMimetypes: { [key: string]: string } = {
}; };
export enum WorkspaceState { export enum WorkspaceState {
GitExplorerAutoRefresh = 'gitlens:gitExplorer:autoRefresh',
RepositoriesExplorerAutoRefresh = 'gitlens:repositoriesExplorer:autoRefresh',
ResultsExplorerKeepResults = 'gitlens:resultsExplorer:keepResults' ResultsExplorerKeepResults = 'gitlens:resultsExplorer:keepResults'
} }

+ 14
- 14
src/container.ts View File

@ -3,7 +3,7 @@ import { Disposable, ExtensionContext } from 'vscode';
import { FileAnnotationController } from './annotations/fileAnnotationController'; import { FileAnnotationController } from './annotations/fileAnnotationController';
import { LineAnnotationController } from './annotations/lineAnnotationController'; import { LineAnnotationController } from './annotations/lineAnnotationController';
import { CodeLensController } from './codelens/codeLensController'; import { CodeLensController } from './codelens/codeLensController';
import { configuration, IConfig } from './configuration';
import { Config, configuration } from './configuration';
import { GitFileSystemProvider } from './git/fsProvider'; import { GitFileSystemProvider } from './git/fsProvider';
import { GitService } from './git/gitService'; import { GitService } from './git/gitService';
import { LineHoverController } from './hovers/lineHoverController'; import { LineHoverController } from './hovers/lineHoverController';
@ -13,14 +13,14 @@ import { GitDocumentTracker } from './trackers/gitDocumentTracker';
import { GitLineTracker } from './trackers/gitLineTracker'; import { GitLineTracker } from './trackers/gitLineTracker';
import { ExplorerCommands } from './views/explorerCommands'; import { ExplorerCommands } from './views/explorerCommands';
import { FileHistoryExplorer } from './views/fileHistoryExplorer'; import { FileHistoryExplorer } from './views/fileHistoryExplorer';
import { GitExplorer } from './views/gitExplorer';
import { LineHistoryExplorer } from './views/lineHistoryExplorer'; import { LineHistoryExplorer } from './views/lineHistoryExplorer';
import { RepositoriesExplorer } from './views/repositoriesExplorer';
import { ResultsExplorer } from './views/resultsExplorer'; import { ResultsExplorer } from './views/resultsExplorer';
import { SettingsEditor } from './webviews/settingsEditor'; import { SettingsEditor } from './webviews/settingsEditor';
import { WelcomeEditor } from './webviews/welcomeEditor'; import { WelcomeEditor } from './webviews/welcomeEditor';
export class Container { export class Container {
static initialize(context: ExtensionContext, config: IConfig) {
static initialize(context: ExtensionContext, config: Config) {
this._context = context; this._context = context;
this._config = Container.applyMode(config); this._config = Container.applyMode(config);
@ -40,15 +40,15 @@ export class Container {
context.subscriptions.push((this._settingsEditor = new SettingsEditor())); context.subscriptions.push((this._settingsEditor = new SettingsEditor()));
context.subscriptions.push((this._welcomeEditor = new WelcomeEditor())); context.subscriptions.push((this._welcomeEditor = new WelcomeEditor()));
if (config.gitExplorer.enabled) {
context.subscriptions.push((this._gitExplorer = new GitExplorer()));
if (config.repositoriesExplorer.enabled) {
context.subscriptions.push((this._repositoriesExplorer = new RepositoriesExplorer()));
} }
else { else {
let disposable: Disposable; let disposable: Disposable;
disposable = configuration.onDidChange(e => { disposable = configuration.onDidChange(e => {
if (configuration.changed(e, configuration.name('gitExplorer')('enabled').value)) {
if (configuration.changed(e, configuration.name('repositoriesExplorer')('enabled').value)) {
disposable.dispose(); disposable.dispose();
context.subscriptions.push((this._gitExplorer = new GitExplorer()));
context.subscriptions.push((this._repositoriesExplorer = new RepositoriesExplorer()));
} }
}); });
} }
@ -87,10 +87,10 @@ export class Container {
return this._codeLensController; return this._codeLensController;
} }
private static _config: IConfig | undefined;
private static _config: Config | undefined;
static get config() { static get config() {
if (this._config === undefined) { if (this._config === undefined) {
this._config = Container.applyMode(configuration.get<IConfig>());
this._config = Container.applyMode(configuration.get<Config>());
} }
return this._config; return this._config;
} }
@ -127,9 +127,9 @@ export class Container {
return this._git; return this._git;
} }
private static _gitExplorer: GitExplorer | undefined;
static get gitExplorer(): GitExplorer {
return this._gitExplorer!;
private static _repositoriesExplorer: RepositoriesExplorer | undefined;
static get repositoriesExplorer(): RepositoriesExplorer {
return this._repositoriesExplorer!;
} }
private static _keyboard: Keyboard; private static _keyboard: Keyboard;
@ -194,7 +194,7 @@ export class Container {
this._config = undefined; this._config = undefined;
} }
private static applyMode(config: IConfig) {
private static applyMode(config: Config) {
if (!config.mode.active) return config; if (!config.mode.active) return config;
const mode = config.modes[config.mode.active]; const mode = config.modes[config.mode.active];
@ -207,7 +207,7 @@ export class Container {
config.currentLine.enabled = mode.currentLine; config.currentLine.enabled = mode.currentLine;
} }
if (mode.explorers != null) { if (mode.explorers != null) {
config.gitExplorer.enabled = mode.explorers;
config.repositoriesExplorer.enabled = mode.explorers;
} }
if (mode.explorers != null) { if (mode.explorers != null) {
config.fileHistoryExplorer.enabled = mode.explorers; config.fileHistoryExplorer.enabled = mode.explorers;

+ 43
- 3
src/extension.ts View File

@ -2,7 +2,7 @@
import { commands, ExtensionContext, extensions, window, workspace } from 'vscode'; import { commands, ExtensionContext, extensions, window, workspace } from 'vscode';
import { Commands, configureCommands } from './commands'; import { Commands, configureCommands } from './commands';
import { configuration, Configuration, IConfig } from './configuration';
import { Config, configuration, Configuration } from './configuration';
import { CommandContext, extensionQualifiedId, GlobalState, GlyphChars, setCommandContext } from './constants'; import { CommandContext, extensionQualifiedId, GlobalState, GlyphChars, setCommandContext } from './constants';
import { Container } from './container'; import { Container } from './container';
import { GitService } from './git/gitService'; import { GitService } from './git/gitService';
@ -31,12 +31,15 @@ export async function activate(context: ExtensionContext) {
Configuration.configure(context); Configuration.configure(context);
const cfg = configuration.get<IConfig>();
const cfg = configuration.get<Config>();
// Pretend we are enabled (until we know otherwise) and set the explorer contexts to reduce flashing on load // Pretend we are enabled (until we know otherwise) and set the explorer contexts to reduce flashing on load
await Promise.all([ await Promise.all([
setCommandContext(CommandContext.Enabled, true), setCommandContext(CommandContext.Enabled, true),
setCommandContext(CommandContext.GitExplorer, cfg.gitExplorer.enabled ? cfg.gitExplorer.location : false),
setCommandContext(
CommandContext.RepositoriesExplorer,
cfg.repositoriesExplorer.enabled ? cfg.repositoriesExplorer.location : false
),
setCommandContext( setCommandContext(
CommandContext.FileHistoryExplorer, CommandContext.FileHistoryExplorer,
cfg.fileHistoryExplorer.enabled ? cfg.fileHistoryExplorer.location : false cfg.fileHistoryExplorer.enabled ? cfg.fileHistoryExplorer.location : false
@ -101,6 +104,43 @@ async function migrateSettings(context: ExtensionContext, previousVersion: strin
try { try {
if (Versions.compare(previous, Versions.from(9, 0, 0)) !== 1) { if (Versions.compare(previous, Versions.from(9, 0, 0)) !== 1) {
await configuration.migrate( await configuration.migrate(
'gitExplorer.autoRefresh',
configuration.name('repositoriesExplorer')('autoRefresh').value
);
await configuration.migrate(
'gitExplorer.branches.layout',
configuration.name('repositoriesExplorer')('branches')('layout').value
);
await configuration.migrate(
'gitExplorer.enabled',
configuration.name('repositoriesExplorer')('enabled').value
);
await configuration.migrate(
'gitExplorer.files.compact',
configuration.name('repositoriesExplorer')('files')('compact').value
);
await configuration.migrate(
'gitExplorer.files.layout',
configuration.name('repositoriesExplorer')('files')('layout').value
);
await configuration.migrate(
'gitExplorer.files.threshold',
configuration.name('repositoriesExplorer')('files')('threshold').value
);
await configuration.migrate(
'gitExplorer.includeWorkingTree',
configuration.name('repositoriesExplorer')('includeWorkingTree').value
);
await configuration.migrate(
'gitExplorer.location',
configuration.name('repositoriesExplorer')('location').value
);
await configuration.migrate(
'gitExplorer.showTrackingBranch',
configuration.name('repositoriesExplorer')('showTrackingBranch').value
);
await configuration.migrate(
'historyExplorer.avatars', 'historyExplorer.avatars',
configuration.name('fileHistoryExplorer')('avatars').value configuration.name('fileHistoryExplorer')('avatars').value
); );

+ 2
- 2
src/git/gitService.ts View File

@ -17,7 +17,7 @@ import {
WorkspaceFoldersChangeEvent WorkspaceFoldersChangeEvent
} from 'vscode'; } from 'vscode';
import { GitExtension } from '../@types/git'; import { GitExtension } from '../@types/git';
import { configuration, IRemotesConfig } from '../configuration';
import { configuration, RemotesConfig } from '../configuration';
import { CommandContext, DocumentSchemes, GlyphChars, setCommandContext } from '../constants'; import { CommandContext, DocumentSchemes, GlyphChars, setCommandContext } from '../constants';
import { Container } from '../container'; import { Container } from '../container';
import { Logger } from '../logger'; import { Logger } from '../logger';
@ -1466,7 +1466,7 @@ export class GitService implements Disposable {
providerMap = providerMap =
providerMap || providerMap ||
RemoteProviderFactory.createMap( RemoteProviderFactory.createMap(
configuration.get<IRemotesConfig[] | null | undefined>(configuration.name('remotes').value, null)
configuration.get<RemotesConfig[] | null | undefined>(configuration.name('remotes').value, null)
); );
try { try {

+ 3
- 3
src/git/models/repository.ts View File

@ -10,7 +10,7 @@ import {
workspace, workspace,
WorkspaceFolder WorkspaceFolder
} from 'vscode'; } from 'vscode';
import { configuration, IRemotesConfig } from '../../configuration';
import { configuration, RemotesConfig } from '../../configuration';
import { Container } from '../../container'; import { Container } from '../../container';
import { Functions } from '../../system'; import { Functions } from '../../system';
import { GitBranch, GitDiffShortStat, GitRemote, GitStash, GitStatus, GitTag } from '../git'; import { GitBranch, GitDiffShortStat, GitRemote, GitStash, GitStatus, GitTag } from '../git';
@ -155,7 +155,7 @@ export class Repository implements Disposable {
const section = configuration.name('remotes').value; const section = configuration.name('remotes').value;
if (initializing || configuration.changed(e, section, this.folder.uri)) { if (initializing || configuration.changed(e, section, this.folder.uri)) {
this._providerMap = RemoteProviderFactory.createMap( this._providerMap = RemoteProviderFactory.createMap(
configuration.get<IRemotesConfig[] | null | undefined>(section, this.folder.uri)
configuration.get<RemotesConfig[] | null | undefined>(section, this.folder.uri)
); );
if (!initializing) { if (!initializing) {
@ -244,7 +244,7 @@ export class Repository implements Disposable {
getRemotes(): Promise<GitRemote[]> { getRemotes(): Promise<GitRemote[]> {
if (this._remotes === undefined) { if (this._remotes === undefined) {
if (this._providerMap === undefined) { if (this._providerMap === undefined) {
const remotesCfg = configuration.get<IRemotesConfig[] | null | undefined>(
const remotesCfg = configuration.get<RemotesConfig[] | null | undefined>(
configuration.name('remotes').value, configuration.name('remotes').value,
this.folder.uri this.folder.uri
); );

+ 3
- 3
src/git/remotes/custom.ts View File

@ -1,13 +1,13 @@
'use strict'; 'use strict';
import { Range } from 'vscode'; import { Range } from 'vscode';
import { IRemotesUrlsConfig } from '../../configuration';
import { RemotesUrlsConfig } from '../../configuration';
import { Strings } from '../../system'; import { Strings } from '../../system';
import { RemoteProvider } from './provider'; import { RemoteProvider } from './provider';
export class CustomService extends RemoteProvider { export class CustomService extends RemoteProvider {
private readonly urls: IRemotesUrlsConfig;
private readonly urls: RemotesUrlsConfig;
constructor(domain: string, path: string, urls: IRemotesUrlsConfig, protocol?: string, name?: string) {
constructor(domain: string, path: string, urls: RemotesUrlsConfig, protocol?: string, name?: string) {
super(domain, path, protocol, name, true); super(domain, path, protocol, name, true);
this.urls = urls; this.urls = urls;
} }

+ 3
- 3
src/git/remotes/factory.ts View File

@ -1,5 +1,5 @@
'use strict'; 'use strict';
import { CustomRemoteType, IRemotesConfig } from '../../configuration';
import { CustomRemoteType, RemotesConfig } from '../../configuration';
import { Logger } from '../../logger'; import { Logger } from '../../logger';
import { BitbucketService } from './bitbucket'; import { BitbucketService } from './bitbucket';
import { BitbucketServerService } from './bitbucket-server'; import { BitbucketServerService } from './bitbucket-server';
@ -43,7 +43,7 @@ export class RemoteProviderFactory {
} }
} }
static createMap(cfg: IRemotesConfig[] | null | undefined): RemoteProviderMap {
static createMap(cfg: RemotesConfig[] | null | undefined): RemoteProviderMap {
const providerMap = new Map(defaultProviderMap); const providerMap = new Map(defaultProviderMap);
if (cfg != null && cfg.length > 0) { if (cfg != null && cfg.length > 0) {
for (const rc of cfg) { for (const rc of cfg) {
@ -56,7 +56,7 @@ export class RemoteProviderFactory {
return providerMap; return providerMap;
} }
private static getCustomProvider(cfg: IRemotesConfig) {
private static getCustomProvider(cfg: RemotesConfig) {
switch (cfg.type) { switch (cfg.type) {
case CustomRemoteType.Bitbucket: case CustomRemoteType.Bitbucket:
return (domain: string, path: string) => return (domain: string, path: string) =>

+ 36
- 68
src/ui/config.ts View File

@ -95,20 +95,17 @@ export enum StatusBarCommand {
ToggleFileBlame = 'gitlens.toggleFileBlame' ToggleFileBlame = 'gitlens.toggleFileBlame'
} }
export interface IAdvancedConfig {
export interface AdvancedConfig {
blame: { blame: {
customArguments: string[] | null; customArguments: string[] | null;
delayAfterEdit: number; delayAfterEdit: number;
sizeThresholdAfterEdit: number; sizeThresholdAfterEdit: number;
}; };
caching: { caching: {
enabled: boolean; enabled: boolean;
}; };
fileHistoryFollowsRenames: boolean; fileHistoryFollowsRenames: boolean;
maxListItems: number; maxListItems: number;
messages: { messages: {
suppressCommitHasNoPreviousCommitWarning: boolean; suppressCommitHasNoPreviousCommitWarning: boolean;
suppressCommitNotFoundWarning: boolean; suppressCommitNotFoundWarning: boolean;
@ -119,84 +116,61 @@ export interface IAdvancedConfig {
suppressNoRepositoryWarning: boolean; suppressNoRepositoryWarning: boolean;
suppressShowKeyBindingsNotice: boolean; suppressShowKeyBindingsNotice: boolean;
}; };
quickPick: { quickPick: {
closeOnFocusOut: boolean; closeOnFocusOut: boolean;
}; };
repositorySearchDepth: number; repositorySearchDepth: number;
telemetry: { telemetry: {
enabled: boolean; enabled: boolean;
}; };
} }
export interface ICodeLensConfig {
export interface CodeLensConfig {
authors: { authors: {
enabled: boolean; enabled: boolean;
command: CodeLensCommand; command: CodeLensCommand;
}; };
enabled: boolean; enabled: boolean;
recentChange: { recentChange: {
enabled: boolean; enabled: boolean;
command: CodeLensCommand; command: CodeLensCommand;
}; };
scopes: CodeLensScopes[]; scopes: CodeLensScopes[];
scopesByLanguage: CodeLensLanguageScope[]; scopesByLanguage: CodeLensLanguageScope[];
symbolScopes: string[]; symbolScopes: string[];
} }
export interface IExplorersConfig {
export interface ExplorersConfig {
avatars: boolean; avatars: boolean;
files: { files: {
layout: ExplorerFilesLayout; layout: ExplorerFilesLayout;
compact: boolean; compact: boolean;
threshold: number; threshold: number;
}; };
commitFileFormat: string; commitFileFormat: string;
commitFormat: string; commitFormat: string;
// dateFormat: string | null; // dateFormat: string | null;
defaultItemLimit: number; defaultItemLimit: number;
stashFileFormat: string; stashFileFormat: string;
stashFormat: string; stashFormat: string;
statusFileFormat: string; statusFileFormat: string;
} }
export interface IExplorersFilesConfig {
export interface ExplorersFilesConfig {
compact: boolean; compact: boolean;
layout: ExplorerFilesLayout; layout: ExplorerFilesLayout;
threshold: number; threshold: number;
} }
export interface IGitExplorerConfig {
autoRefresh: boolean;
branches: {
layout: ExplorerBranchesLayout;
};
enabled: boolean;
files: IExplorersFilesConfig;
includeWorkingTree: boolean;
location: 'explorer' | 'gitlens' | 'scm';
showTrackingBranch: boolean;
}
export interface IFileHistoryExplorerConfig {
export interface FileHistoryExplorerConfig {
avatars: boolean; avatars: boolean;
enabled: boolean; enabled: boolean;
location: 'explorer' | 'gitlens' | 'scm'; location: 'explorer' | 'gitlens' | 'scm';
} }
export interface ILineHistoryExplorerConfig extends IFileHistoryExplorerConfig {}
export interface LineHistoryExplorerConfig extends FileHistoryExplorerConfig {}
export interface IMenuConfig {
export interface MenuConfig {
editor: editor:
| false | false
| { | {
@ -229,7 +203,7 @@ export interface IMenuConfig {
}; };
} }
export interface IModeConfig {
export interface ModeConfig {
name: string; name: string;
statusBarItemName?: string; statusBarItemName?: string;
description?: string; description?: string;
@ -240,20 +214,32 @@ export interface IModeConfig {
statusBar?: boolean; statusBar?: boolean;
} }
export interface IResultsExplorerConfig {
files: IExplorersFilesConfig;
export interface RepositoriesExplorerConfig {
autoRefresh: boolean;
branches: {
layout: ExplorerBranchesLayout;
};
enabled: boolean;
files: ExplorersFilesConfig;
includeWorkingTree: boolean;
location: 'explorer' | 'gitlens' | 'scm';
showTrackingBranch: boolean;
}
export interface ResultsExplorerConfig {
files: ExplorersFilesConfig;
location: 'explorer' | 'gitlens' | 'scm'; location: 'explorer' | 'gitlens' | 'scm';
} }
export interface IRemotesConfig {
export interface RemotesConfig {
domain: string; domain: string;
name?: string; name?: string;
protocol?: string; protocol?: string;
type: CustomRemoteType; type: CustomRemoteType;
urls?: IRemotesUrlsConfig;
urls?: RemotesUrlsConfig;
} }
export interface IRemotesUrlsConfig {
export interface RemotesUrlsConfig {
repository: string; repository: string;
branches: string; branches: string;
branch: string; branch: string;
@ -265,7 +251,7 @@ export interface IRemotesUrlsConfig {
fileRange: string; fileRange: string;
} }
export interface IConfig {
export interface Config {
blame: { blame: {
avatars: boolean; avatars: boolean;
compact: boolean; compact: boolean;
@ -283,34 +269,25 @@ export interface IConfig {
separateLines: boolean; separateLines: boolean;
toggleMode: AnnotationsToggleMode; toggleMode: AnnotationsToggleMode;
}; };
currentLine: { currentLine: {
scrollable: boolean; scrollable: boolean;
dateFormat: string | null; dateFormat: string | null;
enabled: boolean; enabled: boolean;
format: string; format: string;
}; };
codeLens: ICodeLensConfig;
codeLens: CodeLensConfig;
debug: boolean; debug: boolean;
defaultDateFormat: string | null; defaultDateFormat: string | null;
defaultDateStyle: DateStyle; defaultDateStyle: DateStyle;
defaultGravatarsStyle: GravatarDefaultStyle; defaultGravatarsStyle: GravatarDefaultStyle;
explorers: IExplorersConfig;
gitExplorer: IGitExplorerConfig;
explorers: ExplorersConfig;
heatmap: { heatmap: {
ageThreshold: number; ageThreshold: number;
coldColor: string; coldColor: string;
hotColor: string; hotColor: string;
toggleMode: AnnotationsToggleMode; toggleMode: AnnotationsToggleMode;
}; };
fileHistoryExplorer: IFileHistoryExplorerConfig;
fileHistoryExplorer: FileHistoryExplorerConfig;
hovers: { hovers: {
annotations: { annotations: {
changes: boolean; changes: boolean;
@ -318,22 +295,19 @@ export interface IConfig {
enabled: boolean; enabled: boolean;
over: 'line' | 'annotation'; over: 'line' | 'annotation';
}; };
currentLine: { currentLine: {
changes: boolean; changes: boolean;
details: boolean; details: boolean;
enabled: boolean; enabled: boolean;
over: 'line' | 'annotation'; over: 'line' | 'annotation';
}; };
avatars: boolean; avatars: boolean;
enabled: boolean; enabled: boolean;
}; };
insiders: boolean; insiders: boolean;
keymap: KeyMap; keymap: KeyMap;
lineHistoryExplorer: ILineHistoryExplorerConfig;
menus: boolean | IMenuConfig;
lineHistoryExplorer: LineHistoryExplorerConfig;
menus: boolean | MenuConfig;
mode: { mode: {
active: string; active: string;
statusBar: { statusBar: {
@ -341,22 +315,18 @@ export interface IConfig {
alignment: 'left' | 'right'; alignment: 'left' | 'right';
}; };
}; };
modes: { [key: string]: IModeConfig };
modes: { [key: string]: ModeConfig };
outputLevel: OutputLevel; outputLevel: OutputLevel;
recentChanges: { recentChanges: {
highlight: { highlight: {
locations: HighlightLocations[]; locations: HighlightLocations[];
}; };
toggleMode: AnnotationsToggleMode; toggleMode: AnnotationsToggleMode;
}; };
remotes: IRemotesConfig[];
resultsExplorer: IResultsExplorerConfig;
remotes: RemotesConfig[];
repositoriesExplorer: RepositoriesExplorerConfig;
resultsExplorer: ResultsExplorerConfig;
showWhatsNewAfterUpgrades: boolean; showWhatsNewAfterUpgrades: boolean;
statusBar: { statusBar: {
alignment: 'left' | 'right'; alignment: 'left' | 'right';
command: StatusBarCommand; command: StatusBarCommand;
@ -365,7 +335,6 @@ export interface IConfig {
format: string; format: string;
reduceFlicker: boolean; reduceFlicker: boolean;
}; };
strings: { strings: {
codeLens: { codeLens: {
unsavedChanges: { unsavedChanges: {
@ -375,6 +344,5 @@ export interface IConfig {
}; };
}; };
}; };
advanced: IAdvancedConfig;
advanced: AdvancedConfig;
} }

src/ui/images/settings/gitlens-file-history-explorer-avatars.png → src/ui/images/settings/file-history-explorer-avatars.png View File


src/ui/images/settings/gitlens-file-history-explorer.png → src/ui/images/settings/file-history-explorer.png View File


src/ui/images/settings/gitlens-explorer-avatars.png → src/ui/images/settings/repositories-explorer-avatars.png View File


src/ui/images/settings/gitlens-explorer-tree-compact.png → src/ui/images/settings/repositories-explorer-tree-compact.png View File


src/ui/images/settings/gitlens-explorer-tree.png → src/ui/images/settings/repositories-explorer-tree.png View File


src/ui/images/settings/gitlens-explorer.png → src/ui/images/settings/repositories-explorer.png View File


src/ui/images/settings/gitlens-results-avatars.png → src/ui/images/settings/results-explorer-avatars.png View File


src/ui/images/settings/gitlens-results-tree-compact.png → src/ui/images/settings/results-explorer-tree-compact.png View File


src/ui/images/settings/gitlens-results-tree.png → src/ui/images/settings/results-explorer-tree.png View File


src/ui/images/settings/gitlens-results.png → src/ui/images/settings/results-explorer.png View File


+ 3
- 3
src/ui/ipc.ts View File

@ -1,8 +1,8 @@
'use strict'; 'use strict';
import { IConfig } from './config';
import { Config } from './config';
export interface Bootstrap { export interface Bootstrap {
config: IConfig;
config: Config;
} }
export interface SettingsBootstrap extends Bootstrap { export interface SettingsBootstrap extends Bootstrap {
@ -24,7 +24,7 @@ export interface SaveSettingsMessage {
export interface SettingsChangedMessage { export interface SettingsChangedMessage {
type: 'settingsChanged'; type: 'settingsChanged';
config: IConfig;
config: Config;
} }
export type Message = SaveSettingsMessage | SettingsChangedMessage; export type Message = SaveSettingsMessage | SettingsChangedMessage;

+ 294
- 240
src/ui/settings/index.html View File

@ -20,8 +20,7 @@
</div> </div>
</a> </a>
<p class="header__blurb"> <p class="header__blurb">
GitLens
<b>supercharges</b> the Git capabilities built into Visual Studio Code. It helps you to
GitLens <b>supercharges</b> the Git capabilities built into Visual Studio Code. It helps you to
<b>visualize code authorship</b> at a glance via Git blame annotations and code lens, <b>visualize code authorship</b> at a glance via Git blame annotations and code lens,
<b>seamlessly navigate and explore</b> Git repositories, <b>seamlessly navigate and explore</b> Git repositories,
<b>gain valuable insights</b> via powerful comparison commands, and so much more. <b>gain valuable insights</b> via powerful comparison commands, and so much more.
@ -50,10 +49,13 @@
</div> </div>
</div> </div>
<p class="page-header__subtitle">For advanced customizations refer to the <p class="page-header__subtitle">For advanced customizations refer to the
<a title="See the GitLens settings docs" href="https://github.com/eamodio/vscode-gitlens/#gitlens-settings">GitLens
settings docs</a> and edit your
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">User
Settings</a>
<a title="See the GitLens settings docs" href="https://github.com/eamodio/vscode-gitlens/#gitlens-settings">
GitLens settings docs
</a>
and edit your
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">
User Settings
</a>
</p> </p>
</div> </div>
@ -113,17 +115,18 @@
</span> </span>
<span class="label__hint hidden" data-visibility="keymap =none"> <span class="label__hint hidden" data-visibility="keymap =none">
GitLens won't bind any keyboard shortcuts. Configure your own via the GitLens won't bind any keyboard shortcuts. Configure your own via the
<a class="command" title="Open Keyboard Shortcuts" href="command:workbench.action.openGlobalKeybindings">Keyboard
Shortcuts</a> editor
<a class="command" title="Open Keyboard Shortcuts" href="command:workbench.action.openGlobalKeybindings">
Keyboard Shortcuts
</a>
editor
</span> </span>
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
Search for
<b>
<i>gitlens</i>
</b> in the
<a class="command" title="Open Keyboard Shortcuts" href="command:workbench.action.openGlobalKeybindings">Keyboard
Shortcuts</a> editor to see the shortcuts and to customize them further
Search for <b><i>gitlens</i></b> in the
<a class="command" title="Open Keyboard Shortcuts" href="command:workbench.action.openGlobalKeybindings">
Keyboard Shortcuts
</a>
editor to see the shortcuts and to customize them further
</p> </p>
</div> </div>
@ -280,35 +283,36 @@
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
For more advanced customizations open For more advanced customizations open
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">User
Settings</a> and search for
<b>
<i>gitlens</i>
</b>
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">
User Settings
</a>
and search for <b><i>gitlens</i></b>
</p> </p>
</div> </div>
</section> </section>
<section id="gitlens-explorer">
<section id="repositories-explorer">
<div class="section__header"> <div class="section__header">
<h2 class="section__title">GitLens Explorer
<a class="link__learn-more" title="Learn more" href="https://github.com/eamodio/vscode-gitlens/#gitlens-explorer">
<h2 class="section__title">Repositories Explorer
<a class="link__learn-more" title="Learn more" href="https://github.com/eamodio/vscode-gitlens/#repositories-explorer">
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">Adds a GitLens explorer to navigate and explore repositories
or file histories</p>
<p class="section__title-hint">
Adds a Repositories explorer to visualize, navigate, and explore Git repositories
</p>
</div> </div>
<div class="section__settings"> <div class="section__settings">
<div class="settings-group"> <div class="settings-group">
<div class="settings-group__setting nowrap"> <div class="settings-group__setting nowrap">
<input class="setting" id="gitExplorer.enabled" name="gitExplorer.enabled" type="checkbox" />
<label for="gitExplorer.enabled">Show the GitLens explorer</label>
<input class="setting" id="repositoriesExplorer.enabled" name="repositoriesExplorer.enabled"
type="checkbox" />
<label for="repositoriesExplorer.enabled">Show the Repositories explorer</label>
</div> </div>
<div class="settings-group__setting ml-2" data-enablement="gitExplorer.enabled">
<label for="gitExplorer.location">Show in the</label>
<select class="setting" id="gitExplorer.location" name="gitExplorer.location"
<div class="settings-group__setting ml-2" data-enablement="repositoriesExplorer.enabled">
<label for="repositoriesExplorer.location">Show in the</label>
<select class="setting" id="repositoriesExplorer.location" name="repositoriesExplorer.location"
disabled> disabled>
<option value="gitlens">GitLens view</option> <option value="gitlens">GitLens view</option>
<option value="explorer">Explorer view</option> <option value="explorer">Explorer view</option>
@ -316,94 +320,95 @@
</select> </select>
</div> </div>
<div class="settings-group__setting ml-2 hidden" data-enablement="gitExplorer.enabled"
<div class="settings-group__setting ml-2 hidden" data-enablement="repositoriesExplorer.enabled"
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
<label for="gitExplorer.branches.layout">Layout branches</label>
<select class="setting" id="gitExplorer.branches.layout" name="gitExplorer.branches.layout"
<label for="repositoriesExplorer.branches.layout">Layout branches</label>
<select class="setting" id="repositoriesExplorer.branches.layout" name="repositoriesExplorer.branches.layout"
disabled> disabled>
<option value="list">as a list</option> <option value="list">as a list</option>
<option value="tree">as a tree</option> <option value="tree">as a tree</option>
</select> </select>
</div> </div>
<div class="settings-group__setting ml-2 hidden" data-enablement="gitExplorer.enabled"
<div class="settings-group__setting ml-2 hidden" data-enablement="repositoriesExplorer.enabled"
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
<label for="gitExplorer.files.layout">Layout files</label>
<select class="setting" id="gitExplorer.files.layout" name="gitExplorer.files.layout"
<label for="repositoriesExplorer.files.layout">Layout files</label>
<select class="setting" id="repositoriesExplorer.files.layout" name="repositoriesExplorer.files.layout"
disabled> disabled>
<option value="auto">automatically</option> <option value="auto">automatically</option>
<option value="list">as a list</option> <option value="list">as a list</option>
<option value="tree">as a tree</option> <option value="tree">as a tree</option>
</select> </select>
</div> </div>
<p class="setting__hint ml-3 hidden" data-visibility="gitExplorer.files.layout =auto &amp; settings.mode =advanced">Chooses
the best layout based on the number of files at each nesting level</p>
<p class="setting__hint ml-3 hidden" data-visibility="repositoriesExplorer.files.layout =auto &amp; settings.mode =advanced">
Chooses the best layout based on the number of files at each nesting level
</p>
<div class="settings-group__setting nowrap ml-2 hidden" data-enablement="gitExplorer.enabled"
<div class="settings-group__setting nowrap ml-2 hidden" data-enablement="repositoriesExplorer.enabled"
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
<input class="setting" id="gitExplorer.files.compact" name="gitExplorer.files.compact"
<input class="setting" id="repositoriesExplorer.files.compact" name="repositoriesExplorer.files.compact"
type="checkbox" disabled /> type="checkbox" disabled />
<label for="gitExplorer.files.compact">Use compact layout</label>
<label for="repositoriesExplorer.files.compact">Use compact layout</label>
</div> </div>
<p class="setting__hint ml-3 hidden" data-visibility="settings.mode =advanced">Compacts
(flattens) unnecessary nesting when using a tree layouts</p>
<p class="setting__hint ml-3 hidden" data-visibility="settings.mode =advanced">
Compacts (flattens) unnecessary nesting when using a tree layouts
</p>
<div class="settings-group__setting nowrap ml-2 hidden" data-enablement="gitExplorer.enabled"
<div class="settings-group__setting nowrap ml-2 hidden" data-enablement="repositoriesExplorer.enabled"
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
<input class="setting" id="gitExplorer.avatars" name="explorers.avatars" type="checkbox"
disabled />
<label for="gitExplorer.avatars">Use author avatars icons</label>
<input class="setting" id="repositoriesExplorer.avatars" name="explorers.avatars"
type="checkbox" disabled />
<label for="repositoriesExplorer.avatars">Use author avatars icons</label>
</div> </div>
<div class="settings-group__setting nowrap ml-2 hidden" data-enablement="gitExplorer.enabled"
<div class="settings-group__setting nowrap ml-2 hidden" data-enablement="repositoriesExplorer.enabled"
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
<input class="setting" id="gitExplorer.autoRefresh" name="gitExplorer.autoRefresh"
<input class="setting" id="repositoriesExplorer.autoRefresh" name="repositoriesExplorer.autoRefresh"
type="checkbox" disabled /> type="checkbox" disabled />
<label for="gitExplorer.autoRefresh">Automatically refreshes when the file system
or any repository changes</label>
<label for="repositoriesExplorer.autoRefresh">
Automatically refreshes when the file system or any repository changes
</label>
</div> </div>
</div> </div>
<div class="section__preview"> <div class="section__preview">
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-explorer.png"
data-visibility="gitExplorer.enabled &amp; gitExplorer.files.layout !tree" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-explorer-tree-compact.png"
data-visibility="gitExplorer.enabled &amp; gitExplorer.files.layout =tree &amp; gitExplorer.files.compact" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-explorer-tree.png"
data-visibility="gitExplorer.enabled &amp; gitExplorer.files.layout =tree &amp; gitExplorer.files.compact =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/gitlens-explorer-avatars.png"
data-visibility="gitExplorer.enabled &amp; explorers.avatars" />
<img class="image__preview hidden" src="{{root}}/images/settings/repositories-explorer.png"
data-visibility="repositoriesExplorer.enabled &amp; repositoriesExplorer.files.layout !tree" />
<img class="image__preview hidden" src="{{root}}/images/settings/repositories-explorer-tree-compact.png"
data-visibility="repositoriesExplorer.enabled &amp; repositoriesExplorer.files.layout =tree &amp; repositoriesExplorer.files.compact" />
<img class="image__preview hidden" src="{{root}}/images/settings/repositories-explorer-tree.png"
data-visibility="repositoriesExplorer.enabled &amp; repositoriesExplorer.files.layout =tree &amp; repositoriesExplorer.files.compact =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/repositories-explorer-avatars.png"
data-visibility="repositoriesExplorer.enabled &amp; explorers.avatars" />
</div> </div>
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
For more advanced customizations open For more advanced customizations open
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">User
Settings</a> and search for
<b>
<i>gitlens.gitExplorer</i>
</b> or
<b>
<i>gitlens.explorers</i>
</b>
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">
User Settings
</a>
and search for <b><i>gitlens.repositoriesExplorer</i></b> or <b><i>gitlens.explorers</i></b>
</p> </p>
</div> </div>
</section> </section>
<section id="gitlens-file-history-explorer">
<section id="file-history-explorer">
<div class="section__header"> <div class="section__header">
<h2 class="section__title">GitLens File History Explorer
<a class="link__learn-more" title="Learn more" href="https://github.com/eamodio/vscode-gitlens/#gitlens-file-history-explorer">
<h2 class="section__title">File History Explorer
<a class="link__learn-more" title="Learn more" href="https://github.com/eamodio/vscode-gitlens/#file-history-explorer">
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">Adds a GitLens File History explorer to visualize the
revision history of the current file</p>
<p class="section__title-hint">
Adds a File History explorer to visualize, navigate, and explore the revision history
of the current file
</p>
</div> </div>
<div class="section__settings"> <div class="section__settings">
<div class="settings-group"> <div class="settings-group">
<div class="settings-group__setting nowrap"> <div class="settings-group__setting nowrap">
<input class="setting" id="fileHistoryExplorer.enabled" name="fileHistoryExplorer.enabled" <input class="setting" id="fileHistoryExplorer.enabled" name="fileHistoryExplorer.enabled"
type="checkbox" /> type="checkbox" />
<label for="fileHistoryExplorer.enabled">Show the GitLens File History explorer</label>
<label for="fileHistoryExplorer.enabled">Show the File History explorer</label>
</div> </div>
<div class="settings-group__setting ml-2" data-enablement="fileHistoryExplorer.enabled"> <div class="settings-group__setting ml-2" data-enablement="fileHistoryExplorer.enabled">
@ -424,30 +429,32 @@
</div> </div>
</div> </div>
<div class="section__preview"> <div class="section__preview">
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-file-history-explorer.png"
<img class="image__preview hidden" src="{{root}}/images/settings/file-history-explorer.png"
data-visibility="fileHistoryExplorer.enabled" /> data-visibility="fileHistoryExplorer.enabled" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/gitlens-file-history-explorer-avatars.png"
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/file-history-explorer-avatars.png"
data-visibility="fileHistoryExplorer.enabled &amp; fileHistoryExplorer.avatars" /> data-visibility="fileHistoryExplorer.enabled &amp; fileHistoryExplorer.avatars" />
</div> </div>
</div> </div>
</section> </section>
<section id="gitlens-line-history-explorer">
<section id="line-history-explorer">
<div class="section__header"> <div class="section__header">
<h2 class="section__title">GitLens Line History Explorer
<a class="link__learn-more" title="Learn more" href="https://github.com/eamodio/vscode-gitlens/#gitlens-line-history-explorer">
<h2 class="section__title">Line History Explorer
<a class="link__learn-more" title="Learn more" href="https://github.com/eamodio/vscode-gitlens/#line-history-explorer">
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">Adds a GitLens Line History explorer to visualize the
revision history of the selected lines of current file</p>
<p class="section__title-hint">
Adds a Line History explorer to visualize, navigate, and explore the revision history
of the selected lines of current file
</p>
</div> </div>
<div class="section__settings"> <div class="section__settings">
<div class="settings-group"> <div class="settings-group">
<div class="settings-group__setting nowrap"> <div class="settings-group__setting nowrap">
<input class="setting" id="lineHistoryExplorer.enabled" name="lineHistoryExplorer.enabled" <input class="setting" id="lineHistoryExplorer.enabled" name="lineHistoryExplorer.enabled"
type="checkbox" /> type="checkbox" />
<label for="lineHistoryExplorer.enabled">Show the GitLens Line History explorer</label>
<label for="lineHistoryExplorer.enabled">Show the Line History explorer</label>
</div> </div>
<div class="settings-group__setting ml-2" data-enablement="lineHistoryExplorer.enabled"> <div class="settings-group__setting ml-2" data-enablement="lineHistoryExplorer.enabled">
@ -468,24 +475,25 @@
</div> </div>
</div> </div>
<div class="section__preview"> <div class="section__preview">
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-line-history-explorer.png"
<img class="image__preview hidden" src="{{root}}/images/settings/line-history-explorer.png"
data-visibility="lineHistoryExplorer.enabled" /> data-visibility="lineHistoryExplorer.enabled" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/gitlens-line-history-explorer-avatars.png"
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/line-history-explorer-avatars.png"
data-visibility="lineHistoryExplorer.enabled &amp; lineHistoryExplorer.avatars" /> data-visibility="lineHistoryExplorer.enabled &amp; lineHistoryExplorer.avatars" />
</div> </div>
</div> </div>
</section> </section>
<section id="gitlens-results-explorer">
<section id="results-explorer">
<div class="section__header"> <div class="section__header">
<h2 class="section__title">GitLens Results Explorer
<a class="link__learn-more" title="Learn more" href="https://github.com/eamodio/vscode-gitlens/#gitlens-results-explorer">
<h2 class="section__title">Results Explorer
<a class="link__learn-more" title="Learn more" href="https://github.com/eamodio/vscode-gitlens/#results-explorer">
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">Adds an on-demand GitLens Results explorer to navigate and
explore commits, histories, and searches,
or visualize comparisons between branches, tags, commits, and more</p>
<p class="section__title-hint">
Adds an on-demand Results explorer to navigate and explore commits, histories, and
searches, or visualize comparisons between branches, tags, commits, and more
</p>
</div> </div>
<div class="section__settings"> <div class="section__settings">
<div class="settings-group"> <div class="settings-group">
@ -512,8 +520,9 @@
type="checkbox" /> type="checkbox" />
<label for="resultsExplorer.files.compact">Use compact layout</label> <label for="resultsExplorer.files.compact">Use compact layout</label>
</div> </div>
<p class="setting__hint hidden" data-visibility="settings.mode =advanced">Compacts
(flattens) unnecessary nesting when using a tree layouts</p>
<p class="setting__hint hidden" data-visibility="settings.mode =advanced">
Compacts (flattens) unnecessary nesting when using a tree layouts
</p>
<div class="settings-group__setting nowrap hidden" data-visibility="settings.mode =advanced"> <div class="settings-group__setting nowrap hidden" data-visibility="settings.mode =advanced">
<input class="setting" id="resultsExplorer.avatars" name="explorers.avatars" type="checkbox" /> <input class="setting" id="resultsExplorer.avatars" name="explorers.avatars" type="checkbox" />
@ -522,26 +531,22 @@
</div> </div>
<div class="section__preview"> <div class="section__preview">
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-results.png"
<img class="image__preview hidden" src="{{root}}/images/settings/results-explorer.png"
data-visibility="resultsExplorer.files.layout !tree" /> data-visibility="resultsExplorer.files.layout !tree" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-results-tree-compact.png"
<img class="image__preview hidden" src="{{root}}/images/settings/results-explorer-tree-compact.png"
data-visibility="resultsExplorer.files.layout =tree &amp; resultsExplorer.files.compact" /> data-visibility="resultsExplorer.files.layout =tree &amp; resultsExplorer.files.compact" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-results-tree.png"
<img class="image__preview hidden" src="{{root}}/images/settings/results-explorer-tree.png"
data-visibility="resultsExplorer.files.layout =tree &amp; resultsExplorer.files.compact =false" /> data-visibility="resultsExplorer.files.layout =tree &amp; resultsExplorer.files.compact =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/gitlens-results-avatars.png"
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/results-explorer-avatars.png"
data-visibility="explorers.avatars" /> data-visibility="explorers.avatars" />
</div> </div>
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
For more advanced customizations open For more advanced customizations open
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">User
Settings</a> and search for
<b>
<i>gitlens.resultsExplorer</i>
</b> or
<b>
<i>gitlens.explorers</i>
</b>
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">
User Settings
</a>
and search for <b><i>gitlens.resultsExplorer</i></b> or <b><i>gitlens.explorers</i></b>
</p> </p>
</div> </div>
</section> </section>
@ -553,8 +558,9 @@
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">Adds authorship code lens to the top of files and on code
blocks</p>
<p class="section__title-hint">
Adds authorship code lens to the top of files and on code blocks
</p>
</div> </div>
<div class="section__settings"> <div class="section__settings">
<div class="settings-group"> <div class="settings-group">
@ -566,8 +572,9 @@
<div class="settings-group__setting nowrap ml-2" data-enablement="codeLens.enabled"> <div class="settings-group__setting nowrap ml-2" data-enablement="codeLens.enabled">
<input class="setting" id="codeLens.recentChange.enabled" name="codeLens.recentChange.enabled" <input class="setting" id="codeLens.recentChange.enabled" name="codeLens.recentChange.enabled"
type="checkbox" disabled /> type="checkbox" disabled />
<label for="codeLens.recentChange.enabled">Add the author and date of the most
recent change for the file or code block</label>
<label for="codeLens.recentChange.enabled">
Add the author and date of the most recent change for the file or code block
</label>
</div> </div>
<div class="settings-group__setting ml-4 hidden" data-enablement="codeLens.enabled &amp; codeLens.recentChange.enabled" <div class="settings-group__setting ml-4 hidden" data-enablement="codeLens.enabled &amp; codeLens.recentChange.enabled"
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
@ -577,8 +584,9 @@
<option value="gitlens.toggleFileBlame">toggles the file blame annotations</option> <option value="gitlens.toggleFileBlame">toggles the file blame annotations</option>
<option value="gitlens.diffWithPrevious">compares the commit with the previous</option> <option value="gitlens.diffWithPrevious">compares the commit with the previous</option>
<option value="gitlens.showQuickCommitDetails">shows details of the commit</option> <option value="gitlens.showQuickCommitDetails">shows details of the commit</option>
<option value="gitlens.showQuickCommitFileDetails">shows file details of the
commit</option>
<option value="gitlens.showQuickCommitFileDetails">
shows file details of the commit
</option>
<option value="gitlens.showQuickFileHistory">shows the current file history</option> <option value="gitlens.showQuickFileHistory">shows the current file history</option>
<option value="gitlens.showQuickRepoHistory">shows the current branch history</option> <option value="gitlens.showQuickRepoHistory">shows the current branch history</option>
</select> </select>
@ -587,8 +595,10 @@
<div class="settings-group__setting nowrap ml-2" data-enablement="codeLens.enabled"> <div class="settings-group__setting nowrap ml-2" data-enablement="codeLens.enabled">
<input class="setting" id="codeLens.authors.enabled" name="codeLens.authors.enabled" <input class="setting" id="codeLens.authors.enabled" name="codeLens.authors.enabled"
type="checkbox" disabled /> type="checkbox" disabled />
<label for="codeLens.authors.enabled">Add the number of authors and the most
prominent author of the file or code block</label>
<label for="codeLens.authors.enabled">
Add the number of authors and the most prominent author of the file or code
block
</label>
</div> </div>
<div class="settings-group__setting ml-4 hidden" data-enablement="codeLens.enabled &amp; codeLens.authors.enabled" <div class="settings-group__setting ml-4 hidden" data-enablement="codeLens.enabled &amp; codeLens.authors.enabled"
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
@ -598,8 +608,9 @@
<option value="gitlens.toggleFileBlame">toggles the file blame annotations</option> <option value="gitlens.toggleFileBlame">toggles the file blame annotations</option>
<option value="gitlens.diffWithPrevious">compares the commit with the previous</option> <option value="gitlens.diffWithPrevious">compares the commit with the previous</option>
<option value="gitlens.showQuickCommitDetails">shows details of the commit</option> <option value="gitlens.showQuickCommitDetails">shows details of the commit</option>
<option value="gitlens.showQuickCommitFileDetails">show file details of the
commit</option>
<option value="gitlens.showQuickCommitFileDetails">
show file details of the commit
</option>
<option value="gitlens.showQuickFileHistory">shows the current file history</option> <option value="gitlens.showQuickFileHistory">shows the current file history</option>
<option value="gitlens.showQuickRepoHistory">shows the current branch history</option> <option value="gitlens.showQuickRepoHistory">shows the current branch history</option>
</select> </select>
@ -619,15 +630,18 @@
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
<input class="setting" id="codeLens.scopes-1" name="codeLens.scopes" type="checkbox" <input class="setting" id="codeLens.scopes-1" name="codeLens.scopes" type="checkbox"
value="containers" data-type="array" disabled /> value="containers" data-type="array" disabled />
<label for="codeLens.scopes-1">Containers scope &mdash; added at the start of
modules, classes, interfaces, etc</label>
<label for="codeLens.scopes-1">
Containers scope &mdash; added at the start of modules, classes, interfaces,
etc
</label>
</div> </div>
<div class="settings-group__setting nowrap ml-4 hidden" data-enablement="codeLens.enabled" <div class="settings-group__setting nowrap ml-4 hidden" data-enablement="codeLens.enabled"
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
<input class="setting" id="codeLens.scopes-2" name="codeLens.scopes" type="checkbox" <input class="setting" id="codeLens.scopes-2" name="codeLens.scopes" type="checkbox"
value="blocks" data-type="array" disabled /> value="blocks" data-type="array" disabled />
<label for="codeLens.scopes-2">Block scope &mdash; added at the start of functions,
methods, etc</label>
<label for="codeLens.scopes-2">
Block scope &mdash; added at the start of functions, methods, etc
</label>
</div> </div>
</div> </div>
<div class="section__preview"> <div class="section__preview">
@ -656,16 +670,16 @@
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
For more advanced customizations open For more advanced customizations open
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">User
Settings</a> and search for
<b>
<i>gitlens.codeLens</i>
</b>
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">
User Settings
</a>
and search for <b><i>gitlens.codeLens</i></b>
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Use the Use the
<a class="command" title="Run command" href="command:gitlens.toggleCodeLens">GitLens:
Toggle Git Code Lens</a> command to override this setting for the current
window
<a class="command" title="Run command" href="command:gitlens.toggleCodeLens">
GitLens: Toggle Git Code Lens
</a>
command to override this setting for the current window
</span> </span>
</p> </p>
</div> </div>
@ -678,16 +692,18 @@
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">Adds an unobtrusive blame annotation at the end of the
current line</p>
<p class="section__title-hint">
Adds an unobtrusive blame annotation at the end of the current line
</p>
</div> </div>
<div class="section__settings"> <div class="section__settings">
<div class="settings-group"> <div class="settings-group">
<div class="settings-group__setting nowrap"> <div class="settings-group__setting nowrap">
<input class="setting" id="currentLine.enabled" name="currentLine.enabled" type="checkbox" <input class="setting" id="currentLine.enabled" name="currentLine.enabled" type="checkbox"
data-add-settings-off="hovers.currentLine.over=line" /> data-add-settings-off="hovers.currentLine.over=line" />
<label for="currentLine.enabled">Show a blame annotation at the end of the current
line</label>
<label for="currentLine.enabled">
Show a blame annotation at the end of the current line
</label>
</div> </div>
<div class="settings-group__setting nowrap ml-2 hidden" data-enablement="currentLine.enabled" <div class="settings-group__setting nowrap ml-2 hidden" data-enablement="currentLine.enabled"
@ -772,8 +788,9 @@
<span class="token-popup__hint"> <span class="token-popup__hint">
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
<a href="https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting" <a href="https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting"
title="Open advanced formatting docs">Learn more</a> about advanced
formatting options</span>
title="Open advanced formatting docs">Learn more</a>
about advanced formatting options
</span>
</div> </div>
</div> </div>
@ -781,11 +798,14 @@
data-visibility="settings.mode =advanced"> data-visibility="settings.mode =advanced">
<input class="setting" id="currentLine.scrollable" name="currentLine.scrollable" <input class="setting" id="currentLine.scrollable" name="currentLine.scrollable"
type="checkbox" disabled /> type="checkbox" disabled />
<label for="currentLine.scrollable">Include the annotation when scrolling the
editor horizontally</label>
<label for="currentLine.scrollable">
Include the annotation when scrolling the editor horizontally
</label>
</div> </div>
<p class="setting__hint ml-3 hidden" data-visibility="settings.mode =advanced">When
enabled the annotation can be scrolled into view when it is outside the viewport</p>
<p class="setting__hint ml-3 hidden" data-visibility="settings.mode =advanced">
When enabled the annotation can be scrolled into view when it is outside the
viewport
</p>
</div> </div>
<div class="section__preview"> <div class="section__preview">
@ -799,17 +819,16 @@
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
For more advanced customizations open For more advanced customizations open
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">User
Settings</a> and search for
<b>
<i>gitlens.currentLine</i>
</b>
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">
User Settings
</a>
and search for <b><i>gitlens.currentLine</i></b>
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Use the Use the
<a class="command" title="Run command" href="command:gitlens.toggleLineBlame">GitLens:
Toggle Line Blame Annotations</a> command to override this setting for the
current
window
<a class="command" title="Run command" href="command:gitlens.toggleLineBlame">
GitLens: Toggle Line Blame Annotations
</a>
command to override this setting for the current window
</span> </span>
</p> </p>
</div> </div>
@ -915,19 +934,23 @@
<span class="token-popup__hint"> <span class="token-popup__hint">
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
<a href="https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting" <a href="https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting"
title="Open advanced formatting docs">Learn more</a> about advanced
formatting options</span>
title="Open advanced formatting docs">Learn more</a>
about advanced formatting options
</span>
</div> </div>
</div> </div>
<div class="settings-group__setting nowrap"> <div class="settings-group__setting nowrap">
<input class="setting" id="blame.heatmap.enabled" name="blame.heatmap.enabled" type="checkbox" /> <input class="setting" id="blame.heatmap.enabled" name="blame.heatmap.enabled" type="checkbox" />
<label for="blame.heatmap.enabled">Add a heatmap (age) indicator to show how
recently lines were changed</label>
<label for="blame.heatmap.enabled">
Add a heatmap (age) indicator to show how recently lines were changed
</label>
</div> </div>
<p class="setting__hint">Indicator color reflects the age of the most recent change
(hot or cold), while indicator
brightness ranges from bright (newer) to dim (older) based on the relative age</p>
<p class="setting__hint">
Indicator color reflects the age of the most recent change (hot or cold), while
indicator brightness ranges from bright (newer) to dim (older) based on the
relative age
</p>
<div class="settings-group__setting ml-2 hidden" data-enablement="blame.heatmap.enabled" <div class="settings-group__setting ml-2 hidden" data-enablement="blame.heatmap.enabled"
data-visibility="settings.mode =advanced" disabled> data-visibility="settings.mode =advanced" disabled>
@ -948,14 +971,16 @@
<input class="setting" id="blame.compact" name="blame.compact" type="checkbox" /> <input class="setting" id="blame.compact" name="blame.compact" type="checkbox" />
<label for="blame.compact">Use compact view</label> <label for="blame.compact">Use compact view</label>
</div> </div>
<p class="setting__hint hidden" data-visibility="settings.mode =advanced">Compacts
(deduplicates) matching adjacent blame annotations</p>
<p class="setting__hint hidden" data-visibility="settings.mode =advanced">
Compacts (deduplicates) matching adjacent blame annotations
</p>
<div class="settings-group__setting nowrap"> <div class="settings-group__setting nowrap">
<input class="setting" id="blame.highlight.enabled" name="blame.highlight.enabled" <input class="setting" id="blame.highlight.enabled" name="blame.highlight.enabled"
type="checkbox" /> type="checkbox" />
<label for="blame.highlight.enabled">Highlight other lines changed by the current
line's commit</label>
<label for="blame.highlight.enabled">
Highlight other lines changed by the current line's commit
</label>
</div> </div>
<div class="settings-group__setting nowrap ml-2 hidden" data-enablement="blame.highlight.enabled" <div class="settings-group__setting nowrap ml-2 hidden" data-enablement="blame.highlight.enabled"
@ -1002,23 +1027,23 @@
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
For more advanced customizations open For more advanced customizations open
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">User
Settings</a> and search for
<b>
<i>gitlens.blame</i>
</b>
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">
User Settings
</a>
and search for <b><i>gitlens.blame</i></b>
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Use the Use the
<span class="command hidden" data-visibility="blame.toggleMode =file">GitLens:
Toggle File Blame Annotations</span>
<span class="command hidden" data-visibility="blame.toggleMode =file">
GitLens: Toggle File Blame Annotations
</span>
<a class="command hidden" title="Run command" href="command:gitlens.toggleFileBlame" <a class="command hidden" title="Run command" href="command:gitlens.toggleFileBlame"
data-visibility="blame.toggleMode =window">GitLens: Toggle File Blame
Annotations</a>
data-visibility="blame.toggleMode =window">
GitLens: Toggle File Blame Annotations
</a>
command to turn the annotations on or off command to turn the annotations on or off
</span> </span>
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Press
<span class="shortcut-key">Esc</span> to turn off the annotations
Press <span class="shortcut-key">Esc</span> to turn off the annotations
</span> </span>
</p> </p>
</div> </div>
@ -1031,12 +1056,11 @@
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">Adds on-demand heatmap (age) indicator to the edge of the
gutter to show how recently lines were
changed
<br /> Indicator color reflects the age of the most recent change (hot or cold), while
indicator
brightness ranges from bright (newer) to dim (older) based on the relative age
<p class="section__title-hint">
Adds on-demand heatmap (age) indicator to the edge of the gutter to show how recently
lines were changed <br /> Indicator color reflects the age of the most recent change
(hot or cold), while indicator brightness ranges from bright (newer) to dim (older)
based on the relative age
</p> </p>
</div> </div>
@ -1059,15 +1083,16 @@
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
Use the Use the
<span class="command hidden" data-visibility="heatmap.toggleMode =file">GitLens: Toggle
File Heatmap Annotations</span>
<span class="command hidden" data-visibility="heatmap.toggleMode =file">
GitLens: Toggle File Heatmap Annotations
</span>
<a class="command hidden" title="Run command" href="command:gitlens.toggleFileHeatmap" <a class="command hidden" title="Run command" href="command:gitlens.toggleFileHeatmap"
data-visibility="heatmap.toggleMode =window">GitLens: Toggle File Heatmap
Annotations</a>
data-visibility="heatmap.toggleMode =window">
GitLens: Toggle File Heatmap Annotations
</a>
command to turn the annotations on or off command to turn the annotations on or off
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Press
<span class="shortcut-key">Esc</span> to turn off the annotations
Press <span class="shortcut-key">Esc</span> to turn off the annotations
</span> </span>
</p> </p>
</div> </div>
@ -1251,8 +1276,9 @@
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">GitLens supports user-defined modes for quickly toggling
between sets of settings</p>
<p class="section__title-hint">
GitLens supports user-defined modes for quickly toggling between sets of settings
</p>
</div> </div>
<div class="section__settings"> <div class="section__settings">
@ -1284,25 +1310,30 @@
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
For more advanced customizations or to add your own modes, open For more advanced customizations or to add your own modes, open
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">User
Settings</a> and search for
<b>
<i>gitlens.modes</i>
</b>
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">
User Settings
</a>
and search for <b><i>gitlens.modes</i></b>
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Use the Use the
<a class="command" title="Run command" href="command:gitlens.switchMode">GitLens:
Switch Mode</a> command to quickly switch the active mode
<a class="command" title="Run command" href="command:gitlens.switchMode">
GitLens: Switch Mode
</a>
command to quickly switch the active mode
</span> </span>
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Use the Use the
<a class="command" title="Run command" href="command:gitlens.toggleReviewMode">GitLens:
Toggle Review Mode</a> command to toggle Review mode
<a class="command" title="Run command" href="command:gitlens.toggleReviewMode">
GitLens: Toggle Review Mode
</a>
command to toggle Review mode
</span> </span>
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Use the Use the
<a class="command" title="Run command" href="command:gitlens.toggleZenMode">GitLens:
Toggle Zen Mode</a> command to toggle Zen mode
<a class="command" title="Run command" href="command:gitlens.toggleZenMode">
GitLens: Toggle Zen Mode
</a>
command to toggle Zen mode
</span> </span>
</p> </p>
</div> </div>
@ -1315,8 +1346,10 @@
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">Adds on-demand recent changes annotations to highlight lines
changed by the most recent commit</p>
<p class="section__title-hint">
Adds on-demand recent changes annotations to highlight lines changed by the most recent
commit
</p>
</div> </div>
<div class="section__settings"> <div class="section__settings">
@ -1361,15 +1394,16 @@
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
Use the Use the
<span class="command hidden" data-visibility="recentChanges.toggleMode =file">GitLens:
Toggle Recent File Changes Annotations</span>
<span class="command hidden" data-visibility="recentChanges.toggleMode =file">
GitLens: Toggle Recent File Changes Annotations
</span>
<a class="command hidden" title="Run command" href="command:gitlens.toggleFileRecentChanges" <a class="command hidden" title="Run command" href="command:gitlens.toggleFileRecentChanges"
data-visibility="recentChanges.toggleMode =window">GitLens: Toggle Recent File
Changes Annotations</a>
data-visibility="recentChanges.toggleMode =window">
GitLens: Toggle Recent File Changes Annotations
</a>
command to turn the annotations on or off command to turn the annotations on or off
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Press
<span class="shortcut-key">Esc</span> to turn off the annotations
Press <span class="shortcut-key">Esc</span> to turn off the annotations
</span> </span>
</p> </p>
</div> </div>
@ -1382,16 +1416,18 @@
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
</a> </a>
</h2> </h2>
<p class="section__title-hint">Adds a Git blame annotation about the current line to the
status bar</p>
<p class="section__title-hint">
Adds a Git blame annotation about the current line to the status bar
</p>
</div> </div>
<div class="section__settings"> <div class="section__settings">
<div class="settings-group"> <div class="settings-group">
<div class="settings-group__setting nowrap"> <div class="settings-group__setting nowrap">
<input class="setting" id="statusBar.enabled" name="statusBar.enabled" type="checkbox" /> <input class="setting" id="statusBar.enabled" name="statusBar.enabled" type="checkbox" />
<label for="statusBar.enabled">Show a Git blame annotation for the current line in
the status bar</label>
<label for="statusBar.enabled">
Show a Git blame annotation for the current line in the status bar
</label>
</div> </div>
<div class="settings-group__setting nowrap ml-2 hidden" data-enablement="statusBar.enabled" <div class="settings-group__setting nowrap ml-2 hidden" data-enablement="statusBar.enabled"
@ -1475,8 +1511,9 @@
<span class="token-popup__hint"> <span class="token-popup__hint">
<i class="icon icon__info"></i> <i class="icon icon__info"></i>
<a href="https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting" <a href="https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting"
title="Open advanced formatting docs">Learn more</a> about advanced
formatting options</span>
title="Open advanced formatting docs">Learn more</a>
about advanced formatting options
</span>
</div> </div>
</div> </div>
@ -1494,14 +1531,17 @@
<label for="statusBar.command">When clicked</label> <label for="statusBar.command">When clicked</label>
<select class="setting" id="statusBar.command" name="statusBar.command" disabled> <select class="setting" id="statusBar.command" name="statusBar.command" disabled>
<option value="gitlens.toggleFileBlame">toggles the file blame annotations</option> <option value="gitlens.toggleFileBlame">toggles the file blame annotations</option>
<option value="gitlens.diffWithPrevious">compares the line revision with the
previous</option>
<option value="gitlens.diffWithWorking">compares the line revision with the
working file</option>
<option value="gitlens.diffWithPrevious">
compares the line revision with the previous
</option>
<option value="gitlens.diffWithWorking">
compares the line revision with the working file
</option>
<option value="gitlens.toggleCodeLens">toggles the Git code lens</option> <option value="gitlens.toggleCodeLens">toggles the Git code lens</option>
<option value="gitlens.showQuickCommitDetails">shows details of the commit</option> <option value="gitlens.showQuickCommitDetails">shows details of the commit</option>
<option value="gitlens.showQuickCommitFileDetails">shows file details of the
commit</option>
<option value="gitlens.showQuickCommitFileDetails">
shows file details of the commit
</option>
<option value="gitlens.showQuickFileHistory">shows the current file history</option> <option value="gitlens.showQuickFileHistory">shows the current file history</option>
<option value="gitlens.showQuickRepoHistory">shows the current branch history</option> <option value="gitlens.showQuickRepoHistory">shows the current branch history</option>
</select> </select>
@ -1513,9 +1553,10 @@
type="checkbox" disabled /> type="checkbox" disabled />
<label for="statusBar.reduceFlicker">Reduce flashing when updating the annotation</label> <label for="statusBar.reduceFlicker">Reduce flashing when updating the annotation</label>
</div> </div>
<p class="setting__hint ml-3 hidden" data-visibility="settings.mode =advanced">Avoids
clearing the previous blame information when changing lines to reduce status bar
"flashing"</p>
<p class="setting__hint ml-3 hidden" data-visibility="settings.mode =advanced">
Avoids clearing the previous blame information when changing lines to reduce status
bar "flashing"
</p>
</div> </div>
<div class="section__preview"> <div class="section__preview">
@ -1529,17 +1570,16 @@
<p class="settings-group__hint"> <p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i> <i class="icon icon--lg icon__info"></i>
For more advanced customizations open For more advanced customizations open
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">User
Settings</a> and search for
<b>
<i>gitlens.statusBar</i>
</b>
<a class="command" title="Open User Settings" href="command:workbench.action.openGlobalSettings">
User Settings
</a>
and search for <b><i>gitlens.statusBar</i></b>
<span class="settings-group__hint--more"> <span class="settings-group__hint--more">
Use the Use the
<a class="command" title="Run command" href="command:gitlens.toggleLineBlame">GitLens:
Toggle Line Blame Annotations</a> command to override this setting for the
current
window
<a class="command" title="Run command" href="command:gitlens.toggleLineBlame">
GitLens: Toggle Line Blame Annotations
</a>
command to override this setting for the current window
</span> </span>
</p> </p>
</div> </div>
@ -1554,30 +1594,40 @@
<a class="jump-to" href="#general" title="Jump to General settings">General</a> <a class="jump-to" href="#general" title="Jump to General settings">General</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#gitlens-explorer" title="Jump to GitLens Explorer settings">GitLens
Explorer</a>
<a class="jump-to" href="#repositories-explorer" title="Jump to Repositories Explorer settings">
Repositories Explorer
</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#gitlens-file-history-explorer" title="Jump to GitLens File History Explorer settings">GitLens
File History Explorer</a>
<a class="jump-to" href="#file-history-explorer" title="Jump to File History Explorer settings">
File History Explorer
</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#gitlens-results-explorer" title="Jump to GitLens Results Explorer settings">GitLens
Results Explorer</a>
<a class="jump-to" href="#file-history-explorer" title="Jump to Line History Explorer settings">
Line History Explorer
</a>
</li>
<li>
<a class="jump-to" href="#results-explorer" title="Jump to Results Explorer settings">
Results Explorer
</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#code-lens" title="Jump to Code Lens settings">Code Lens</a> <a class="jump-to" href="#code-lens" title="Jump to Code Lens settings">Code Lens</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#current-line" title="Jump to Current Line Blame settings">Current
Line Blame</a>
<a class="jump-to" href="#current-line" title="Jump to Current Line Blame settings">
Current Line Blame
</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#blame" title="Jump to Gutter Blame settings">Gutter Blame</a> <a class="jump-to" href="#blame" title="Jump to Gutter Blame settings">Gutter Blame</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#heatmap" title="Jump to Gutter Heatmap settings">Gutter
Heatmap</a>
<a class="jump-to" href="#heatmap" title="Jump to Gutter Heatmap settings">
Gutter Heatmap
</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#hovers" title="Jump to Hovers settings">Hovers</a> <a class="jump-to" href="#hovers" title="Jump to Hovers settings">Hovers</a>
@ -1586,12 +1636,14 @@
<a class="jump-to" href="#modes" title="Jump to Modes settings">Modes</a> <a class="jump-to" href="#modes" title="Jump to Modes settings">Modes</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#recent-changes" title="Jump to Recent Changes settings">Recent
Changes</a>
<a class="jump-to" href="#recent-changes" title="Jump to Recent Changes settings">
Recent Changes
</a>
</li> </li>
<li> <li>
<a class="jump-to" href="#status-bar" title="Jump to Status Bar Blame settings">Status
Bar Blame</a>
<a class="jump-to" href="#status-bar" title="Jump to Status Bar Blame settings">
Status Bar Blame
</a>
</li> </li>
</ul> </ul>
</div> </div>
@ -1607,12 +1659,14 @@
</div> </div>
<ul> <ul>
<li> <li>
<a title="Write a review" href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens#review-details">Write
a Review</a>
<a title="Write a review" href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens#review-details">
Write a Review
</a>
</li> </li>
<li> <li>
<a title="Star or fork me on GitHub" href="https://github.com/eamodio/vscode-gitlens">Star
or Fork me on GitHub</a>
<a title="Star or fork me on GitHub" href="https://github.com/eamodio/vscode-gitlens">
Star or Fork me on GitHub
</a>
</li> </li>
<li> <li>
<a title="Follow me on Twitter" href="https://twitter.com/eamodio">Follow me on Twitter</a> <a title="Follow me on Twitter" href="https://twitter.com/eamodio">Follow me on Twitter</a>

+ 158
- 1134
src/ui/welcome/index.html
File diff suppressed because it is too large
View File


+ 2
- 2
src/views/explorer.ts View File

@ -15,10 +15,10 @@ import { Container } from '../container';
import { Logger } from '../logger'; import { Logger } from '../logger';
import { RefreshNodeCommandArgs } from './explorerCommands'; import { RefreshNodeCommandArgs } from './explorerCommands';
import { FileHistoryExplorer } from './fileHistoryExplorer'; import { FileHistoryExplorer } from './fileHistoryExplorer';
import { GitExplorer } from './gitExplorer';
import { LineHistoryExplorer } from './lineHistoryExplorer'; import { LineHistoryExplorer } from './lineHistoryExplorer';
import { ExplorerNode } from './nodes'; import { ExplorerNode } from './nodes';
import { isPageable } from './nodes/explorerNode'; import { isPageable } from './nodes/explorerNode';
import { RepositoriesExplorer } from './repositoriesExplorer';
import { ResultsExplorer } from './resultsExplorer'; import { ResultsExplorer } from './resultsExplorer';
export enum RefreshReason { export enum RefreshReason {
@ -27,7 +27,7 @@ export enum RefreshReason {
VisibilityChanged = 'VisibilityChanged' VisibilityChanged = 'VisibilityChanged'
} }
export type Explorer = GitExplorer | FileHistoryExplorer | LineHistoryExplorer | ResultsExplorer;
export type Explorer = RepositoriesExplorer | FileHistoryExplorer | LineHistoryExplorer | ResultsExplorer;
export abstract class ExplorerBase<TRoot extends ExplorerNode> implements TreeDataProvider<ExplorerNode>, Disposable { export abstract class ExplorerBase<TRoot extends ExplorerNode> implements TreeDataProvider<ExplorerNode>, Disposable {
protected _onDidChangeTreeData = new EventEmitter<ExplorerNode>(); protected _onDidChangeTreeData = new EventEmitter<ExplorerNode>();

+ 2
- 2
src/views/fileHistoryExplorer.ts View File

@ -1,6 +1,6 @@
'use strict'; 'use strict';
import { commands, ConfigurationChangeEvent } from 'vscode'; import { commands, ConfigurationChangeEvent } from 'vscode';
import { configuration, IExplorersConfig, IFileHistoryExplorerConfig } from '../configuration';
import { configuration, ExplorersConfig, FileHistoryExplorerConfig } from '../configuration';
import { CommandContext, setCommandContext } from '../constants'; import { CommandContext, setCommandContext } from '../constants';
import { Container } from '../container'; import { Container } from '../container';
import { ExplorerBase, RefreshReason } from './explorer'; import { ExplorerBase, RefreshReason } from './explorer';
@ -67,7 +67,7 @@ export class FileHistoryExplorer extends ExplorerBase {
} }
} }
get config(): IExplorersConfig & IFileHistoryExplorerConfig {
get config(): ExplorersConfig & FileHistoryExplorerConfig {
return { ...Container.config.explorers, ...Container.config.fileHistoryExplorer }; return { ...Container.config.explorers, ...Container.config.fileHistoryExplorer };
} }

+ 2
- 2
src/views/lineHistoryExplorer.ts View File

@ -1,6 +1,6 @@
'use strict'; 'use strict';
import { commands, ConfigurationChangeEvent } from 'vscode'; import { commands, ConfigurationChangeEvent } from 'vscode';
import { configuration, IExplorersConfig, ILineHistoryExplorerConfig } from '../configuration';
import { configuration, ExplorersConfig, LineHistoryExplorerConfig } from '../configuration';
import { CommandContext, setCommandContext } from '../constants'; import { CommandContext, setCommandContext } from '../constants';
import { Container } from '../container'; import { Container } from '../container';
import { ExplorerBase, RefreshReason } from './explorer'; import { ExplorerBase, RefreshReason } from './explorer';
@ -66,7 +66,7 @@ export class LineHistoryExplorer extends ExplorerBase {
} }
} }
get config(): IExplorersConfig & ILineHistoryExplorerConfig {
get config(): ExplorersConfig & LineHistoryExplorerConfig {
return { ...Container.config.explorers, ...Container.config.lineHistoryExplorer }; return { ...Container.config.explorers, ...Container.config.lineHistoryExplorer };
} }

+ 2
- 2
src/views/nodes/branchNode.ts View File

@ -5,7 +5,7 @@ import { GlyphChars } from '../../constants';
import { Container } from '../../container'; import { Container } from '../../container';
import { GitBranch, GitUri } from '../../git/gitService'; import { GitBranch, GitUri } from '../../git/gitService';
import { Arrays, Iterables } from '../../system'; import { Arrays, Iterables } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { CommitNode } from './commitNode'; import { CommitNode } from './commitNode';
import { MessageNode, ShowMoreNode } from './common'; import { MessageNode, ShowMoreNode } from './common';
import { ExplorerNode, ExplorerRefNode, PageableExplorerNode, ResourceType } from './explorerNode'; import { ExplorerNode, ExplorerRefNode, PageableExplorerNode, ResourceType } from './explorerNode';
@ -20,7 +20,7 @@ export class BranchNode extends ExplorerRefNode implements PageableExplorerNode
public readonly branch: GitBranch, public readonly branch: GitBranch,
uri: GitUri, uri: GitUri,
parent: ExplorerNode, parent: ExplorerNode,
public readonly explorer: GitExplorer,
public readonly explorer: RepositoriesExplorer,
private readonly _markCurrent: boolean = true private readonly _markCurrent: boolean = true
) { ) {
super(uri, parent); super(uri, parent);

+ 2
- 2
src/views/nodes/branchesNode.ts View File

@ -4,7 +4,7 @@ import { ExplorerBranchesLayout } from '../../configuration';
import { Container } from '../../container'; import { Container } from '../../container';
import { GitUri, Repository } from '../../git/gitService'; import { GitUri, Repository } from '../../git/gitService';
import { Arrays, Iterables } from '../../system'; import { Arrays, Iterables } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { BranchNode } from './branchNode'; import { BranchNode } from './branchNode';
import { BranchOrTagFolderNode } from './branchOrTagFolderNode'; import { BranchOrTagFolderNode } from './branchOrTagFolderNode';
import { ExplorerNode, ResourceType } from './explorerNode'; import { ExplorerNode, ResourceType } from './explorerNode';
@ -16,7 +16,7 @@ export class BranchesNode extends ExplorerNode {
uri: GitUri, uri: GitUri,
public readonly repo: Repository, public readonly repo: Repository,
parent: ExplorerNode, parent: ExplorerNode,
public readonly explorer: GitExplorer
public readonly explorer: RepositoriesExplorer
) { ) {
super(uri, parent); super(uri, parent);
} }

+ 2
- 2
src/views/nodes/folderNode.ts View File

@ -1,6 +1,6 @@
'use strict'; 'use strict';
import { ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode'; import { ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode';
import { ExplorerFilesLayout, IExplorersFilesConfig } from '../../configuration';
import { ExplorerFilesLayout, ExplorersFilesConfig } from '../../configuration';
import { GitUri } from '../../git/gitService'; import { GitUri } from '../../git/gitService';
import { Arrays, Objects } from '../../system'; import { Arrays, Objects } from '../../system';
import { Explorer } from '../explorer'; import { Explorer } from '../explorer';
@ -82,7 +82,7 @@ export class FolderNode extends ExplorerNode {
} }
static getFileNesting<T extends IFileExplorerNode>( static getFileNesting<T extends IFileExplorerNode>(
config: IExplorersFilesConfig,
config: ExplorersFilesConfig,
children: T[], children: T[],
isRoot: boolean isRoot: boolean
): ExplorerFilesLayout { ): ExplorerFilesLayout {

+ 2
- 2
src/views/nodes/remoteNode.ts View File

@ -5,7 +5,7 @@ import { GlyphChars } from '../../constants';
import { Container } from '../../container'; import { Container } from '../../container';
import { GitRemote, GitRemoteType, GitUri, Repository } from '../../git/gitService'; import { GitRemote, GitRemoteType, GitUri, Repository } from '../../git/gitService';
import { Arrays, Iterables } from '../../system'; import { Arrays, Iterables } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { BranchNode } from './branchNode'; import { BranchNode } from './branchNode';
import { BranchOrTagFolderNode } from './branchOrTagFolderNode'; import { BranchOrTagFolderNode } from './branchOrTagFolderNode';
import { ExplorerNode, ResourceType } from './explorerNode'; import { ExplorerNode, ResourceType } from './explorerNode';
@ -16,7 +16,7 @@ export class RemoteNode extends ExplorerNode {
uri: GitUri, uri: GitUri,
public readonly repo: Repository, public readonly repo: Repository,
parent: ExplorerNode, parent: ExplorerNode,
public readonly explorer: GitExplorer
public readonly explorer: RepositoriesExplorer
) { ) {
super(uri, parent); super(uri, parent);
} }

+ 2
- 2
src/views/nodes/remotesNode.ts View File

@ -3,7 +3,7 @@ import { TreeItem, TreeItemCollapsibleState } from 'vscode';
import { Container } from '../../container'; import { Container } from '../../container';
import { GitUri, Repository } from '../../git/gitService'; import { GitUri, Repository } from '../../git/gitService';
import { Iterables } from '../../system'; import { Iterables } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { MessageNode } from './common'; import { MessageNode } from './common';
import { ExplorerNode, ResourceType } from './explorerNode'; import { ExplorerNode, ResourceType } from './explorerNode';
import { RemoteNode } from './remoteNode'; import { RemoteNode } from './remoteNode';
@ -13,7 +13,7 @@ export class RemotesNode extends ExplorerNode {
uri: GitUri, uri: GitUri,
public readonly repo: Repository, public readonly repo: Repository,
parent: ExplorerNode, parent: ExplorerNode,
public readonly explorer: GitExplorer
public readonly explorer: RepositoriesExplorer
) { ) {
super(uri, parent); super(uri, parent);
} }

+ 3
- 3
src/views/nodes/repositoriesNode.ts View File

@ -4,15 +4,15 @@ import { Container } from '../../container';
import { GitUri } from '../../git/gitService'; import { GitUri } from '../../git/gitService';
import { Logger } from '../../logger'; import { Logger } from '../../logger';
import { Functions } from '../../system'; import { Functions } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { MessageNode } from './common'; import { MessageNode } from './common';
import { ExplorerNode, ResourceType, SubscribeableExplorerNode, unknownGitUri } from './explorerNode'; import { ExplorerNode, ResourceType, SubscribeableExplorerNode, unknownGitUri } from './explorerNode';
import { RepositoryNode } from './repositoryNode'; import { RepositoryNode } from './repositoryNode';
export class RepositoriesNode extends SubscribeableExplorerNode<GitExplorer> {
export class RepositoriesNode extends SubscribeableExplorerNode<RepositoriesExplorer> {
private _children: (RepositoryNode | MessageNode)[] | undefined; private _children: (RepositoryNode | MessageNode)[] | undefined;
constructor(explorer: GitExplorer) {
constructor(explorer: RepositoriesExplorer) {
super(unknownGitUri, undefined, explorer); super(unknownGitUri, undefined, explorer);
} }

+ 3
- 3
src/views/nodes/repositoryNode.ts View File

@ -15,7 +15,7 @@ import {
} from '../../git/gitService'; } from '../../git/gitService';
import { Logger } from '../../logger'; import { Logger } from '../../logger';
import { Dates, Functions, Strings } from '../../system'; import { Dates, Functions, Strings } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { BranchesNode } from './branchesNode'; import { BranchesNode } from './branchesNode';
import { BranchNode } from './branchNode'; import { BranchNode } from './branchNode';
import { MessageNode } from './common'; import { MessageNode } from './common';
@ -26,7 +26,7 @@ import { StatusFilesNode } from './statusFilesNode';
import { StatusUpstreamNode } from './statusUpstreamNode'; import { StatusUpstreamNode } from './statusUpstreamNode';
import { TagsNode } from './tagsNode'; import { TagsNode } from './tagsNode';
export class RepositoryNode extends SubscribeableExplorerNode<GitExplorer> {
export class RepositoryNode extends SubscribeableExplorerNode<RepositoriesExplorer> {
private _children: ExplorerNode[] | undefined; private _children: ExplorerNode[] | undefined;
private _lastFetched: number = 0; private _lastFetched: number = 0;
private _status: Promise<GitStatus | undefined>; private _status: Promise<GitStatus | undefined>;
@ -35,7 +35,7 @@ export class RepositoryNode extends SubscribeableExplorerNode {
uri: GitUri, uri: GitUri,
public readonly repo: Repository, public readonly repo: Repository,
parent: ExplorerNode, parent: ExplorerNode,
explorer: GitExplorer
explorer: RepositoriesExplorer
) { ) {
super(uri, parent, explorer); super(uri, parent, explorer);

+ 2
- 2
src/views/nodes/statusFilesNode.ts View File

@ -14,7 +14,7 @@ import {
IGitStatusFileWithCommit IGitStatusFileWithCommit
} from '../../git/gitService'; } from '../../git/gitService';
import { Arrays, Iterables, Objects, Strings } from '../../system'; import { Arrays, Iterables, Objects, Strings } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { ExplorerNode, ResourceType } from './explorerNode'; import { ExplorerNode, ResourceType } from './explorerNode';
import { FolderNode, IFileExplorerNode } from './folderNode'; import { FolderNode, IFileExplorerNode } from './folderNode';
import { StatusFileCommitsNode } from './statusFileCommitsNode'; import { StatusFileCommitsNode } from './statusFileCommitsNode';
@ -26,7 +26,7 @@ export class StatusFilesNode extends ExplorerNode {
public readonly status: GitStatus, public readonly status: GitStatus,
public readonly range: string | undefined, public readonly range: string | undefined,
parent: ExplorerNode, parent: ExplorerNode,
public readonly explorer: GitExplorer
public readonly explorer: RepositoriesExplorer
) { ) {
super(GitUri.fromRepoPath(status.repoPath), parent); super(GitUri.fromRepoPath(status.repoPath), parent);
this.repoPath = status.repoPath; this.repoPath = status.repoPath;

+ 2
- 2
src/views/nodes/statusUpstreamNode.ts View File

@ -3,7 +3,7 @@ import { TreeItem, TreeItemCollapsibleState } from 'vscode';
import { Container } from '../../container'; import { Container } from '../../container';
import { GitStatus, GitUri } from '../../git/gitService'; import { GitStatus, GitUri } from '../../git/gitService';
import { Iterables, Strings } from '../../system'; import { Iterables, Strings } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { CommitNode } from './commitNode'; import { CommitNode } from './commitNode';
import { ShowMoreNode } from './common'; import { ShowMoreNode } from './common';
import { ExplorerNode, PageableExplorerNode, ResourceType } from './explorerNode'; import { ExplorerNode, PageableExplorerNode, ResourceType } from './explorerNode';
@ -16,7 +16,7 @@ export class StatusUpstreamNode extends ExplorerNode implements PageableExplorer
public readonly status: GitStatus, public readonly status: GitStatus,
public readonly direction: 'ahead' | 'behind', public readonly direction: 'ahead' | 'behind',
parent: ExplorerNode, parent: ExplorerNode,
public readonly explorer: GitExplorer
public readonly explorer: RepositoriesExplorer
) { ) {
super(GitUri.fromRepoPath(status.repoPath), parent); super(GitUri.fromRepoPath(status.repoPath), parent);
} }

+ 2
- 2
src/views/nodes/tagNode.ts View File

@ -4,7 +4,7 @@ import { ExplorerBranchesLayout } from '../../configuration';
import { Container } from '../../container'; import { Container } from '../../container';
import { GitTag, GitUri } from '../../git/gitService'; import { GitTag, GitUri } from '../../git/gitService';
import { Iterables } from '../../system'; import { Iterables } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { CommitNode } from './commitNode'; import { CommitNode } from './commitNode';
import { MessageNode, ShowMoreNode } from './common'; import { MessageNode, ShowMoreNode } from './common';
import { ExplorerNode, ExplorerRefNode, PageableExplorerNode, ResourceType } from './explorerNode'; import { ExplorerNode, ExplorerRefNode, PageableExplorerNode, ResourceType } from './explorerNode';
@ -17,7 +17,7 @@ export class TagNode extends ExplorerRefNode implements PageableExplorerNode {
public readonly tag: GitTag, public readonly tag: GitTag,
uri: GitUri, uri: GitUri,
parent: ExplorerNode, parent: ExplorerNode,
public readonly explorer: GitExplorer
public readonly explorer: RepositoriesExplorer
) { ) {
super(uri, parent); super(uri, parent);
} }

+ 2
- 2
src/views/nodes/tagsNode.ts View File

@ -4,7 +4,7 @@ import { ExplorerBranchesLayout } from '../../configuration';
import { Container } from '../../container'; import { Container } from '../../container';
import { GitUri, Repository } from '../../git/gitService'; import { GitUri, Repository } from '../../git/gitService';
import { Arrays } from '../../system'; import { Arrays } from '../../system';
import { GitExplorer } from '../gitExplorer';
import { RepositoriesExplorer } from '../repositoriesExplorer';
import { BranchOrTagFolderNode } from './branchOrTagFolderNode'; import { BranchOrTagFolderNode } from './branchOrTagFolderNode';
import { MessageNode } from './common'; import { MessageNode } from './common';
import { ExplorerNode, ResourceType } from './explorerNode'; import { ExplorerNode, ResourceType } from './explorerNode';
@ -15,7 +15,7 @@ export class TagsNode extends ExplorerNode {
uri: GitUri, uri: GitUri,
public readonly repo: Repository, public readonly repo: Repository,
parent: ExplorerNode, parent: ExplorerNode,
public readonly explorer: GitExplorer
public readonly explorer: RepositoriesExplorer
) { ) {
super(uri, parent); super(uri, parent);
} }

src/views/gitExplorer.ts → src/views/repositoriesExplorer.ts View File

@ -1,6 +1,6 @@
'use strict'; 'use strict';
import { commands, ConfigurationChangeEvent, Event, EventEmitter } from 'vscode'; import { commands, ConfigurationChangeEvent, Event, EventEmitter } from 'vscode';
import { configuration, ExplorerFilesLayout, IExplorersConfig, IGitExplorerConfig } from '../configuration';
import { configuration, ExplorerFilesLayout, ExplorersConfig, RepositoriesExplorerConfig } from '../configuration';
import { CommandContext, setCommandContext, WorkspaceState } from '../constants'; import { CommandContext, setCommandContext, WorkspaceState } from '../constants';
import { Container } from '../container'; import { Container } from '../container';
import { ExplorerBase, RefreshReason } from './explorer'; import { ExplorerBase, RefreshReason } from './explorer';
@ -8,9 +8,9 @@ import { RefreshNodeCommandArgs } from './explorerCommands';
import { RepositoriesNode } from './nodes'; import { RepositoriesNode } from './nodes';
import { ExplorerNode } from './nodes/explorerNode'; import { ExplorerNode } from './nodes/explorerNode';
export class GitExplorer extends ExplorerBase<RepositoriesNode> {
export class RepositoriesExplorer extends ExplorerBase<RepositoriesNode> {
constructor() { constructor() {
super('gitlens.gitExplorer');
super('gitlens.repositoriesExplorer');
} }
private _onDidChangeAutoRefresh = new EventEmitter<void>(); private _onDidChangeAutoRefresh = new EventEmitter<void>();
@ -51,12 +51,12 @@ export class GitExplorer extends ExplorerBase {
commands.registerCommand( commands.registerCommand(
this.getQualifiedCommand('setAutoRefreshToOn'), this.getQualifiedCommand('setAutoRefreshToOn'),
() => this.setAutoRefresh(Container.config.gitExplorer.autoRefresh, true),
() => this.setAutoRefresh(Container.config.repositoriesExplorer.autoRefresh, true),
this this
); );
commands.registerCommand( commands.registerCommand(
this.getQualifiedCommand('setAutoRefreshToOff'), this.getQualifiedCommand('setAutoRefreshToOff'),
() => this.setAutoRefresh(Container.config.gitExplorer.autoRefresh, false),
() => this.setAutoRefresh(Container.config.repositoriesExplorer.autoRefresh, false),
this this
); );
} }
@ -66,7 +66,7 @@ export class GitExplorer extends ExplorerBase {
if ( if (
!initializing && !initializing &&
!configuration.changed(e, configuration.name('gitExplorer').value) &&
!configuration.changed(e, configuration.name('repositoriesExplorer').value) &&
!configuration.changed(e, configuration.name('explorers').value) && !configuration.changed(e, configuration.name('explorers').value) &&
!configuration.changed(e, configuration.name('defaultGravatarsStyle').value) !configuration.changed(e, configuration.name('defaultGravatarsStyle').value)
) { ) {
@ -75,17 +75,17 @@ export class GitExplorer extends ExplorerBase {
if ( if (
initializing || initializing ||
configuration.changed(e, configuration.name('gitExplorer')('enabled').value) ||
configuration.changed(e, configuration.name('gitExplorer')('location').value)
configuration.changed(e, configuration.name('repositoriesExplorer')('enabled').value) ||
configuration.changed(e, configuration.name('repositoriesExplorer')('location').value)
) { ) {
setCommandContext(CommandContext.GitExplorer, this.config.enabled ? this.config.location : false);
setCommandContext(CommandContext.RepositoriesExplorer, this.config.enabled ? this.config.location : false);
} }
if (configuration.changed(e, configuration.name('gitExplorer')('autoRefresh').value)) {
void this.setAutoRefresh(Container.config.gitExplorer.autoRefresh);
if (configuration.changed(e, configuration.name('repositoriesExplorer')('autoRefresh').value)) {
void this.setAutoRefresh(Container.config.repositoriesExplorer.autoRefresh);
} }
if (initializing || configuration.changed(e, configuration.name('gitExplorer')('location').value)) {
if (initializing || configuration.changed(e, configuration.name('repositoriesExplorer')('location').value)) {
this.initialize(this.config.location); this.initialize(this.config.location);
} }
@ -97,12 +97,12 @@ export class GitExplorer extends ExplorerBase {
get autoRefresh() { get autoRefresh() {
return ( return (
this.config.autoRefresh && this.config.autoRefresh &&
Container.context.workspaceState.get<boolean>(WorkspaceState.GitExplorerAutoRefresh, true)
Container.context.workspaceState.get<boolean>(WorkspaceState.RepositoriesExplorerAutoRefresh, true)
); );
} }
get config(): IExplorersConfig & IGitExplorerConfig {
return { ...Container.config.explorers, ...Container.config.gitExplorer };
get config(): ExplorersConfig & RepositoriesExplorerConfig {
return { ...Container.config.explorers, ...Container.config.repositoriesExplorer };
} }
private fetchAll() { private fetchAll() {
@ -115,21 +115,24 @@ export class GitExplorer extends ExplorerBase {
if (enabled) { if (enabled) {
if (workspaceEnabled === undefined) { if (workspaceEnabled === undefined) {
workspaceEnabled = Container.context.workspaceState.get<boolean>( workspaceEnabled = Container.context.workspaceState.get<boolean>(
WorkspaceState.GitExplorerAutoRefresh,
WorkspaceState.RepositoriesExplorerAutoRefresh,
true true
); );
} }
else { else {
await Container.context.workspaceState.update(WorkspaceState.GitExplorerAutoRefresh, workspaceEnabled);
await Container.context.workspaceState.update(
WorkspaceState.RepositoriesExplorerAutoRefresh,
workspaceEnabled
);
} }
} }
setCommandContext(CommandContext.GitExplorerAutoRefresh, enabled && workspaceEnabled);
setCommandContext(CommandContext.RepositoriesExplorerAutoRefresh, enabled && workspaceEnabled);
this._onDidChangeAutoRefresh.fire(); this._onDidChangeAutoRefresh.fire();
} }
private setFilesLayout(layout: ExplorerFilesLayout) { private setFilesLayout(layout: ExplorerFilesLayout) {
return configuration.updateEffective(configuration.name('gitExplorer')('files')('layout').value, layout);
return configuration.updateEffective(configuration.name('repositoriesExplorer')('files')('layout').value, layout);
} }
} }

+ 2
- 2
src/views/resultsExplorer.ts View File

@ -1,6 +1,6 @@
'use strict'; 'use strict';
import { commands, ConfigurationChangeEvent } from 'vscode'; import { commands, ConfigurationChangeEvent } from 'vscode';
import { configuration, ExplorerFilesLayout, IExplorersConfig, IResultsExplorerConfig } from '../configuration';
import { configuration, ExplorerFilesLayout, ExplorersConfig, ResultsExplorerConfig } from '../configuration';
import { CommandContext, GlyphChars, setCommandContext, WorkspaceState } from '../constants'; import { CommandContext, GlyphChars, setCommandContext, WorkspaceState } from '../constants';
import { Container } from '../container'; import { Container } from '../container';
import { GitLog, GitLogCommit } from '../git/gitService'; import { GitLog, GitLogCommit } from '../git/gitService';
@ -92,7 +92,7 @@ export class ResultsExplorer extends ExplorerBase {
} }
} }
get config(): IExplorersConfig & IResultsExplorerConfig {
get config(): ExplorersConfig & ResultsExplorerConfig {
return { ...Container.config.explorers, ...Container.config.resultsExplorer }; return { ...Container.config.explorers, ...Container.config.resultsExplorer };
} }

+ 2
- 2
src/webviews/settingsEditor.ts View File

@ -1,6 +1,6 @@
'use strict'; 'use strict';
import { commands, workspace } from 'vscode'; import { commands, workspace } from 'vscode';
import { configuration, IConfig } from '../configuration';
import { Config, configuration } from '../configuration';
import { SettingsBootstrap } from '../ui/ipc'; import { SettingsBootstrap } from '../ui/ipc';
import { WebviewEditor } from './webviewEditor'; import { WebviewEditor } from './webviewEditor';
@ -24,7 +24,7 @@ export class SettingsEditor extends WebviewEditor {
getBootstrap() { getBootstrap() {
return { return {
// Make sure to get the raw config, not from the container which has the modes mixed in // Make sure to get the raw config, not from the container which has the modes mixed in
config: configuration.get<IConfig>(),
config: configuration.get<Config>(),
scope: 'user', scope: 'user',
scopes: this.getAvailableScopes() scopes: this.getAvailableScopes()
} as SettingsBootstrap; } as SettingsBootstrap;

+ 2
- 2
src/webviews/webviewEditor.ts View File

@ -11,7 +11,7 @@ import {
window, window,
workspace workspace
} from 'vscode'; } from 'vscode';
import { configuration, IConfig } from '../configuration';
import { Config, configuration } from '../configuration';
import { Container } from '../container'; import { Container } from '../container';
import { Logger } from '../logger'; import { Logger } from '../logger';
import { Message, SettingsChangedMessage } from '../ui/ipc'; import { Message, SettingsChangedMessage } from '../ui/ipc';
@ -175,7 +175,7 @@ export abstract class WebviewEditor implements Disposable {
return this.postMessage( return this.postMessage(
{ {
type: 'settingsChanged', type: 'settingsChanged',
config: configuration.get<IConfig>()
config: configuration.get<Config>()
} as SettingsChangedMessage, } as SettingsChangedMessage,
'config' 'config'
); );

Loading…
Cancel
Save