sourcegraph/vscode-gitlens

Name: vscode-gitlens

Owner: Sourcegraph

Description: null

Forked from: eamodio/vscode-gitlens

Created: 2017-07-28 11:04:30.0

Updated: 2017-07-28 11:04:32.0

Pushed: 2017-07-30 07:22:01.0

Homepage: null

Size: 22369

Language: TypeScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Chat at https://gitter.im/vscode-gitlens/Lobby

GitLens

GitLens supercharges the built-in Visual Studio Code Git capabilities. 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 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 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.

Preview ? featuring blame annotations, code lens, status bar details, quick pick menus for navigation and exploration, compare with previous, and more

GitLens preview

Features
Git Blame Annotations
Git Recent Changes Annotations
Git Code Lens
Powerful Comparison Tools
Navigate and Explore
And More
Insiders

Add "gitlens.insiders": true to your settings to join the insiders channel and get early access to upcoming features. Be aware that because this provides early access expect there to be issues.

Extension Settings

GitLens is highly customizable and provides many configuration settings to allow the personalization of almost all features

General Settings

|Name | Description |—–|———— |gitlens.defaultDateFormat|Specifies how all absolute dates will be formatted by default\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats |gitlens.insiders|Opts into the insiders channel – provides access to upcoming features |gitlens.outputLevel|Specifies how much (if any) output will be sent to the GitLens output channel

Blame Annotation Settings
File Blame Annotation Settings

|Name | Description |—–|———— |gitlens.blame.file.annotationType|Specifies the type of blame annotations that will be shown for the current file
gutter - adds an annotation to the beginning of each line
hover - shows annotations when hovering over each line |gitlens.blame.file.lineHighlight.enabled|Specifies whether or not to highlight lines associated with the current line |gitlens.blame.file.lineHighlight.locations|Specifies where the associated line highlights will be shown
gutter - adds a gutter glyph
line - adds a full-line highlight background color
overviewRuler - adds a decoration to the overviewRuler (scroll bar) |gitlens.annotations.file.gutter.format|Specifies the format of the gutter blame annotations
Available tokens
${id} - commit id
${author} - commit author
${message} - commit message
${ago} - relative commit date (e.g. 1 day ago)
${date} - formatted commit date (format specified by gitlens.annotations.file.gutter.dateFormat)
${authorAgo} - commit author, relative commit date
See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |gitlens.annotations.file.gutter.dateFormat|Specifies how to format absolute dates (using the ${date} token) in gutter blame annotations
See https://momentjs.com/docs/#/displaying/format/ for valid formats |gitlens.annotations.file.gutter.compact|Specifies whether or not to compact (deduplicate) matching adjacent gutter blame annotations |gitlens.annotations.file.gutter.heatmap.enabled|Specifies whether or not to provide a heatmap indicator in the gutter blame annotations |gitlens.annotations.file.gutter.heatmap.location|Specifies where the heatmap indicators will be shown in the gutter blame annotations
left - adds a heatmap indicator on the left edge of the gutter blame annotations
right - adds a heatmap indicator on the right edge of the gutter blame annotations |gitlens.annotations.file.gutter.hover.details|Specifies whether or not to provide a commit details hover annotation over the gutter blame annotations |gitlens.annotations.file.gutter.hover.wholeLine|Specifies whether or not to trigger hover annotations over the whole line |gitlens.annotations.file.hover.heatmap.enabled|Specifies whether or not to provide heatmap indicators on the left edge of each line |gitlens.annotations.file.hover.wholeLine|Specifies whether or not to trigger hover annotations over the whole line

Line Blame Annotation Settings

|Name | Description |—–|———— |gitlens.blame.line.enabled|Specifies whether or not to provide a blame annotation for the current line, by default
Use the gitlens.toggleLineBlame command to toggle the annotations on and off for the current session |gitlens.blame.line.annotationType|Specifies the type of blame annotations that will be shown for the current line
trailing - adds an annotation to the end of the current line
hover - shows annotations when hovering over the current line |gitlens.annotations.line.trailing.format|Specifies the format of the trailing blame annotations
Available tokens
${id} - commit id
${author} - commit author
${message} - commit message
${ago} - relative commit date (e.g. 1 day ago)
${date} - formatted commit date (format specified by gitlens.annotations.line.trailing.dateFormat)
${authorAgo} - commit author, relative commit date
See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |gitlens.annotations.line.trailing.dateFormat|Specifies how to format absolute dates (using the ${date} token) in trailing blame annotations
See https://momentjs.com/docs/#/displaying/format/ for valid formats |gitlens.annotations.line.trailing.hover.details|Specifies whether or not to provide a commit details hover annotation over the trailing blame annotations |gitlens.annotations.line.trailing.hover.changes|Specifies whether or not to provide a changes (diff) hover annotation over the trailing blame annotations |gitlens.annotations.line.trailing.hover.wholeLine|Specifies whether or not to trigger hover annotations over the whole line |gitlens.annotations.line.hover.details|Specifies whether or not to provide a commit details hover annotation for the current line |gitlens.annotations.line.hover.changes|Specifies whether or not to provide a changes (diff) hover annotation for the current line

