Browse Source

Renames GitLens view to GitLens Explorer

Adds settings for GitLens Results view
Adds layout settings for explorers
Adds not equals support
Updates README (wip)
main
Eric Amodio 6 years ago
parent
commit
81205e4c90
21 changed files with 351 additions and 253 deletions
  1. +159
    -142
      README.md
  2. BIN
      images/screenshot-git-custom-view-history.png
  3. BIN
      images/screenshot-git-custom-view-repository.png
  4. BIN
      images/screenshot-gitlens-explorer-history.png
  5. BIN
      images/screenshot-gitlens-explorer-repository.png
  6. BIN
      images/screenshot-gitlens-results.png
  7. +8
    -8
      package.json
  8. BIN
      src/ui/images/settings/gitlens-explorer-history-avatars.png
  9. BIN
      src/ui/images/settings/gitlens-explorer-history.png
  10. BIN
      src/ui/images/settings/gitlens-explorer-repository-avatars.png
  11. BIN
      src/ui/images/settings/gitlens-explorer-repository-tree-compact.png
  12. BIN
      src/ui/images/settings/gitlens-explorer-repository-tree.png
  13. BIN
      src/ui/images/settings/gitlens-explorer-repository.png
  14. BIN
      src/ui/images/settings/gitlens-results-avatars.png
  15. BIN
      src/ui/images/settings/gitlens-results-tree-compact.png
  16. BIN
      src/ui/images/settings/gitlens-results-tree.png
  17. BIN
      src/ui/images/settings/gitlens-results.png
  18. +14
    -10
      src/ui/scss/main.scss
  19. +14
    -5
      src/ui/settings/app.ts
  20. +136
    -69
      src/ui/settings/index.html
  21. +20
    -19
      src/ui/welcome/index.html

+ 159
- 142
README.md View File