File Recent Changes Annotation Settings

|Name | Description |—–|———— |gitlens.recentChanges.file.lineHighlight.locations|Specifies where the highlights of the recently changed lines will be shown
gutter - adds a gutter glyph
line - adds a full-line highlight background color
overviewRuler - adds a decoration to the overviewRuler (scroll bar) |gitlens.annotations.file.recentChanges.hover.details|Specifies whether or not to provide a commit details hover annotation |gitlens.annotations.file.recentChanges.hover.changes|Specifies whether or not to provide a changes (diff) hover annotation |gitlens.annotations.file.recentChanges.hover.wholeLine|Specifies whether or not to trigger hover annotations over the whole line

Code Lens Settings

|Name | Description |—–|———— |gitlens.codeLens.enabled|Specifies whether or not to provide any Git code lens, by default
Use the gitlens.toggleCodeLens command to toggle the Git code lens on and off for the current session |gitlens.codeLens.recentChange.enabled|Specifies whether or not to show a recent change code lens showing the author and date of the most recent commit for the file or code block |gitlens.codeLens.recentChange.command|Specifies the command to be executed when the recent change code lens is clicked
gitlens.toggleFileBlame - toggles file blame annotations
gitlens.showBlameHistory - opens the blame history explorer
gitlens.showFileHistory - opens the file history explorer
gitlens.diffWithPrevious - compares the current committed file with the previous commit
gitlens.showQuickCommitDetails - shows a commit details quick pick
gitlens.showQuickCommitFileDetails - shows a commit file details quick pick
gitlens.showQuickFileHistory - shows a file history quick pick
gitlens.showQuickRepoHistory - shows a branch history quick pick |gitlens.codeLens.authors.enabled|Specifies whether or not to show an authors code lens showing number of authors of the file or code block and the most prominent author (if there is more than one) |gitlens.codeLens.authors.command|Specifies the command to be executed when the authors code lens is clicked
gitlens.toggleFileBlame - toggles file blame annotations
gitlens.showBlameHistory - opens the blame history explorer
gitlens.showFileHistory - opens the file history explorer
gitlens.diffWithPrevious - compares the current committed file with the previous commit
gitlens.showQuickCommitDetails - shows a commit details quick pick
gitlens.showQuickCommitFileDetails - shows a commit file details quick pick
gitlens.showQuickFileHistory - shows a file history quick pick
gitlens.showQuickRepoHistory - shows a branch history quick pick |gitlens.codeLens.locations|Specifies where Git code lens will be shown in the document
document - adds code lens at the top of the document
containers - adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)
blocks - adds code lens at the start of block-like symbols (functions, methods, properties, etc) lines
custom - adds code lens at the start of symbols contained in gitlens.codeLens.locationCustomSymbols |gitlens.codeLens.customLocationSymbols|Specifies the set of document symbols where Git code lens will be shown in the document |gitlens.codeLens.perLanguageLocations|Specifies where Git code lens will be shown in the document for the specified languages

Git Stashes Explorer Settings

|Name | Description |—–|———— |gitlens.stashExplorer.enabled|Specifies whether or not to show the Git Stashes explorer |gitlens.stashExplorer.stashFormat|Specifies the format of stashed changes in the Git Stashes explorer
Available tokens
${id} - commit id
${author} - commit author
${message} - commit message
${ago} - relative commit date (e.g. 1 day ago)
${date} - formatted commit date (format specified by gitlens.statusBar.dateFormat)
${authorAgo} - commit author, relative commit date
See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |gitlens.stashExplorer.stashFileFormat|Specifies the format of a stashed file in the Git Stashes explorer
Available tokens
${file} - file name
${path} - file path

Status Bar Settings