@ -3,35 +3,142 @@
[![](https://vsmarketplacebadge.apphb.com/rating-short/eamodio.gitlens.svg)](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)
[![](https://img.shields.io/badge/vscode--dev--community-gitlens-blue.svg?logo=slack)](https://join.slack.com/t/vscode-dev-community/shared_invite/enQtMjIxOTgxNDE3NzM0LWU5M2ZiZDU1YjBlMzdlZjA2YjBjYzRhYTM5NTgzMTAxMjdiNWU0ZmQzYWI3MWU5N2Q1YjBiYmQ4MzY0NDE1MzY)
<p align="center">
<br /><br />
<img src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/gitlens-icon.png" alt="logo" width="192">
</p>
<div style="color:#23262a;display:flex; flex-wrap:wrap; align-items:center; margin:2em 0 1em 0;">
<div style="display:flex; flex-wrap:nowrap;">
<img style="max-width:64px; max-height:64px; margin:9px 1em 0 0;" src="https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/gitlens-icon.png" />
<div>
<h1 style="padding:0; margin:0; border:none; font-size:36px; white-space:nowrap;">GitLens</h1>
<p style="color:rgba(35, 38, 42, 0.75); display:block; font-size:26px; margin-top: -0.2em; white-space:nowrap;">Git supercharged</p>
</div>
</div>
<p style="flex:50% 2 1; font-size:1.2em; font-weight:200; margin:0 0 0 3em; min-width:345px;">
GitLens
<b style="font-weight: 600">supercharges</b> the Git capabilities built into Visual Studio Code. It helps you to
<b style="font-weight: 600">visualize code authorship</b> at a glance via Git blame annotations and code lens,
<b style="font-weight: 600">seamlessly navigate and explore</b> Git repositories,
<b style="font-weight: 600">gain valuable insights</b> via powerful comparison commands, and so much more.
</p>
</div>
# GitLens
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** the history of a file or branch, **gain valuable insights** via powerful comparison commands, and so much more.
GitLens is a free, [open-source](https://github.com/eamodio/vscode-gitlens "Open GitLens on GitHub") extension for [Visual Studio Code](https://code.visualstudio.com) created by [Eric Amodio](http://amod.io "Learn more about Eric").
GitLens provides an unobtrusive blame annotation at the end of the current line, a status bar item showing the commit information (author and date, by default) of the current line, code lens showing the most recent commit and # of authors of the file and/or code block, and many commands for exploring commits and histories, comparing and navigating revisions, stash access, repository status, and more. GitLens is also [highly customizable](#extension-settings) to meet your specific needs — find code lens intrusive or the current line blame annotation distracting — no problem, it is easy to [turn them off or change how they behave](#extension-settings).
GitLens simply helps you understand code better. Quickly glimpse into who, why, and when a line or code block was changed. Jump back through history to gain further insights as to how and why the code evolved. Explore the history and evolution of a codebase.
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 or file histories
- an on-demand [*GitLens Results* view](#gitlens-results-view "Jump to the GitLens Results view") to explore commit searches, visualize comparisions between branches, tags, commits, and more
- Git authorship code lens showing the most recent commit and # of authors to the top of files and/or on code blocks
- an unobtrusive Git blame annotation to the end of the current line
- detailed Git blame information accessible via hovers
- a status bar Git blame annotation showing author and date, by default, about the current line
- many powerful commands for exploring commits and histories, comparing and navigating revisions, stash access, repository status, and more
GitLens is powerful, feature rich, and also [highly customizable](#gitlens-settings "Jump to the GitLens settings docs") to meet your specific needs &mdash; find code lens intrusive or the current line blame annotation distracting &mdash; no problem, it is quick and easy to turn them off or change how they behave via the built-in *GitLens Settings* editor, a WYSIWYG editor covering many of GitLens' powerful settings. While for more advanced customizations, refer to the [GitLens settings docs](#gitlens-settings "Jump to the GitLens settings docs") and edit your vscode [user settings](https://code.visualstudio.com/docs/getstarted/settings).
### Preview
>![GitLens preview](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/gitlens-preview.gif)
>###### Features blame annotations, code lens, status bar details, quick pick menus for navigation and exploration, compare with previous, and more
### Quick Access Settings
## Features
While GitLens is highly customizable and provides many [configuration settings](#extension-settings), here are the most important ones for controlling GitLens' behavior
### GitLens Explorer
A [customizable](#gitlens-explorer-settings "Jump to the GitLens Explorer settings") explorer to navigate and explore repositories or file histories. The GitLens explorer provides two views (modes) &mdash; a Repository view and a History view.
- Toolbar provides *Search Commits*, *Switch to Repository View* or *Switch to History View*, and *Refresh* commands
- Quickly switch between views using the *Switch to Repository View* or *Switch to History View* commands
#### Repository view
![GitLens Explorer Repository view](https://raw.githubusercontent.com/eamodio/vscode-gitlens/feature-settings/images/screenshot-gitlens-explorer-repository.png)
The repository view provides a full Git repository explorer, which has the following features,
- **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 indicator dots on the repository icon which denote the following:
- *None* - up-to-date with the upstream
- *Green* - ahead of the upstream
- *Red* - behind the upstream
- *Yellow* - both ahead of and behind the upstream
- Provides additional upstream status nodes, if the current branch is tracking a remote branch and,
- is behind the upstream &mdash; quickly see and explore the specific commits behind the upstream (i.e. commits that haven't been pulled)
- 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)
- **Changed Files** node &mdash; provides a at-a-glance view of all "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
- Provides a context menu with *Open Repository in Remote*, and *Refresh* commands
- **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
- Context menu provides *Open Branches in Remote*, and *Refresh* commands
- Branches expand to show its revision (commit) history
- Provides indicator dots on each branch icon which denote the following:
- *None* &mdash; no upstream or up-to-date with the upstream
- *Green* &mdash; ahead of the upstream
- *Red* &mdash; behind the upstream
- *Yellow* &mdash; both ahead of and behind the upstream
- Context menus for each branch provide
- *Open Branch in Remote* (if available), *Compare with Remote* (if available), *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected* (when available), *Compare Selected Ancestor with Working Tree* (when available), *Select for Compare*, *Open Directory Compare with Working Tree*, *Checkout Branch (via Terminal)*, *Merge Branch (via Terminal)*, *Rebase (Interactive) Branch (via Terminal)*, *Rebase (Interactive) Branch to Remote (via Terminal)*, *Squash Branch into Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Delete Branch (via Terminal)*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Revisions (commits) expand to show the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Context menus for each revision (commit) provide
- *Open Commit in Remote* (if available), *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit ID to Clipboard*, *Copy Commit Message to Clipboard*, *Show Commit Details*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected* (when available), *Select for Compare*, *Cherry Pick Commit (via Terminal)*, *Revert Commit (via Terminal)*, *Rebase to Commit (via Terminal)*, *Reset to Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Context menus for each changed file provide
- *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- **Remotes** &mdash; lists the remotes
- Indicates the direction of the remote (fetch, push, both), remote service (if applicable), and repository path
- Context menu provides a *Refresh* command
- Remotes expands show its list of branches
- Context menus for each remote provide
- *Open Branches in Remote*, *Open Repository in Remote*, *Remove Remote (via Terminal)*, and *Refresh* commands
- Branches expand to show its revision (commit) history
- See the *Branches expand* section in the **Branches** above for more details
- **Stashes** &mdash; lists the stashed changes
- Context menu provides *Stash Changes*, and *Refresh* commands
- Stashes expand to show the set of files stashed, complete with status indicators for adds, changes, renames, and deletes
- Context menus for each stash provide
- *Apply Stashed Changes* (confirmation required), *Delete Stashed Changes* (confirmation required), *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit Message to Clipboard*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected* (when available), *Select for Compare*, and *Refresh* commands
- Context menus for each stashed file provide
- *Apply Changes*, *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote* (if available), and *Show File History* commands
- **Tags** &mdash; lists the tags
- Context menu provides a *Refresh* command
- Tags expand to show its revision (commit) history
- Context menus for each tag provide
- *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, *Open Directory Compare with Working Tree*, *Delete Tag (via Terminal)*, and *Refresh* commands
- Revisions (commits) expand to show the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- See the *Revisions (commits) expand* section in the **Branches** above for more details
### History view
![GitLens Explorer History view](https://raw.githubusercontent.com/eamodio/vscode-gitlens/feature-settings/images/screenshot-gitlens-explorer-history.png)
The history view provides the revision history of the active file, which has the following features,
- Automatically updates to track the active editor
- Context menu provides *Open File*, *Open File in Remote* (if available), and *Refresh* commands
- Context menus for each revision (commit) provides
- *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote* (if available), *Open Revision in Remote* (if available), *Apply Changes*, and *Show Commit File Details* commands
### GitLens Results
![GitLens Results view](https://raw.githubusercontent.com/eamodio/vscode-gitlens/feature-settings/images/screenshot-gitlens-results.png)
An on-demand, [customizable](#gitlens-results-settings "Jump to the GitLens Results settings") view to explore commit searches, visualize comparisions between branches, tags, commits, and more
|Name | Description
|-----|------------
|`gitlens.blame.line.enabled`|Specifies whether or not to provide a blame annotation for the current line, by default<br />Use the *Toggle Line Blame Annotations* command (`gitlens.toggleLineBlame`) to toggle the annotations on and off for the current session
|`gitlens.codeLens.enabled`|Specifies whether or not to provide any Git code lens, by default<br />Use the *Toggle Git Code Lens* command (`gitlens.toggleCodeLens`) to toggle the Git code lens on and off for the current session
|`gitlens.gitExplorer.enabled`|Specifies whether or not to show the **GitLens** view
|`gitlens.statusBar.enabled`|Specifies whether or not to provide blame information on the status bar
|`gitlens.keymap`|Specifies the keymap to use for GitLens shortcut keys<br />`standard` - adds a standard set of shortcut keys<br />`chorded` - adds a chorded set of shortcut keys that all start with `Ctrl+Shift+G` (`⌥⌘G` on macOS)<br />`none` - no shortcut keys will be added
## Features
- Provides semi-persistent results for commit search, file history, and commit operations
- Accessible via the following: *Show Commit Search* command (`gitlens.showCommitSearch`), *Show File History* command (`gitlens.showQuickFileHistory`), and *Show Commit Details* command (`gitlens.showQuickCommitDetails`)
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with *Open Commit in Remote*, *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit ID to Clipboard*, *Copy Commit Message to Clipboard*, *Show Commit Details*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, *Cherry Pick Commit (via Terminal)*, *Revert Commit (via Terminal)*, *Rebase to Commit (via Terminal)*, *Reset to Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Provides a context menu on each changed file with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- Provides semi-persistent results for revision comparison operations
- Accessible via the following: *Compare with Index (HEAD)* command (`gitlens.explorers.compareWithHead`), *Compare with Remote* command (`gitlens.explorers.compareWithRemote`), *Compare with Working Tree* command (`gitlens.explorers.compareWithWorking`), *Compare with Selected* command (`gitlens.explorers.compareWithSelected`), and *Compare Selected Ancestor with Working Tree* command (`gitlens.explorers.compareSelectedAncestorWithWorking`)
- **Commits** node — provides a list of the commits between the compared revisions (branches or commits)
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with *Open Commit in Remote*, *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit ID to Clipboard*, *Copy Commit Message to Clipboard*, *Show Commit Details*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, *Cherry Pick Commit (via Terminal)*, *Revert Commit (via Terminal)*, *Rebase to Commit (via Terminal)*, *Reset to Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Provides a context menu on each changed file with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- **Changed Files** node — provides a list of all the files changed between the compared revisions (branches or commits)
- Expands to a file-based view of all changed files
- Provides a context menu on each changed file with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- Provides a context menu with *Open Directory Compare* and *Refresh* commands
- Provides toolbar commands to *Search Commits*, *Keep Results*, *Refresh*, *Show Files in Automatic View* or *Show Files in List View* or *Show Files in Tree View*, and *Close*
### Git Blame Annotations
- Adds an unobtrusive, highly [customizable](#line-blame-annotation-settings) and [themable](#themable-colors), **Git blame annotation** to the end of the current line ([optional](#line-blame-annotation-settings), on by default)
@ -138,76 +245,6 @@ While GitLens is highly customizable and provides many [configuration settings](
### Navigate and Explore
- Adds a [customizable](#gitlens-view-settings) **GitLens** view to the Explorer activity
- **Repository View** - provides a full repository explorer
![GitLens Repository view](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/screenshot-git-custom-view-repository.png)
- **Repository Status** node — provides the status of the repository
- Provides the name of the current branch, [optionally](#gitlens-view-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:
- *None* - up-to-date with the upstream
- *Green* - ahead of the upstream
- *Red* - behind the upstream
- *Yellow* - both ahead of and behind the upstream
- Provides additional upstream status nodes, if the current branch is tracking a remote branch and
- is behind the upstream — quickly see and explore the specific commits behind the upstream (i.e. commits that haven't been pulled)
- is ahead of the upstream — quickly see and explore the specific commits ahead of the upstream (i.e. commits that haven't been pushed)
- **Changed Files** node — provides a at-a-glance view of all "working" changes
- Expands to a file-based view of all changed files in the working tree ([optionally](#gitlens-view-settings)) and/or all files in all commits ahead of the upstream
- Provides a context menu with *Open Repository in Remote*, and *Refresh* commands
- **Branches** node — provides a list of the local branches
- Indicates which branch is the current branch and [optionally](#gitlens-view-settings) shows the remote tracking branch
- Expand each branch to easily see its revision (commit) history
- Provides indicator dots on each branch icon which denote the following:
- *None* - no upstream or up-to-date with the upstream
- *Green* - ahead of the upstream
- *Red* - behind the upstream
- *Yellow* - both ahead of and behind the upstream
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with *Open Commit in Remote*, *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit ID to Clipboard*, *Copy Commit Message to Clipboard*, *Show Commit Details*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, *Cherry Pick Commit (via Terminal)*, *Revert Commit (via Terminal)*, *Rebase to Commit (via Terminal)*, *Reset to Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Provides a context menu on each changed file with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- Provides a context menu on each branch with *Open Branch in Remote*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Remote*, *Compare with Selected*, *Compare Selected Ancestor with Working Tree*, *Select for Compare*, *Open Directory Compare with Working Tree*, *Checkout Branch (via Terminal)*, *Merge Branch (via Terminal)*, *Rebase (Interactive) Branch (via Terminal)*, *Rebase (Interactive) Branch to Remote (via Terminal)*, *Squash Branch into Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Delete Branch (via Terminal)*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Provides a context menu with *Open Branches in Remote*, and *Refresh* commands
- **Remotes** node — provides a list of remotes
- Indicates the direction of the remote (fetch, push, both), remote service (if applicable), and repository path
- Expand each remote to see its list of branches
- Expand each branch to easily see its revision (commit) history
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with *Open Commit in Remote*, *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit ID to Clipboard*, *Copy Commit Message to Clipboard*,*Show Commit Details*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, *Cherry Pick Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Provides a context menu on each changed file with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, *Show File History*, and *Show Commit File Details* commands
- Provides a context menu on each remote branch with *Open Branch in Remote*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Compare Selected Ancestor with Working Tree*, *Select for Compare*, *Open Directory Compare with Working Tree*, *Checkout Branch (via Terminal)*, *Merge Branch (via Terminal)*, *Rebase (Interactive) Branch (via Terminal)*, *Squash Branch into Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Delete Branch (via Terminal)*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Provides a context menu on each remote with *Open Branches in Remote*, *Open Repository in Remote*, *Remove Remote (via Terminal)*, and *Refresh* commands
- Provides a context menu with a *Refresh* command
- **Stashes** node — provides a list of stashed changes
- Expand each stash to quickly see the set of files stashed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each stash with *Apply Stashed Changes* (confirmation required), *Delete Stashed Changes* (confirmation required), *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit Message to Clipboard*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, and *Refresh* commands
- Provides a context menu on each stashed file with *Apply Changes*, *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, and *Show File History* commands
- Provides a context menu with *Stash Changes*, and *Refresh* commands
- **Tags** node — provides a list of tags
- Expand each tag to easily see its revision (commit) history
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with *Open Commit in Remote*, *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit ID to Clipboard*, *Copy Commit Message to Clipboard*, *Show Commit Details*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, *Cherry Pick Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Provides a context menu on each changed file with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- Provides a context menu on each tag with *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, *Open Directory Compare with Working Tree*, *Delete Tag (via Terminal)*, and *Refresh* commands
- Provides a context menu with a *Refresh* command
- **History View** - provides the revision history of the active file
![GitLens History view](https://raw.githubusercontent.com/eamodio/vscode-gitlens/master/images/screenshot-git-custom-view-history.png)
- Automatically updates to track the active editor
- Provides a context menu with *Open File*, *Open File in Remote*, and *Refresh* commands
- Provides a context menu on each revision (commit) with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- Quickly switch between views using the *Switch to Repository View* or *Switch to History View* commands
- Provides toolbar commands to *Search Commits*, *Switch to Repository View* or *Switch to History View*, and *Refresh*
- Adds a *Search Commits* command (`gitlens.showCommitSearch`) with a shortcut of `alt+/` to search for commits by message, author, file(s), commit id, or code changes
- Use `<message>` to search for commits with messages that match `<message>` -- See [Git docs](https://git-scm.com/docs/git-log#git-log---grepltpatterngt)
- Use `@<pattern>` to search for commits with authors that match `<pattern>` -- See [Git docs](https://git-scm.com/docs/git-log#git-log---authorltpatterngt)
@ -217,26 +254,6 @@ While GitLens is highly customizable and provides many [configuration settings](
- 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 -- See [Git docs](https://git-scm.com/docs/git-log#git-log--Sltstringgt)
- Provides a *Show in Results* option to show the search results in the **GitLens Results** view
- Adds an on-demand, [customizable](#gitlens-results-view-settings) **GitLens Results** view to the Explorer activity
- Provides semi-persistent results for commit search, file history, and commit operations
- Accessible via the following: *Show Commit Search* command (`gitlens.showCommitSearch`), *Show File History* command (`gitlens.showQuickFileHistory`), and *Show Commit Details* command (`gitlens.showQuickCommitDetails`)
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with *Open Commit in Remote*, *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit ID to Clipboard*, *Copy Commit Message to Clipboard*, *Show Commit Details*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, *Cherry Pick Commit (via Terminal)*, *Revert Commit (via Terminal)*, *Rebase to Commit (via Terminal)*, *Reset to Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Provides a context menu on each changed file with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- Provides semi-persistent results for revision comparison operations
- Accessible via the following: *Compare with Index (HEAD)* command (`gitlens.explorers.compareWithHead`), *Compare with Remote* command (`gitlens.explorers.compareWithRemote`), *Compare with Working Tree* command (`gitlens.explorers.compareWithWorking`), *Compare with Selected* command (`gitlens.explorers.compareWithSelected`), and *Compare Selected Ancestor with Working Tree* command (`gitlens.explorers.compareSelectedAncestorWithWorking`)
- **Commits** node — provides a list of the commits between the compared revisions (branches or commits)
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each revision (commit) with *Open Commit in Remote*, *Open All Changes*, *Open All Changes with Working Tree*, *Open Files*, *Open Revisions*, *Copy Commit ID to Clipboard*, *Copy Commit Message to Clipboard*, *Show Commit Details*, *Compare with Index (HEAD)*, *Compare with Working Tree*, *Compare with Selected*, *Select for Compare*, *Cherry Pick Commit (via Terminal)*, *Revert Commit (via Terminal)*, *Rebase to Commit (via Terminal)*, *Reset to Commit (via Terminal)*, *Create Branch (via Terminal)...*, *Create Tag (via Terminal)...*, and *Refresh* commands
- Provides a context menu on each changed file with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- **Changed Files** node — provides a list of all the files changed between the compared revisions (branches or commits)
- Expands to a file-based view of all changed files
- Provides a context menu on each changed file with *Open Changes*, *Open Changes with Working File*, *Open File*, *Open Revision*, *Open File in Remote*, *Open Revision in Remote*, *Apply Changes*, and *Show Commit File Details* commands
- Provides a context menu with *Open Directory Compare* and *Refresh* commands
- Provides toolbar commands to *Search Commits*, *Keep Results*, *Refresh*, *Show Files in Automatic View* or *Show Files in List View* or *Show Files in Tree View*, and *Close*
- Adds commands to open files, commits, branches, and the repository in the supported remote services, **BitBucket, GitHub, GitLab, and Visual Studio Team Services** or a [**user-defined** remote services](#custom-remotes-settings) — only available if a Git upstream service is configured in the repository
- Also supports [remote services with custom domains](#custom-remotes-settings), such as **BitBucket, Bitbucket Server (previously called Stash), GitHub, GitHub Enterprise, GitLab**
- *Open Branches in Remote* command (`gitlens.openBranchesInRemote`) — opens the branches in the supported remote service
@ -377,7 +394,7 @@ GitLens defines a set of themable colors which can be provided by vscode themes
|`gitlens.lineHighlightBackgroundColor`|Specifies the background color of the associated line highlights in blame annotations
|`gitlens.lineHighlightOverviewRulerColor`|Specifies the overview ruler color of the associated line highlights in blame annotations
## Extension Settings
## GitLens Settings
GitLens is highly customizable and provides many configuration settings to allow the personalization of almost all features
@ -392,6 +409,40 @@ GitLens is highly customizable and provides many configuration settings to allow
|`gitlens.keymap`|Specifies the keymap to use for GitLens shortcut keys<br />`standard` - adds a standard set of shortcut keys<br />`chorded` - adds a chorded set of shortcut keys that all start with `Ctrl+Shift+G` (`⌥⌘G` on macOS)<br />`none` - no shortcut keys will be added
|`gitlens.outputLevel`|Specifies how much (if any) output will be sent to the GitLens output channel
### GitLens Explorer Settings
|Name | Description
|-----|------------
|`gitlens.gitExplorer.enabled`|Specifies whether or not to show the **GitLens** view"
|`gitlens.gitExplorer.view`|Specifies the starting view (mode) of the **GitLens** view<br /> `auto` - shows the last selected view, defaults to `repository`<br />`history` - shows the commit history of the active file<br />`repository` - shows a repository explorer"
|`gitlens.gitExplorer.autoRefresh`|Specifies whether or not to automatically refresh the **GitLens** view when the repository or the file system changes
|`gitlens.gitExplorer.files.layout`|Specifies how the **GitLens** view will display files<br /> `auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.gitExplorer.files.threshold` setting 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.compact`|Specifies whether or not to compact (flatten) unnecessary file nesting in the **GitLens** view<br />Only applies when displaying files as a `tree` or `auto`
|`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** view<br />Only applies when displaying files as `auto`
|`gitlens.gitExplorer.commitFormat`|Specifies the format of committed changes in the **GitLens** view<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 /> ${authorAgo} - commit author, relative commit date<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting
|`gitlens.gitExplorer.commitFileFormat`|Specifies the format of a committed file in the **GitLens** view<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path
|`gitlens.gitExplorer.gravatars`|Specifies whether or not to show gravatar images instead of commit (or status) icons in the **GitLens** view
|`gitlens.gitExplorer.includeWorkingTree`|Specifies whether or not to include working tree files inside the `Repository Status` node of the **GitLens** view
|`gitlens.gitExplorer.showTrackingBranch`|Specifies whether or not to show the tracking branch when displaying local branches in the **GitLens** view"
|`gitlens.gitExplorer.stashFormat`|Specifies the format of stashed changes in the **GitLens** view<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 /> ${authorAgo} - commit author, relative commit date<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting
|`gitlens.gitExplorer.stashFileFormat`|Specifies the format of a stashed file in the **GitLens** view<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path
|`gitlens.gitExplorer.statusFileFormat`|Specifies the format of the status of a working or committed file in the **GitLens** view<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
### GitLens Results Settings
|Name | Description
|-----|------------
|`gitlens.resultsExplorer.files.layout`|Specifies how the **GitLens Results** view will display files<br /> `auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.resultsExplorer.files.threshold` setting 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.compact`|Specifies whether or not to compact (flatten) unnecessary file nesting in the **GitLens Results** view<br />Only applies when displaying files as a `tree` or `auto`
|`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** view<br />Only applies when displaying files as `auto`
|`gitlens.resultsExplorer.commitFormat`|Specifies the format of committed changes in the **GitLens Results** view<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 /> ${authorAgo} - commit author, relative commit date<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting
|`gitlens.resultsExplorer.commitFileFormat`|Specifies the format of a committed file in the **GitLens Results** view<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path
|`gitlens.resultsExplorer.gravatars`|Specifies whether or not to show gravatar images instead of commit (or status) icons in the **GitLens Results** view
|`gitlens.resultsExplorer.showTrackingBranch`|Specifies whether or not to show the tracking branch when displaying local branches in the **GitLens Results** view"
|`gitlens.resultsExplorer.stashFormat`|Specifies the format of stashed changes in the **GitLens Results** view<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 /> ${authorAgo} - commit author, relative commit date<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting
|`gitlens.resultsExplorer.stashFileFormat`|Specifies the format of a stashed file in the **GitLens Results** view<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path
|`gitlens.resultsExplorer.statusFileFormat`|Specifies the format of the status of a working or committed file in the **GitLens Results** view<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
### Blame Settings
|Name | Description
@ -454,40 +505,6 @@ GitLens is highly customizable and provides many configuration settings to allow
|`gitlens.codeLens.scopesByLanguage`|Specifies where Git code lens will be shown in the document for the specified languages
|`gitlens.codeLens.symbolScopes`|Specifies a set of document symbols where Git code lens will or will not be shown in the document<br />Prefix with `!` to not show Git code lens for the symbol<br />Must be a member of `SymbolKind`
### GitLens View Settings
|Name | Description
|-----|------------
|`gitlens.gitExplorer.enabled`|Specifies whether or not to show the **GitLens** view"
|`gitlens.gitExplorer.view`|Specifies the starting view (mode) of the **GitLens** view<br /> `auto` - shows the last selected view, defaults to `repository`<br />`history` - shows the commit history of the active file<br />`repository` - shows a repository explorer"
|`gitlens.gitExplorer.autoRefresh`|Specifies whether or not to automatically refresh the **GitLens** view when the repository or the file system changes
|`gitlens.gitExplorer.files.layout`|Specifies how the **GitLens** view will display files<br /> `auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.gitExplorer.files.threshold` setting 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.compact`|Specifies whether or not to compact (flatten) unnecessary file nesting in the **GitLens** view<br />Only applies when displaying files as a `tree` or `auto`
|`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** view<br />Only applies when displaying files as `auto`
|`gitlens.gitExplorer.commitFormat`|Specifies the format of committed changes in the **GitLens** view<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 /> ${authorAgo} - commit author, relative commit date<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting
|`gitlens.gitExplorer.commitFileFormat`|Specifies the format of a committed file in the **GitLens** view<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path
|`gitlens.gitExplorer.gravatars`|Specifies whether or not to show gravatar images instead of commit (or status) icons in the **GitLens** view
|`gitlens.gitExplorer.includeWorkingTree`|Specifies whether or not to include working tree files inside the `Repository Status` node of the **GitLens** view
|`gitlens.gitExplorer.showTrackingBranch`|Specifies whether or not to show the tracking branch when displaying local branches in the **GitLens** view"
|`gitlens.gitExplorer.stashFormat`|Specifies the format of stashed changes in the **GitLens** view<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 /> ${authorAgo} - commit author, relative commit date<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting
|`gitlens.gitExplorer.stashFileFormat`|Specifies the format of a stashed file in the **GitLens** view<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path
|`gitlens.gitExplorer.statusFileFormat`|Specifies the format of the status of a working or committed file in the **GitLens** view<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
### GitLens Results View Settings
|Name | Description
|-----|------------
|`gitlens.resultsExplorer.files.layout`|Specifies how the **GitLens Results** view will display files<br /> `auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.resultsExplorer.files.threshold` setting 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.compact`|Specifies whether or not to compact (flatten) unnecessary file nesting in the **GitLens Results** view<br />Only applies when displaying files as a `tree` or `auto`
|`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** view<br />Only applies when displaying files as `auto`
|`gitlens.resultsExplorer.commitFormat`|Specifies the format of committed changes in the **GitLens Results** view<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 /> ${authorAgo} - commit author, relative commit date<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting
|`gitlens.resultsExplorer.commitFileFormat`|Specifies the format of a committed file in the **GitLens Results** view<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path
|`gitlens.resultsExplorer.gravatars`|Specifies whether or not to show gravatar images instead of commit (or status) icons in the **GitLens Results** view
|`gitlens.resultsExplorer.showTrackingBranch`|Specifies whether or not to show the tracking branch when displaying local branches in the **GitLens Results** view"
|`gitlens.resultsExplorer.stashFormat`|Specifies the format of stashed changes in the **GitLens Results** view<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 /> ${authorAgo} - commit author, relative commit date<br />See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting
|`gitlens.resultsExplorer.stashFileFormat`|Specifies the format of a stashed file in the **GitLens Results** view<br />Available tokens<br /> ${directory} - directory name<br /> ${file} - file name<br /> ${filePath} - formatted file name and path<br /> ${path} - full file path
|`gitlens.resultsExplorer.statusFileFormat`|Specifies the format of the status of a working or committed file in the **GitLens Results** view<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
### Custom Remotes Settings
|Name | Description

BIN
images/screenshot-git-custom-view-history.png View File

Before After
Width: 600  |  Height: 177  |  Size: 9.9 KiB

BIN
images/screenshot-git-custom-view-repository.png View File

Before After
Width: 600  |  Height: 360  |  Size: 12 KiB

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

Before After
Width: 600  |  Height: 360  |  Size: 52 KiB

BIN
images/screenshot-gitlens-explorer-repository.png View File

Before After
Width: 600  |  Height: 360  |  Size: 26 KiB

BIN
images/screenshot-gitlens-results.png View File

Before After
Width: 600  |  Height: 360  |  Size: 38 KiB

+ 8
- 8
package.json View File

@ -400,19 +400,19 @@
"gitlens.gitExplorer.autoRefresh": {
"type": "boolean",
"default": true,
"description": "Specifies whether or not to automatically refresh the `GitLens` view when the repository or the file system changes",
"description": "Specifies whether or not to automatically refresh the `GitLens` explorer when the repository or the file system changes",
"scope": "window"
},
"gitlens.gitExplorer.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether or not to show the `GitLens` view",
"description": "Specifies whether or not to show the `GitLens` explorer",
"scope": "window"
},
"gitlens.gitExplorer.files.compact": {
"type": "boolean",
"default": true,
"description": "Specifies whether or not to compact (flatten) unnecessary file nesting in the `GitLens` view\nOnly applies when displaying files as a `tree` or `auto`",
"description": "Specifies whether or not to compact (flatten) unnecessary file nesting in the `GitLens` explorer\nOnly applies when displaying files as a `tree` or `auto`",
"scope": "window"
},
"gitlens.gitExplorer.files.layout": {
@ -423,25 +423,25 @@
"list",
"tree"
],
"description": "Specifies how the `GitLens` view will display files\n `auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.gitExplorer.files.threshold` setting and the number of files at each nesting level\n `list` - displays files as a list\n `tree` - displays files as a tree",
"description": "Specifies how the `GitLens` explorer will display files\n `auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.gitExplorer.files.threshold` setting and the number of files at each nesting level\n `list` - displays files as a list\n `tree` - displays files as a tree",
"scope": "window"
},
"gitlens.gitExplorer.files.threshold": {
"type": "number",
"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` view\nOnly applies when displaying files as `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 `GitLens` explorer\nOnly applies when displaying files as `auto`",
"scope": "window"
},
"gitlens.gitExplorer.includeWorkingTree": {
"type": "boolean",
"default": true,
"description": "Specifies whether or not to include working tree files inside the `Repository Status` node of the `GitLens` view",
"description": "Specifies whether or not to include working tree files inside the `Repository Status` node of the `GitLens` explorer",
"scope": "window"
},
"gitlens.gitExplorer.showTrackingBranch": {
"type": "boolean",
"default": true,
"description": "Specifies whether or not to show the tracking branch when displaying local branches in the `GitLens` view",
"description": "Specifies whether or not to show the tracking branch when displaying local branches in the `GitLens` explorer",
"scope": "window"
},
"gitlens.gitExplorer.view": {
@ -452,7 +452,7 @@
"history",
"repository"
],
"description": "Specifies the starting view (mode) of the `GitLens` view\n `auto` - shows the last selected view, defaults to `repository`\n `history` - shows the commit history of the active file\n `repository` - shows a repository explorer",
"description": "Specifies the starting view (mode) of the `GitLens` explorer\n `auto` - shows the last selected view, defaults to `repository`\n `history` - shows the commit history of the active file\n `repository` - shows a repository explorer",
"scope": "window"
},
"gitlens.hovers.annotations.changes": {

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

Before After
Width: 600  |  Height: 360  |  Size: 3.2 KiB

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

Before After
Width: 600  |  Height: 360  |  Size: 49 KiB

BIN
src/ui/images/settings/gitlens-explorer-repository-avatars.png View File

Before After
Width: 600  |  Height: 360  |  Size: 2.4 KiB

BIN
src/ui/images/settings/gitlens-explorer-repository-tree-compact.png View File

Before After
Width: 600  |  Height: 360  |  Size: 23 KiB

BIN
src/ui/images/settings/gitlens-explorer-repository-tree.png View File

Before After
Width: 600  |  Height: 360  |  Size: 22 KiB

BIN
src/ui/images/settings/gitlens-explorer-repository.png View File

Before After
Width: 600  |  Height: 360  |  Size: 25 KiB

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

Before After
Width: 600  |  Height: 360  |  Size: 2.9 KiB

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

Before After
Width: 600  |  Height: 360  |  Size: 32 KiB

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

Before After
Width: 600  |  Height: 360  |  Size: 32 KiB

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

Before After
Width: 600  |  Height: 360  |  Size: 35 KiB

+ 14
- 10
src/ui/scss/main.scss View File

@ -13,7 +13,7 @@ body {
a {
border: 0;
color: var(--link-color);
font-weight: 600;
font-weight: 400;
outline: none;
text-decoration: none;
@ -88,11 +88,6 @@ input {
outline: none;
}
// &[type="checkbox"] {
// margin: -2px .25em 0 .25em;
// vertical-align: middle;
// }
&[disabled] {
color: var(--color--75);
cursor: default;
@ -156,6 +151,7 @@ ul {
}
.command {
font-weight: 600;
padding: 1px 3px;
}
@ -408,10 +404,6 @@ ul {
margin: -1em 0 0 3em;
top: 0;
a {
font-weight: 400;
}
li {
white-space: nowrap;
}
@ -498,10 +490,22 @@ ul {
margin: -1em 0 1em 3em;
}
.setting__hint--indent-2 {
margin-left: 5em;
}
.setting__hint--indent-4 {
margin-left: 7em;
}
.sidebar-group {
margin-top: 1em;
}
.bold {
font-weight: 600;
}
.hidden {
display: none !important;
}

+ 14
- 5
src/ui/settings/app.ts View File

@ -158,24 +158,33 @@ function ensureIfBoolean(value: string | boolean): string | boolean {
function evaluateStateExpression(expression: string, changes: { [key: string]: string | boolean }): boolean {
let state = false;
for (const expr of expression.trim().split('&&amp;&#39;)) {
for (const expr of expression.trim().split('&')) {
const [lhs, op, rhs] = parseStateExpression(expr);
switch (op) {
case '=':
case '=': { // Equals
let value = changes[lhs];
if (value === undefined) {
value = getSettingValue<string | boolean>(lhs) || false;
}
state = rhs !== undefined ? rhs === '' + value : !!value;
break;
case '+':
}
case '!': { // Not equals
let value = changes[lhs];
if (value === undefined) {
value = getSettingValue<string | boolean>(lhs) || false;
}
state = rhs !== undefined ? rhs !== '' + value : !value;
break;
}
case '+': { // Contains
if (rhs !== undefined) {
const setting = getSettingValue<string[]>(lhs);
state = setting !== undefined ? setting.includes(rhs.toString()) : false;
}
break;
}
}
if (!state) break;
@ -200,7 +209,7 @@ function parseAdditionalSettingsExpression(expression: string): [string, string
}
function parseStateExpression(expression: string): [string, string, string | boolean | undefined] {
const [lhs, op, rhs] = expression.trim().split(/([=\+])/);
const [lhs, op, rhs] = expression.trim().split(/([=\+\!])/);
return [lhs.trim(), op !== undefined ? op.trim() : '=', rhs !== undefined ? rhs.trim() : rhs];
}

+ 136
- 69
src/ui/settings/index.html View File

@ -28,57 +28,121 @@
<div class="page-header">
<h2 class="page-header__title">Settings</h2>
<p class="page-header__subtitle">For advanced customizations open and edit
<p class="page-header__subtitle">For advanced customizations refer to the pan class="p"><a titlen class="o">="See the GitLens settings docs" href="https://github.com/eamodio/vscode-gitlens/tree/feature-settings#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>
</div>
<div class="section-groups">
<div class="section-group__content">
<section id="gitlens-view">
<section id="gitlens-explorer">
<div class="section__header">
<h2 class="section__title">GitLens View
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens#navigate-and-explore">
<h2 class="section__title">GitLens Explorer
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens/tree/feature-settings#gitlens-explorer">
<i class="icon icon__info"></i>
</a>
</h2>
<p class="section__title-hint">Adds a GitLens view to the Explorer activity to explore repositories or file histories</p>
<p class="section__title-hint">Adds a GitLens explorer to navigate and explore repositories or file histories</p>
</div>
<div class="section__settings">
<div class="settings-group">
<div class="settings-group__setting nowrap">
<input id="gitExplorer.enabled" name="gitExplorer.enabled" type="checkbox" />
<label for="gitExplorer.enabled">Show the GitLens view</label>
<label for="gitExplorer.enabled">Show the GitLens explorer</label>
</div>
<div class="settings-group__setting ml-2" data-enablement="gitExplorer.enabled" disabled>
<label for="gitExplorer.view">When opened, show the</label>
<select id="gitExplorer.view" name="gitExplorer.view" disabled>
<option value="auto">last selected view</option>
<option value="repository">repository view</option>
<option value="history">file history view</option>
<option value="repository">Repository view</option>
<option value="history">History view</option>
</select>
</div>
<div class="settings-group__setting ml-2" data-enablement="gitExplorer.enabled" disabled>
<label for="gitExplorer.files.layout">Layout files</label>
<select id="gitExplorer.files.layout" name="gitExplorer.files.layout" disabled>
<option value="auto">automatically</option>
<option value="list">as a list</option>
<option value="tree">as a tree</option>
</select>
</div>
<p class="setting__hint hidden" data-visibility="gitExplorer.files.layout =auto">Chooses the best layout based on the number of files at each nesting level</p>
<div class="settings-group__setting nowrap ml-4" data-enablement="gitExplorer.enabled" disabled>
<input id="gitExplorer.files.compact" name="gitExplorer.files.compact" type="checkbox" disabled />
<label for="gitExplorer.files.compact">Use compact layout</label>
</div>
<p class="setting__hint setting__hint--indent-4">Compacts (flattens) unnecessary file nesting when using a tree layout</p>
<div class="settings-group__setting nowrap ml-2" data-enablement="gitExplorer.enabled" disabled>
<input id="gitExplorer.avatars" name="explorers.avatars" type="checkbox" disabled />
<label for="gitExplorer.avatars">Use author avatars in place of commit icons</label>
<label for="gitExplorer.avatars">Use author avatars icons</label>
</div>
<div class="settings-group__setting nowrap ml-2" data-enablement="gitExplorer.enabled" disabled>
<input id="gitExplorer.autoRefresh" name="gitExplorer.autoRefresh" type="checkbox" disabled />
<label for="gitExplorer.autoRefresh">Automatically refreshes when the file system or any repository changes</label>
</div>
</div>
<div class="section__preview">
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-view-repository.png" data-visibility="gitExplorer.enabled &amp;&amp; gitExplorer.view =auto" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-view-repository.png" data-visibility="gitExplorer.enabled &amp;&amp; gitExplorer.view =repository" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-view-history.png" data-visibility="gitExplorer.enabled &amp;&amp; gitExplorer.view =history" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/gitlens-view-repository-avatars.png" data-visibility="gitExplorer.enabled &amp;&amp; gitExplorer.view =auto &amp;&amp; explorers.avatars" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/gitlens-view-repository-avatars.png" data-visibility="gitExplorer.enabled &amp;&amp; gitExplorer.view =repository &amp;&amp; explorers.avatars" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/gitlens-view-history-avatars.png" data-visibility="gitExplorer.enabled &amp;&amp; gitExplorer.view =history &amp;&amp; explorers.avatars";
/>
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-explorer-repository.png" data-visibility="gitExplorer.enabled &amp; gitExplorer.view !history &amp; gitExplorer.files.layout !tree" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-explorer-repository-tree-compact.png" data-visibility="gitExplorer.enabled &amp; gitExplorer.view !history &amp; gitExplorer.files.layout =tree &amp; gitExplorer.files.compact" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-explorer-repository-tree.png" data-visibility="gitExplorer.enabled &amp; gitExplorer.view !history &amp; gitExplorer.files.layout =tree &amp; gitExplorer.files.compact =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/gitlens-explorer-repository-avatars.png" data-visibility="gitExplorer.enabled &amp; gitExplorer.view !history &amp; explorers.avatars =true" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-explorer-history.png" data-visibility="gitExplorer.enabled &amp; gitExplorer.view =history" />;
<</span>img class=&#34;image__preview--overlay hidden" src="{{root}}/images/settings/gitlens-explorer-history-avatars.png"; data-visibility="gitExplorer.enabled &amp; gitExplorer.view =history &amp; explorers.avatars =true" />
</div>
<p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i>
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>
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>
</p>
</div>
</section>
<section id="gitlens-results">
<div class="section__header">
<h2 class="section__title">GitLens Results
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens/tree/feature-settings#gitlens-results">
<i class="icon icon__info"></i>
</a>
</h2>
<p class="section__title-hint">Adds an on-demand GitLens Results view to explore commit searches, visualize comparisions between branches, tags, commits, and more</p>
</div>
<div class="section__settings">
<div class="settings-group">
<div class="settings-group__setting">
<label for="resultsExplorer.files.layout">Layout files</label>
<select id="resultsExplorer.files.layout" name="resultsExplorer.files.layout">
<option value="auto">automatically</option>
<option value="list">as a list</option>
<option value="tree">as a tree</option>
</select>
</div>
<div class="settings-group__setting nowrap ml-2">
<input id="resultsExplorer.files.compact" name="resultsExplorer.files.compact" type="checkbox" />
<label for="resultsExplorer.files.compact">Use compact layout</label>
</div>
<p class="setting__hint setting__hint--indent-2">Compacts (flattens) unnecessary file nesting when using a tree layout</p>
<div class="settings-group__setting nowrap">
<input id="resultsExplorer.avatars" name="explorers.avatars" type="checkbox" />
<label for="resultsExplorer.avatars">Use author avatars icons</label>
</div>
</div>
<div class="section__preview">
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-results.png" data-visibility="resultsExplorer.files.layout !tree" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-results-tree-compact.png" data-visibility="resultsExplorer.files.layout =tree &amp; resultsExplorer.files.compact" />
<img class="image__preview hidden" src="{{root}}/images/settings/gitlens-results-tree.png" 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" data-visibility="explorers.avatars =true" />
</div>
<p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i>
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>
</p>
</div>
</section>
@ -86,11 +150,11 @@
<section id="code-lens">
<div class="section__header">
<h2 class="section__title">Code Lens
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens#git-code-lens">
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens/tree/feature-settings#git-code-lens">
<i class="icon icon__info"></i>
</a>
</h2>
<p class="section__title-hint">Adds Git authorship code lens to the top of the file and on code blocks</p>
<p class="section__title-hint">Adds Git authorship code lens to the top of files and on code blocks</p>
</div>
<div class="section__settings">
<div class="settings-group">
@ -103,7 +167,7 @@
<input id="codeLens.recentChange.enabled" name="codeLens.recentChange.enabled" 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>
</div>
<div class="settings-group__setting ml-4" data-enablement="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled"
<div class="settings-group__setting ml-4" data-enablement="codeLens.enabled &amp; codeLens.recentChange.enabled"
disabled>
<label for="codeLens.recentChange.command">When clicked</label>
<select id="codeLens.recentChange.command" name="codeLens.recentChange.command" disabled>
@ -120,7 +184,7 @@
<input id="codeLens.authors.enabled" name="codeLens.authors.enabled" 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>
</div>
<div class="settings-group__setting ml-4" data-enablement="codeLens.enabled &amp;&amp; codeLens.authors.enabled"
<div class="settings-group__setting ml-4" data-enablement="codeLens.enabled &amp; codeLens.authors.enabled"
disabled>
<label for="codeLens.authors.command">When clicked</label>
<select id="codeLens.authors.command" name="codeLens.authors.command" disabled>
@ -151,17 +215,17 @@
</div>
<div class="section__preview">
<img class="image__preview" src="{{root}}/images/settings/code-lens.png" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-file-recent+authors.png" data-visibility="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled &amp;&amp; codeLens.authors.enabled &amp;&amp; codeLens.scopes +document" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-file-recent.png" data-visibility="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled &amp;&amp; codeLens.authors.enabled =false &amp;&amp; codeLens.scopes +document" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-file-authors.png" data-visibility="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled =false &amp;&amp; codeLens.authors.enabled &amp;&amp; codeLens.scopes +document" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-file-recent+authors.png" data-visibility="codeLens.enabled &amp; codeLens.recentChange.enabled &amp; codeLens.authors.enabled &amp; codeLens.scopes +document" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-file-recent.png" data-visibility="codeLens.enabled &amp; codeLens.recentChange.enabled &amp; codeLens.authors.enabled =false &amp; codeLens.scopes +document" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-file-authors.png" data-visibility="codeLens.enabled &amp; codeLens.recentChange.enabled =false &amp; codeLens.authors.enabled &amp; codeLens.scopes +document" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-containers-recent+authors.png" data-visibility="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled &amp;&amp; codeLens.authors.enabled &amp;&amp; codeLens.scopes +containers" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-containers-recent.png" data-visibility="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled &amp;&amp; codeLens.authors.enabled =false &amp;&amp; codeLens.scopes +containers" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-containers-authors.png" data-visibility="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled =false &amp;&amp; codeLens.authors.enabled &amp;&amp; codeLens.scopes +containers" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-containers-recent+authors.png" data-visibility="codeLens.enabled &amp; codeLens.recentChange.enabled &amp; codeLens.authors.enabled &amp; codeLens.scopes +containers" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-containers-recent.png" data-visibility="codeLens.enabled &amp; codeLens.recentChange.enabled &amp; codeLens.authors.enabled =false &amp; codeLens.scopes +containers" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-containers-authors.png" data-visibility="codeLens.enabled &amp; codeLens.recentChange.enabled =false &amp; codeLens.authors.enabled &amp; codeLens.scopes +containers" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-blocks-recent+authors.png" data-visibility="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled &amp;&amp; codeLens.authors.enabled &amp;&amp; codeLens.scopes +blocks" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-blocks-recent.png" data-visibility="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled &amp;&amp; codeLens.authors.enabled =false &amp;&amp; codeLens.scopes +blocks" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-blocks-authors.png" data-visibility="codeLens.enabled &amp;&amp; codeLens.recentChange.enabled =false &amp;&amp; codeLens.authors.enabled &amp;&amp; codeLens.scopes +blocks" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-blocks-recent+authors.png" data-visibility="codeLens.enabled &amp; codeLens.recentChange.enabled &amp; codeLens.authors.enabled &amp; codeLens.scopes +blocks" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-blocks-recent.png" data-visibility="codeLens.enabled &amp; codeLens.recentChange.enabled &amp; codeLens.authors.enabled =false &amp; codeLens.scopes +blocks" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/code-lens-blocks-authors.png" data-visibility="codeLens.enabled &amp; codeLens.recentChange.enabled =false &amp; codeLens.authors.enabled &amp; codeLens.scopes +blocks" />
</div>
<p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i>
@ -177,7 +241,7 @@
<section id="current-line">
<div class="section__header">
<h2 class="section__title">Current Line Blame
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens#git-blame-annotations">
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens/tree/feature-settings#git-blame-annotations">
<i class="icon icon__info"></i>
</a>
</h2>
@ -210,7 +274,7 @@
<section id="blame">
<div class="section__header">
<h2 class="section__title">Gutter Blame
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens#git-blame-annotations">
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens/tree/feature-settings#git-blame-annotations">
<i class="icon icon__info"></i>
</a>
</h2>
@ -259,18 +323,18 @@
<input id="blame.compact" name="blame.compact" type="checkbox" />
<label for="blame.compact">Use compact view</label>
</div>
<p class="setting__hint">Compacts (deduplicate) matching adjacent blame annotations</p>
<p class="setting__hint">Compacts (deduplicates) matching adjacent blame annotations</p>
</div>
<div class="section__preview">
<img class="image__preview hidden" src="{{root}}/images/settings/blame.png" data-visibility="blame.compact =false" />
<img class="image__preview hidden" src="{{root}}/images/settings/blame-compact.png" data-visibility="blame.compact" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-avatars.png" data-visibility="blame.avatars &amp;&amp; blame.compact =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-avatars-compact.png" data-visibility="blame.avatars &amp;&amp; blame.compact" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-highlight-gutter.png" data-visibility="blame.highlight.enabled &amp;&amp; blame.highlight.locations +gutter" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-highlight-line.png" data-visibility="blame.highlight.enabled &amp;&amp; blame.highlight.locations +line" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-highlight-scrollbar.png" data-visibility="blame.highlight.enabled &amp;&amp; blame.highlight.locations +overviewRuler" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-heatmap-left.png" data-visibility="blame.heatmap.enabled &amp;&amp; blame.heatmap.location =left" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-heatmap-right.png" data-visibility="blame.heatmap.enabled &amp;&amp; blame.heatmap.location =right" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-avatars.png" data-visibility="blame.avatars &amp; blame.compact =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-avatars-compact.png" data-visibility="blame.avatars &amp; blame.compact" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-highlight-gutter.png" data-visibility="blame.highlight.enabled &amp; blame.highlight.locations +gutter" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-highlight-line.png" data-visibility="blame.highlight.enabled &amp; blame.highlight.locations +line" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-highlight-scrollbar.png" data-visibility="blame.highlight.enabled &amp; blame.highlight.locations +overviewRuler" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-heatmap-left.png" data-visibility="blame.heatmap.enabled &amp; blame.heatmap.location =left" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/blame-heatmap-right.png" data-visibility="blame.heatmap.enabled &amp; blame.heatmap.location =right" />
</div>
<p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i>
@ -282,7 +346,7 @@
<section id="hovers">
<div class="section__header">
<h2 class="section__title">Hovers
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens#git-blame-annotations">
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens/tree/feature-settings#git-blame-annotations">
<i class="icon icon__info"></i>
</a>
</h2>
@ -308,7 +372,7 @@
/>
<label for="hovers.currentLine.enabled-1">Show hovers for the current line</label>
</div>
<div class="settings-group__setting ml-4 hidden" data-visibility="currentLine.enabled" data-enablement="hovers.enabled &amp;&amp; hovers.currentLine.enabled"
<div class="settings-group__setting ml-4 hidden" data-visibility="currentLine.enabled" data-enablement="hovers.enabled &amp; hovers.currentLine.enabled"
disabled>
<label for="hovers.currentLine.over">Shown when over the</label>
<select id="hovers.currentLine.over" name="hovers.currentLine.over" disabled>
@ -317,12 +381,12 @@
</select>
</div>
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp;&amp; hovers.currentLine.enabled"
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp; hovers.currentLine.enabled"
disabled>
<input id="hovers.currentLine.details" name="hovers.currentLine.details" type="checkbox" disabled />
<label for="hovers.currentLine.details">Add Git blame details</label>
</div>
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp;&amp; hovers.currentLine.enabled"
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp; hovers.currentLine.enabled"
disabled>
<input id="hovers.currentLine.changes" name="hovers.currentLine.changes" type="checkbox" disabled />
<label for="hovers.currentLine.changes">Add Git changes (diff)</label>
@ -331,19 +395,19 @@
</div>
<div class="section__preview mb-2">
<img class="image__preview hidden" src="{{root}}/images/settings/hovers-currentLine-line.png" data-visibility="hovers.currentLine.over =line" />
<img class="image__preview hidden" src="{{root}}/images/settings/hovers-currentLine-line.png" data-visibility="currentLine.enabled =false &amp;&amp; hovers.currentLine.over =annotation" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-blame.png" data-visibility="currentLine.enabled &amp;&amp; hovers.currentLine.over =line" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-details+changes.png" data-visibility="hovers.currentLine.over =line &amp;&amp; hovers.enabled &amp;&amp; hovers.currentLine.enabled &amp;&amp; hovers.currentLine.details &amp;&amp; hovers.currentLine.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-details+changes.png" data-visibility="currentLine.enabled =false &amp;&amp; hovers.currentLine.over =annotation &amp;&amp; hovers.enabled &amp;&amp; hovers.currentLine.enabled &amp;&amp; hovers.currentLine.details &amp;&amp; hovers.currentLine.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-details.png" data-visibility="hovers.currentLine.over =line &amp;&amp; hovers.enabled &amp;&amp; hovers.currentLine.enabled &amp;&amp; hovers.currentLine.details &amp;&amp; hovers.currentLine.changes =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-details.png" data-visibility="currentLine.enabled =false &amp;&amp; hovers.currentLine.over =annotation &amp;&amp; hovers.enabled &amp;&amp; hovers.currentLine.enabled &amp;&amp; hovers.currentLine.details &amp;&amp; hovers.currentLine.changes =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-changes.png" data-visibility="hovers.currentLine.over =line &amp;&amp; hovers.enabled &amp;&amp; hovers.currentLine.enabled &amp;&amp; hovers.currentLine.details =false &amp;&amp; hovers.currentLine.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-changes.png" data-visibility="currentLine.enabled =false &amp;&amp; hovers.currentLine.over =annotation &amp;&amp; hovers.enabled &amp;&amp; hovers.currentLine.enabled &amp;&amp; hovers.currentLine.details =false &amp;&amp; hovers.currentLine.changes" />
<img class="image__preview hidden" src="{{root}}/images/settings/hovers-currentLine-annotation.png" data-visibility="currentLine.enabled &amp;&amp; hovers.currentLine.over =annotation" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-annotation-details+changes.png" data-visibility="currentLine.enabled &amp;&amp; hovers.currentLine.over =annotation &amp;&amp; hovers.enabled &amp;&amp; hovers.currentLine.enabled &amp;&amp; hovers.currentLine.details &amp;&amp; hovers.currentLine.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-annotation-details.png" data-visibility="currentLine.enabled &amp;&amp; hovers.currentLine.over =annotation &amp;&amp; hovers.enabled &amp;&amp; hovers.currentLine.enabled &amp;&amp; hovers.currentLine.details &amp;&amp; hovers.currentLine.changes =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-annotation-changes.png" data-visibility="currentLine.enabled &amp;&amp; hovers.currentLine.over =annotation &amp;&amp; hovers.enabled &amp;&amp; hovers.currentLine.enabled &amp;&amp; hovers.currentLine.details =false &amp;&amp; hovers.currentLine.changes" />
<img class="image__preview hidden" src="{{root}}/images/settings/hovers-currentLine-line.png" data-visibility="currentLine.enabled =false &amp; hovers.currentLine.over =annotation" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-blame.png" data-visibility="currentLine.enabled &amp; hovers.currentLine.over =line" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-details+changes.png" data-visibility="hovers.currentLine.over =line &amp; hovers.enabled &amp; hovers.currentLine.enabled &amp; hovers.currentLine.details &amp; hovers.currentLine.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-details+changes.png" data-visibility="currentLine.enabled =false &amp; hovers.currentLine.over =annotation &amp; hovers.enabled &amp; hovers.currentLine.enabled &amp; hovers.currentLine.details &amp; hovers.currentLine.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-details.png" data-visibility="hovers.currentLine.over =line &amp; hovers.enabled &amp; hovers.currentLine.enabled &amp; hovers.currentLine.details &amp; hovers.currentLine.changes =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-details.png" data-visibility="currentLine.enabled =false &amp; hovers.currentLine.over =annotation &amp; hovers.enabled &amp; hovers.currentLine.enabled &amp; hovers.currentLine.details &amp; hovers.currentLine.changes =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-changes.png" data-visibility="hovers.currentLine.over =line &amp; hovers.enabled &amp; hovers.currentLine.enabled &amp; hovers.currentLine.details =false &amp; hovers.currentLine.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-line-changes.png" data-visibility="currentLine.enabled =false &amp; hovers.currentLine.over =annotation &amp; hovers.enabled &amp; hovers.currentLine.enabled &amp; hovers.currentLine.details =false &amp; hovers.currentLine.changes" />
<img class="image__preview hidden" src="{{root}}/images/settings/hovers-currentLine-annotation.png" data-visibility="currentLine.enabled &amp; hovers.currentLine.over =annotation" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-annotation-details+changes.png" data-visibility="currentLine.enabled &amp; hovers.currentLine.over =annotation &amp; hovers.enabled &amp; hovers.currentLine.enabled &amp; hovers.currentLine.details &amp; hovers.currentLine.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-annotation-details.png" data-visibility="currentLine.enabled &amp; hovers.currentLine.over =annotation &amp; hovers.enabled &amp; hovers.currentLine.enabled &amp; hovers.currentLine.details &amp; hovers.currentLine.changes =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-currentLine-annotation-changes.png" data-visibility="currentLine.enabled &amp; hovers.currentLine.over =annotation &amp; hovers.enabled &amp; hovers.currentLine.enabled &amp; hovers.currentLine.details =false &amp; hovers.currentLine.changes" />
</div>
<div class="settings-group">
<div class="settings-group__setting">
@ -351,7 +415,7 @@
<input id="hovers.annotations.enabled" name="hovers.annotations.enabled" type="checkbox" disabled />
<label for="hovers.annotations.enabled">Show hovers while annotating</label>
</div>
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp;&amp; hovers.annotations.enabled" disabled>
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp; hovers.annotations.enabled" disabled>
<label for="hovers.annotations.over">Shown when over the</label>
<select id="hovers.annotations.over" name="hovers.annotations.over" disabled>
<option value="annotation">annotation only</option>
@ -359,12 +423,12 @@
</select>
</div>
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp;&amp; hovers.annotations.enabled"
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp; hovers.annotations.enabled"
disabled>
<input id="hovers.annotations.details" name="hovers.annotations.details" type="checkbox" disabled />
<label for="hovers.annotations.details">Add Git blame details</label>
</div>
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp;&amp; hovers.annotations.enabled"
<div class="settings-group__setting nowrap ml-4" data-enablement="hovers.enabled &amp; hovers.annotations.enabled"
disabled>
<input id="hovers.annotations.changes" name="hovers.annotations.changes" type="checkbox" disabled />
<label for="hovers.annotations.changes">Add Git changes (diff)</label>
@ -374,10 +438,10 @@
<div class="section__preview">
<img class="image__preview hidden" src="{{root}}/images/settings/hovers-annotations.png" data-visibility="blame.compact =false" />
<img class="image__preview hidden" src="{{root}}/images/settings/hovers-annotations-compact.png" data-visibility="blame.compact" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-annotations-details+changes.png" data-visibility="hovers.enabled &amp;&amp; hovers.annotations.enabled &amp;&amp; hovers.annotations.details &amp;&amp; hovers.annotations.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-annotations-details.png" data-visibility="hovers.enabled &amp;&amp; hovers.annotations.enabled &amp;&amp; hovers.annotations.details &amp;&amp; hovers.annotations.changes =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-annotations-changes.png" data-visibility="hovers.enabled &amp;&amp; hovers.annotations.enabled &amp;&amp; hovers.annotations.details =false &amp;&amp; hovers.annotations.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-annotations-heatmap.png" data-visibility="blame.heatmap.enabled &amp;&amp; blame.heatmap.location =right" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-annotations-details+changes.png" data-visibility="hovers.enabled &amp; hovers.annotations.enabled &amp; hovers.annotations.details &amp; hovers.annotations.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-annotations-details.png" data-visibility="hovers.enabled &amp; hovers.annotations.enabled &amp; hovers.annotations.details &amp; hovers.annotations.changes =false" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-annotations-changes.png" data-visibility="hovers.enabled &amp; hovers.annotations.enabled &amp; hovers.annotations.details =false &amp; hovers.annotations.changes" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/hovers-annotations-heatmap.png" data-visibility="blame.heatmap.enabled &amp; blame.heatmap.location =right" />
</div>
</div>
</section>
@ -385,7 +449,7 @@
<section id="status-bar">
<div class="section__header">
<h2 class="section__title">Status Bar Blame
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens#git-blame-annotations">
<a title="Learn more" href="https://github.com/eamodio/vscode-gitlens/tree/feature-settings#git-blame-annotations">
<i class="icon icon__info"></i>
</a>
</h2>
@ -420,8 +484,8 @@
</div>
<div class="section__preview">
<img class="image__preview" src="{{root}}/images/settings/status-bar.png" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/status-bar-left.png" data-visibility="statusBar.enabled &amp;&amp; statusBar.alignment =left" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/status-bar-right.png" data-visibility="statusBar.enabled &amp;&amp; statusBar.alignment =right" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/status-bar-left.png" data-visibility="statusBar.enabled &amp; statusBar.alignment =left" />
<img class="image__preview--overlay hidden" src="{{root}}/images/settings/status-bar-right.png" data-visibility="statusBar.enabled &amp; statusBar.alignment =right" />
</div>
<p class="settings-group__hint">
<i class="icon icon--lg icon__info"></i>
@ -475,7 +539,10 @@
<h2>Jump to</h2>
<ul>
<li>
<a href="#gitlens-view">GitLens View</a>
<a href="#gitlens-explorer">GitLens Explorer</a>
</li>
<li>
<a href="#gitlens-results">GitLens Results</a>
</li>
<li>
<a href="#code-lens">Code Lens</a>
@ -519,7 +586,7 @@
<h2>Help</h2>
<ul>
<li>
<a href="https://github.com/eamodio/vscode-gitlens/blob/master/README.md">Documentation</a>
<a href="https://github.com/eamodio/vscode-gitlens/blob/feature-settings/README.md">Documentation</a>
</li>
<li>
<a href="https://github.com/eamodio/vscode-gitlens/issues">Questions &amp; Issues</a>

+ 20
- 19
src/ui/welcome/index.html View File

@ -36,32 +36,33 @@
<div class="section-group-section">
<p>
GitLens is a free,
<a title="Open GitLens on GitHub" href="https://github.com/eamodio/vscode-gitlens">open-source</a> extension for Visual Studio Code created by
<a title="Learn more about Eric"
<a class="bold" title="Open GitLens on GitHub" href="https://github.com/eamodio/vscode-gitlens">open-source</a> extension for Visual Studio Code created by
<a class="bold" title="Learn more about Eric"
href="http://amod.io">Eric Amodio</a>.
</p>
<p class="mb-2">
<p>
GitLens simply helps you understand code better. Quickly glimpse into who, why, and when a line or code block was changed.
Jump back through history to gain further insights as to how and why the code evolved. Explore
the history and evolution of a codebase. Dive in and see how GitLens can help!
the history and evolution of a codebase. Dive right in and see how GitLens can help!
</p>
</div>
<div class="section-group-section">
<h2>Features</h2>
<p>Here are just some of the features that GitLens provides
<p>Here are just some of the features that GitLens provides,
<ul class="features-list">
<li>Adds a GitLens view to the Explorer activity to explore repositories or file histories</li>
<li>Adds Git authorship code lens to the top of the file and on code blocks</li>
<li>Adds an unobtrusive Git blame annotation to the end of the current line</li>
<li>Adds detailed Git blame information accessible via hovers</li>
<li>Adds a Git blame annotation about the current line to the status bar</li>
<li>Adds many powerful commands for exploring commits and histories, comparing and navigating
revisions, stash access, repository status, and more</li>
<li>a <i>GitLens</i> explorer to navigate and explore repositories or file histories</li>
<li>an on-demand <i>GitLens Results</i> view to explore commit searches, visualize comparisions between branches, tags, or commits, and more</li>
<li>Git authorship code lens showing the most recent commit and # of authors to the top of files and/or on code blocks</li>
<li>an unobtrusive Git blame annotation to the end of the current line</li>
<li>detailed Git blame information accessible via hovers</li>
<li>a status bar Git blame annotation showing author and date, by default, about the current line</li>
class="p">< class="nt">li class="p">>many powerful commands for exploring commits and histories, comparing and navigating revisions, stash access, repository status, and more</li>
</ul>
</p>
<p class="mb-2">GitLens is powerful, feature rich, and highly customizable to meet your specific needs, so please
be sure to visit the
<a title="Open GitLens Settings" href="command:gitlens.showSettingsPage">GitLens settings page</a>.</p>
<p class="mb-2">GitLens is powerful, feature rich, and highly customizable to meet your specific needs
&mdash; find code lens intrusive or the current line blame annotation distracting &mdash;
no problem, it is quick and easy to turn them off or change how they behave via the built-in <a title="Open GitLens Settings" href="command:gitlens.showSettingsPage">GitLens Settings</a> editor,
a WYSIWYG editor covering many of GitLens' powerful settings.
While for more advanced customizations, refer to the <a class="command" title="Open the GitLens settings docs" href="https://github.com/eamodio/vscode-gitlens/tree/feature-settings#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>
</div>
<div class="section-group-section">
<h2>Customize</h2>
@ -130,7 +131,7 @@
<h2>Help</h2>
<ul>
<li>
<a href="https://github.com/eamodio/vscode-gitlens/blob/master/README.md">Documentation</a>
<a href="https://github.com/eamodio/vscode-gitlens/blob/feature-settings/README.md">Documentation</a>
</li>
<li>
<a href="https://github.com/eamodio/vscode-gitlens/issues">Questions &amp; Issues</a>

Loading…
Cancel
Save