|Name | Description |—–|———— |gitlens.statusBar.enabled|Specifies whether or not to provide blame information on the status bar |gitlens.statusBar.alignment|Specifies the blame alignment in the status bar
left - align to the left, right - align to the right |gitlens.statusBar.command|Specifies the command to be executed when the blame status bar item is clicked
gitlens.toggleFileBlame - toggles file blame annotations
gitlens.showBlameHistory - opens the blame history explorer
gitlens.showFileHistory - opens the file history explorer
gitlens.diffWithPrevious - compares the current line commit with the previous
gitlens.diffWithWorking - compares the current line commit with the working tree
gitlens.toggleCodeLens - toggles Git code lens
gitlens.showQuickCommitDetails - shows a commit details quick pick
gitlens.showQuickCommitFileDetails - shows a commit file details quick pick
gitlens.showQuickFileHistory - shows a file history quick pick
gitlens.showQuickRepoHistory - shows a branch history quick pick |gitlens.statusBar.format|Specifies the format of the blame information on the status bar
Available tokens
${id} - commit id
${author} - commit author
${message} - commit message
${ago} - relative commit date (e.g. 1 day ago)
${date} - formatted commit date (format specified by gitlens.statusBar.dateFormat)
See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |gitlens.statusBar.dateFormat|Specifies the date format of absolute dates shown in the blame information on the status bar
See https://momentjs.com/docs/#/displaying/format/ for valid formats

Strings Settings

|Name | Description |—–|———— |gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors|Specifies the string to be shown in place of both the recent change and authors code lens when there are unsaved changes |gitlens.strings.codeLens.unsavedChanges.recentChangeOnly|Specifies the string to be shown in place of the recent change code lens when there are unsaved changes |gitlens.strings.codeLens.unsavedChanges.authorsOnly|Specifies the string to be shown in place of the authors code lens when there are unsaved changes

Theme Settings

|Name | Description |—–|———— |gitlens.theme.annotations.file.gutter.separateLines|Specifies whether or not gutter blame annotations will be separated by a small gap |gitlens.theme.annotations.file.gutter.dark.backgroundColor|Specifies the dark theme background color of the gutter blame annotations |gitlens.theme.annotations.file.gutter.light.backgroundColor|Specifies the light theme background color of the gutter blame annotations |gitlens.theme.annotations.file.gutter.dark.foregroundColor|Specifies the dark theme foreground color of the gutter blame annotations |gitlens.theme.annotations.file.gutter.light.foregroundColor|Specifies the light theme foreground color of the gutter blame annotations |gitlens.theme.annotations.file.gutter.dark.uncommittedForegroundColor|Specifies the dark theme foreground color of an uncommitted line in the gutter blame annotations |gitlens.theme.annotations.file.gutter.light.uncommittedForegroundColor|Specifies the light theme foreground color of an uncommitted line in the gutter blame annotations |gitlens.theme.annotations.file.hover.separateLines|Specifies whether or not hover blame annotations will be separated by a small gap (if heatmap is enabled) |gitlens.theme.annotations.line.trailing.dark.backgroundColor|Specifies the dark theme background color of the trailing blame annotation |gitlens.theme.annotations.line.trailing.light.backgroundColor|Specifies the light theme background color of the trailing blame annotation |gitlens.theme.annotations.line.trailing.dark.foregroundColor|Specifies the dark theme foreground color of the trailing blame annotation |gitlens.theme.annotations.line.trailing.light.foregroundColor|Specifies the light theme foreground color of the trailing blame annotation |gitlens.theme.lineHighlight.dark.backgroundColor|Specifies the dark theme background color of the associated line highlights in blame annotations. Must be a valid css color |gitlens.theme.lineHighlight.light.backgroundColor|Specifies the light theme background color of the associated line highlights in blame annotations. Must be a valid css color |gitlens.theme.lineHighlight.dark.overviewRulerColor|Specifies the dark theme overview ruler color of the associated line highlights in blame annotations |gitlens.theme.lineHighlight.light.overviewRulerColor|Specifies the light theme overview ruler color of the associated line highlights in blame annotations

Advanced Settings

|Name | Description |—–|———— |gitlens.advanced.toggleWhitespace.enabled|Specifies whether or not to toggle whitespace off then showing blame annotations (may be required by certain fonts/themes) |gitlens.advanced.telemetry.enabled|Specifies whether or not to enable GitLens telemetry (even if enabled still abides by the overall telemetry.enableTelemetry setting |gitlens.advanced.menus|Specifies which commands will be added to which menus |gitlens.advanced.caching.enabled|Specifies whether git output will be cached |gitlens.advanced.caching.maxLines|Specifies the threshold for caching larger documents |gitlens.advanced.git|Specifies the git path to use |gitlens.advanced.gitignore.enabled|Specifies whether or not to parse the root .gitignore file for better performance (i.e. avoids blaming excluded files) |gitlens.advanced.maxQuickHistory|Specifies the maximum number of QuickPick history entries to show |gitlens.advanced.quickPick.closeOnFocusOut|Specifies whether or not to close the QuickPick menu when focus is lost

Known Issues
Contributors

A big thanks to the people that have contributed to this project:


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.