GitLens Documentation

Install   
Contact Support
GitHub.com Issues  
GitHub.com Discussions  
GitKraken.com  
GitKraken Status  

Settings

GitLens provides a rich interactive settings editor, an easy-to-use interface, to configure many of GitLens’ powerful features. It can be accessed via the GitLens: Open Settings (gitlens.showSettingsPage) command from the Command Palette.

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

Current Line Blame Settings

Name Description
gitlens.currentLine.dateFormat Specifies how to format absolute dates (e.g. using the ${date} token) for the current line blame annotations. See the Moment.js docs for valid formats
gitlens.currentLine.enabled Specifies whether to provide a blame annotation for the current line, by default. Use the Toggle Line Blame Annotations command (gitlens.toggleLineBlame) to toggle the annotations on and off for the current window
gitlens.currentLine.format Specifies the format of the current line blame annotation. See Commit Tokens in the GitLens docs. Date formatting is controlled by the gitlens.currentLine.dateFormat setting
gitlens.currentLine.pullRequests.enabled Specifies whether to provide information about the Pull Request (if any) that introduced the commit in the current line blame annotation. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.currentLine.scrollable Specifies whether the current line blame annotation can be scrolled into view when it is outside the viewport. NOTE: Setting this to false will inhibit the hovers from showing over the annotation; Set gitlens.hovers.currentLine.over to line to enable the hovers to show anywhere over the line.
gitlens.currentLine.uncommittedChangesFormat Specifies the uncommitted changes format of the current line blame annotation. NOTE: Setting this to an empty string will disable current line blame annotations for uncommitted changes
gitlens.currentLine.fontFamily Specifies the font family of the Inline Blame annotation
gitlens.currentLine.fontSize Specifies the font size of the Inline Blame annotation
gitlens.currentLine.fontStyle Specifies the font style of the Inline Blame annotation
gitlens.currentLine.fontWeight Specifies the font weight of the Inline Blame annotation

Git CodeLens Settings

Name Description
gitlens.codeLens.authors.command Specifies the command to be executed when an authors CodeLens is clicked, set to (gitlens.toggleFileBlame) by default. Can be set to false to disable click actions on the CodeLens.

gitlens.toggleFileBlame – toggles file blame annotations
gitlens.toggleFileHeatmap – toggles file heatmap
gitlens.toggleFileChanges – toggles file changes since before the commit
gitlens.toggleFileChangesOnly – toggles file changes from the commit
gitlens.diffWithPrevious – opens changes with the previous revision
gitlens.revealCommitInView – reveals the commit in the Side Bar
gitlens.showCommitsInView – searches for commits within the range
gitlens.showQuickCommitDetails – shows details of the commit
gitlens.showQuickCommitFileDetails – show file details of the commit
gitlens.showQuickFileHistory – shows the current file history
gitlens.showQuickRepoHistory – shows the current branch history
gitlens.openCommitOnRemote – opens the commit on the remote service (when available)
gitlens.copyRemoteCommitUrl – copies the remote commit url to the clipboard (when available)
gitlens.openFileOnRemote – opens the file revision on the remote service (when available)
gitlens.copyRemoteFileUrl – copies the remote file url to the clipboard (when available)

gitlens.codeLens.authors.enabled Specifies whether to provide an authors CodeLens, showing number of authors of the file or code block and the most prominent author (if there is more than one)
gitlens.codeLens.enabled Specifies whether to provide any Git CodeLens, by default. Use the Toggle Git CodeLens command (gitlens.toggleCodeLens) to toggle the Git CodeLens on and off for the current window
gitlens.codeLens.includeSingleLineSymbols Specifies whether to provide any Git CodeLens on symbols that span only a single line
gitlens.codeLens.recentChange.command Specifies the command to be executed when a recent change CodeLens is clicked, set to (gitlens.showQuickCommitFileDetails) by default. Can be set to false to disable click actions on the CodeLens.

gitlens.toggleFileBlame – toggles file blame annotations
gitlens.toggleFileHeatmap – toggles file heatmap
gitlens.toggleFileChanges – toggles file changes since before the commit
gitlens.toggleFileChangesOnly – toggles file changes from the commit
gitlens.diffWithPrevious – opens changes with the previous revision
gitlens.revealCommitInView – reveals the commit in the Side Bar
gitlens.showCommitsInView – searches for commits within the range
gitlens.showQuickCommitDetails – shows details of the commit
gitlens.showQuickCommitFileDetails – show file details of the commit
gitlens.showQuickFileHistory – shows the current file history
gitlens.showQuickRepoHistory – shows the current branch history
gitlens.openCommitOnRemote – opens the commit on the remote service (when available)
gitlens.copyRemoteCommitUrl – copies the remote commit url to the clipboard (when available)
gitlens.openFileOnRemote – opens the file revision on the remote service (when available)
gitlens.copyRemoteFileUrl – copies the remote file url to the clipboard (when available)

gitlens.codeLens.recentChange.enabled Specifies whether to provide a recent change CodeLens, showing the author and date of the most recent commit for the file or code block
gitlens.codeLens.scopes Specifies where Git CodeLens will be shown in the document

document – adds CodeLens at the top of the document
containers – adds CodeLens at the start of container-like symbols (modules, classes, interfaces, etc)
blocks – adds CodeLens at the start of block-like symbols (functions, methods, etc) lines

gitlens.codeLens.symbolScopes Specifies a set of document symbols where Git CodeLens will or will not be shown in the document. Prefix with ! to avoid providing a Git CodeLens for the symbol. Must be a member of SymbolKind

Status Bar Settings

Name Description
gitlens.statusBar.alignment Specifies the blame alignment in the status bar

left – aligns to the left
right – aligns 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.toggleFileHeatmap – toggles file heatmap
gitlens.toggleFileChanges – toggles file changes since before the commit
gitlens.toggleFileChangesOnly – toggles file changes from the commit
gitlens.diffWithPrevious – opens changes with the previous revision
gitlens.revealCommitInView – reveals the commit in the Side Bar
gitlens.showCommitsInView – searches for commits within the range
gitlens.showQuickCommitDetails – shows details of the commit
gitlens.showQuickCommitFileDetails – show file details of the commit
gitlens.showQuickFileHistory – shows the current file history
gitlens.showQuickRepoHistory – shows the current branch history
gitlens.openCommitOnRemote – opens the commit on the remote service (when available)
gitlens.copyRemoteCommitUrl – copies the remote commit url to the clipboard (when available)
gitlens.openFileOnRemote – opens the file revision on the remote service (when available)
gitlens.copyRemoteFileUrl – copies the remote file url to the clipboard (when available)

gitlens.statusBar.dateFormat Specifies how to format absolute dates (e.g. using the ${date} token) in the blame information in the status bar. See the Moment.js docs for valid formats
gitlens.statusBar.enabled Specifies whether to provide blame information in the status bar
gitlens.statusBar.format Specifies the format of the blame information in the status bar. See Commit Tokens in the GitLens docs. Date formatting is controlled by the gitlens.statusBar.dateFormat setting
gitlens.statusBar.pullRequests.enabled Specifies whether to provide information about the Pull Request (if any) that introduced the commit in the status bar. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.statusBar.reduceFlicker Specifies whether to avoid clearing the previous blame information when changing lines to reduce status bar “flashing”
gitlens.statusBar.tooltipFormat Specifies the format (in markdown) of hover shown over the blame information in the status bar. See Commit Tokens in the GitLens docs

Hover Settings

Name Description
gitlens.hovers.annotations.changes Specifies whether to provide a changes (diff) hover for all lines when showing blame annotations
gitlens.hovers.annotations.details Specifies whether to provide a commit details hover for all lines when showing blame annotations
gitlens.hovers.annotations.enabled Specifies whether to provide any hovers when showing blame annotations
gitlens.hovers.annotations.over Specifies when to trigger hovers when showing blame annotations

annotation – only shown when hovering over the line annotation
line – shown when hovering anywhere over the line

gitlens.hovers.avatars Specifies whether to show avatar images in hovers
gitlens.hovers.avatarSize Specifies the size of the avatar images in hovers
gitlens.hovers.changesDiff Specifies whether to show just the changes to the line or the set of related changes in the changes (diff) hover

line – Shows only the changes to the line
hunk – Shows the set of related changes

gitlens.hovers.currentLine.changes Specifies whether to provide a changes (diff) hover for the current line
gitlens.hovers.currentLine.details Specifies whether to provide a commit details hover for the current line
gitlens.hovers.currentLine.enabled Specifies whether to provide any hovers for the current line
gitlens.hovers.currentLine.over Specifies when to trigger hovers for the current line

annotation – only shown when hovering over the line annotation
line – shown when hovering anywhere over the line

gitlens.hovers.detailsMarkdownFormat Specifies the format (in markdown) of the commit details hover. See Commit Tokens in the GitLens docs
gitlens.hovers.enabled Specifies whether to provide any hovers
gitlens.hovers.autolinks.enabled Specifies whether to automatically link external resources in commit messages
gitlens.hovers.autolinks.enhanced Specifies whether to lookup additional details about automatically link external resources in commit messages. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.hovers.pullRequests.enabled Specifies whether to provide information about the Pull Request (if any) that introduced the commit in the hovers. Requires a connection to a supported remote service (e.g. GitHub)

View Settings

Name Description
gitlens.views.defaultItemLimit Specifies the default number of items to show in a view list. Use 0 to specify no limit
gitlens.views.formats.commits.label Specifies the format of commits in the views. See Commit Tokens in the GitLens docs
gitlens.views.formats.commits.description Specifies the description format of commits in the views. See Commit Tokens in the GitLens docs
gitlens.views.formats.files.label Specifies the format of a file in the views. See File Tokens in the GitLens docs
gitlens.views.formats.files.description Specifies the description format of a file in the views. See File Tokens in the GitLens docs
gitlens.views.formats.stashes.label Specifies the format of stashes in the views. See Commit Tokens in the GitLens docs
gitlens.views.formats.stashes.description Specifies the description format of stashes in the views. See Commit Tokens in the GitLens docs
gitlens.views.formats.stashes.tooltip Specifies the tooltip format of the stashes in GitLens views
gitlens.views.pageItemLimit Specifies the number of items to show in a each page when paginating a view list. Use 0 to specify no limit
gitlens.views.showRelativeDateMarkers Specifies whether to show relative date markers (Less than a week ago, Over a week ago, Over a month ago, etc) on revision (commit) histories in the views
gitlens.views.commits.files.icon Specifies how the Commits view will display file icons
gitlens.views.repositories.files.icon Specifies how the Repositories view will display file icons
gitlens.views.branches.files.icon Specifies how the Branches view will display file icons
gitlens.views.formats.files.label Specifies how the Remotes view will display file icons
gitlens.views.stashes.files.icon Specifies how the Stashes view will display file icons
gitlens.views.tags.files.icon Specifies how the Tags view will display file icons
gitlens.views.worktrees.files.icon Specifies how the Worktrees view will display file icons
gitlens.views.contributors.files.icon Specifies how the Contributors view will display file icons
gitlens.views.searchAndCompare.files.icon Specifies how the Search & Compare view will display file icons
gitlens.views.collapseWorktreesWhenPossible Specifies whether to try to collapse the opened worktrees into a single (common) repository in the views when possible
Gitlens.views.showCurrentBranchOnTo Specifies whether the current branch is shown at the top of the views
gitlens.views.scm.grouped.default Specifies the default view to show in the grouped GitLens view on new workspaces/folders (otherwise the last selected view is remembered)
gitlens.views.scm.grouped.views Specifies which views to show in the grouped GitLens view

Commits View Settings

See also View Settings

Name Description
gitlens.views.commits.avatars Specifies whether to show avatar images instead of commit (or status) icons in the Commits view
gitlens.views.commits.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Commits view.
Only applies when gitlens.views.commits.files.layout is set to tree or auto
gitlens.views.commits.files.layout Specifies how the Commits view will display files

auto – automatically switches between displaying files as a tree or list based on the gitlens.views.commits.files.threshold value and the number of files at each nesting level
list – displays files as a list
tree – displays files as a tree

gitlens.views.commits.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 Commits view
Only applies when gitlens.views.commits.files.layout is set to auto
gitlens.views.commits.pullRequests.enabled Specifies whether to query for pull requests associated with the current branch and commits in the Commits view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.commits.pullRequests.showForBranches Specifies whether to query for pull requests associated with the current branch and commits in the Commits view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.commits.pullRequests.showForCommits Specifies whether to show pull requests (if any) associated with the current branch in the Commits view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.commits.reveal Specifies whether to reveal commits in the Commits view, otherwise they will be revealed in the Repositories view
gitlens.views.commits.showBranchComparison Specifies whether to show a comparison of the current branch or the working tree with a user-selected reference (branch, tag. etc) in the Commits view

false – hides the branch comparison
branch – compares the current branch with a user-selected reference
working – compares the working tree with a user-selected reference


Repositories View Settings

See also View Settings

Name Description
gitlens.views.repositories.avatars Specifies whether to show avatar images instead of commit (or status) icons in the Repositories view
gitlens.views.repositories.autoRefresh Specifies whether to automatically refresh the Repositories view when the repository or the file system changes
gitlens.views.repositories.autoReveal Specifies whether to automatically reveal repositories in the Repositories view when opening files
gitlens.views.repositories.branches.layout Specifies how the Repositories view will display branches

list – displays branches as a list
tree – displays branches as a tree when branch names contain slashes /

gitlens.views.repositories.branches.showBranchComparison Specifies whether to show a comparison of the branch with a user-selected reference (branch, tag. etc) under each branch in the Repositories view view
gitlens.views.repositories.compact Specifies whether to show the Repositories view in a compact display density
gitlens.views.repositories.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Repositories view. Only applies when gitlens.views.repositories.files.layout is set to tree or auto
gitlens.views.repositories.files.layout Specifies how the Repositories view will display files

auto – automatically switches between displaying files as a tree or list based on the gitlens.views.repositories.files.threshold value and the number of files at each nesting level
list – displays files as a list
tree – displays files as a tree

gitlens.views.repositories.files.threshold Specifies when to switch between displaying files as a tree or list based on the number of files in a nesting level in the Repositories view. Only applies when gitlens.views.repositories.files.layout is set to auto
gitlens.views.repositories.includeWorkingTree Specifies whether to include working tree file status for each repository in the Repositories view
gitlens.views.repositories.showBranchComparison Specifies whether to show a comparison of a user-selected reference (branch, tag. etc) to the current branch or the working tree in the Repositories view
gitlens.views.repositories.showBranches Specifies whether to show the branches for each repository in the Repositories view
itlens.views.repositories.showCommits Specifies whether to show the commits on the current branch for each repository in the Repositories view
gitlens.views.repositories.showContributors Specifies whether to show the contributors for each repository in the Repositories view
gitlens.views.repositories.showIncomingActivity Specifies whether to show the experimental incoming activity for each repository in the Repositories view
gitlens.views.repositories.showRemotes Specifies whether to show the remotes for each repository in the Repositories view
gitlens.views.repositories.showStashes Specifies whether to show the stashes for each repository in the Repositories view
gitlens.views.repositories.showTags Specifies whether to show the tags for each repository in the Repositories view
gitlens.views.repositories.showUpstreamStatus Specifies whether to show the upstream status of the current branch for each repository in the Repositories view

File History View Settings

See also View Settings

Name Description
gitlens.views.fileHistory.avatars Specifies whether to show avatar images instead of status icons in the File History view
gitlens.advanced.fileHistoryShowMergeCommits Specifies whether to show or hide merge commits in file histories

Line History View Settings

See also View Settings

Name Description
gitlens.views.lineHistory.avatars Specifies whether to show avatar images instead of status icons in the Line History view

Branch View Settings

See also View Settings

Name Description
gitlens.views.branches.avatars Specifies whether to show avatar images instead of commit (or status) icons in the Branches view
gitlens.views.branches.branches.layout Specifies how the Branches view will display branches

list – displays branches as a list
tree – displays branches as a tree

gitlens.views.branches.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Branches view.
Only applies when gitlens.views.commits.files.layout is set to tree or auto
gitlens.views.branches.files.layout Specifies how the Branches view will display files

auto – automatically switches between displaying files as a tree or list based on the gitlens.views.commits.files.threshold value and the number of files at each nesting level
list – displays files as a list
tree – displays files as a tree

gitlens.views.branches.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 Branches view
Only applies when gitlens.views.commits.files.layout is set to auto
gitlens.views.branches.pullRequests.enabled Specifies whether to query for pull requests associated with the current branch and commits in the Branches view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.branches.pullRequests.showForBranches Specifies whether to query for pull requests associated with the current branch and commits in the Branches view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.branches.pullRequests.showForCommits Specifies whether to show pull requests (if any) associated with the current branch in the Branches view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.branches.reveal Specifies whether to reveal branches in the Branches view, otherwise they will be revealed in the Repositories view
gitlens.views.branches.showBranchComparison Specifies whether to show a comparison of the branch with a user-selected reference (branch, tag. etc) in the Branches view

false – hides the branch comparison
branch – compares the current branch with a user-selected reference


Remotes View Settings

See also View Settings

Name Description
gitlens.views.remotes.avatars Specifies whether to show avatar images instead of commit (or status) icons in the Remotes view
gitlens.views.remotes.branches.layout Specifies how the Remotes view will display branches

list – displays branches as a list
tree – displays branches as a tree

gitlens.views.remotes.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Remotes view.
Only applies when gitlens.views.commits.files.layout is set to tree or auto
gitlens.views.remotes.files.layout Specifies how the Remotes view will display files

auto – automatically switches between displaying files as a tree or list based on the gitlens.views.commits.files.threshold value and the number of files at each nesting level
list – displays files as a list
tree – displays files as a tree

gitlens.views.remotes.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 Remotes view
Only applies when gitlens.views.commits.files.layout is set to auto
gitlens.views.remotes.pullRequests.enabled Specifies whether to query for pull requests associated with the current branch and commits in the Remotes view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.remotes.pullRequests.showForBranches Specifies whether to query for pull requests associated with the current branch and commits in the Remotes view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.remotes.pullRequests.showForCommits Specifies whether to show pull requests (if any) associated with the current branch in the Remotes view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.remotes.reveal Specifies whether to reveal remotes in the Remotes view, otherwise they will be revealed in the Repositories view
gitlens.views.remotes.showBranchComparison Specifies whether to show a comparison of the branch with a user-selected reference (branch, tag. etc) in the Remotes view

false – hides the branch comparison
branch – compares the current branch with a user-selected reference


Stashes View Settings

See also View Settings

Name Description
gitlens.views.stashes.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Stashes view.
Only applies when gitlens.views.commits.files.layout is set to tree or auto
gitlens.views.stashes.files.layout Specifies how the Stashes view will display files

auto – automatically switches between displaying files as a tree or list based on the gitlens.views.commits.files.threshold value and the number of files at each nesting level
list – displays files as a list
tree – displays files as a tree

gitlens.views.stashes.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 Stashes view
Only applies when gitlens.views.commits.files.layout is set to auto
gitlens.views.stashes.reveal Specifies whether to reveal stashes in the Stashes view, otherwise they will be revealed in the Repositories view

Tags View Settings

See also View Settings

Name Description
gitlens.views.tags.avatars Specifies whether to show avatar images instead of commit (or status) icons in the Tags view
gitlens.views.tags.branches.layout Specifies how the Tags view will display tags

list – displays tags as a list
tree – displays tags as a tree

gitlens.views.tags.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Tags view.
Only applies when gitlens.views.commits.files.layout is set to tree or auto
gitlens.views.tags.files.layout Specifies how the Tags view will display files

auto – automatically switches between displaying files as a tree or list based on the gitlens.views.commits.files.threshold value and the number of files at each nesting level
list – displays files as a list
tree – displays files as a tree

gitlens.views.tags.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 Tags view
Only applies when gitlens.views.commits.files.layout is set to auto
gitlens.views.tags.reveal Specifies whether to reveal tags in the Tags view, otherwise they will be revealed in the Repositories view

Worktrees View Settings

See also View Settings

Name Description
gitlens.views.worktrees.avatars Specifies whether to show avatar images instead of commit (or status) icons in the Worktrees view
gitlens.views.worktrees.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Worktrees view.
Only applies when gitlens.views.commits.files.layout is set to tree or auto
gitlens.views.worktrees.files.layout Specifies how the Worktrees view will display files

`auto` – automatically switches between displaying files as a tree or list based on the gitlens.views.commits.files.threshold value and the number of files at each nesting level
`list` – displays files as a list
`tree` – displays files as a tree

gitlens.views.worktrees.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 Worktrees view
Only applies when gitlens.views.commits.files.layout is set to auto
gitlens.views.worktrees.pullRequests.enabled Specifies whether to query for pull requests associated with the worktree branch and commits in the Worktrees view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.worktrees.pullRequests.showForBranches Specifies whether to query for pull requests associated with the worktree branch in the Worktrees view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.worktrees.pullRequests.showForCommits Specifies whether to show pull requests (if any) associated with commits in the Worktrees view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.worktrees.reveal Specifies whether to reveal worktrees in the Worktrees view, otherwise they will be revealed in the Repositories view
gitlens.views.worktrees.showBranchComparison Specifies whether to show a comparison of the worktree branch with a user-selected reference (branch, tag. etc) in the Worktrees view

false – hides the branch comparison
branch – compares the current branch with a user-selected reference


Contributors View Settings

See also View Settings

Name Description
gitlens.views.contributors.avatars Specifies whether to show avatar images instead of commit (or status) icons in the Contributors view
gitlens.views.contributors.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Contributors view.
Only applies when gitlens.views.commits.files.layout is set to tree or auto
gitlens.views.contributors.files.layout Specifies how the Contributors view will display files

auto – automatically switches between displaying files as a tree or list based on the gitlens.views.commits.files.threshold value and the number of files at each nesting level
list – displays files as a list
tree – displays files as a tree

gitlens.views.contributors.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 Contributors view
Only applies when gitlens.views.commits.files.layout is set to auto
gitlens.views.contributors.pullRequests.enabled Specifies whether to query for pull requests associated with the current branch and commits in the Contributors view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.contributors.pullRequests.showForCommits Specifies whether to show pull requests (if any) associated with the current branch in the Contributors view. Requires a connection to a supported remote service (e.g. GitHub)
gitlens.views.contributors.showAllBranches Specifies whether to show commits from all branches in the Contributors view
gitlens.views.contributors.showStatistics Specifies whether to show contributor statistics in the Contributors view. This can take a while to compute depending on the repository size

Search & Compare View Settings

See also View Settings

Name Description
gitlens.views.compare.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 Search Commits view
Only applies when gitlens.views.compare.files.layout is set to auto
gitlens.views.compare.avatars Specifies whether to show avatar images instead of commit (or status) icons in the Compare view
gitlens.views.compare.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Compare view. Only applies when gitlens.views.compare.files.layout is set to tree or auto
gitlens.views.compare.files.layout Specifies how the Compare view will display files

auto – automatically switches between displaying files as a tree or list based on the gitlens.views.compare.files.threshold value and the number of files at each nesting level
list – displays files as a list
tree – displays files as a tree

gitlens.views.compare.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 Compare view. Only applies when gitlens.views.compare.files.layout is set to auto
gitlens.views.search.avatars Specifies whether to show avatar images instead of commit (or status) icons in the Search Commits view
gitlens.views.search.files.compact Specifies whether to compact (flatten) unnecessary file nesting in the Search Commits view
Only applies when gitlens.views.compare.files.layout is set to tree or auto
gitlens.views.search.files.layout Specifies how the Search Commits view will display files
auto – automatically switches between displaying files as a tree or list based on the gitlens.views.compare.files.threshold value and the number of files at each nesting level
list – displays files as a list
tree – displays files as a tree

File Blame Settings

Name Description
gitlens.blame.avatars Specifies whether to show avatar images in the file blame annotations
gitlens.blame.compact Specifies whether to compact (deduplicate) matching adjacent file blame annotations
gitlens.blame.dateFormat Specifies how to format absolute dates (e.g. using the ${date} token) in file blame annotations. See the Moment.js docs for valid formats
gitlens.blame.format Specifies the format of the file blame annotations. See Commit Tokens in the GitLens docs. Date formatting is controlled by the gitlens.blame.dateFormat setting
gitlens.blame.heatmap.enabled Specifies whether to provide a heatmap indicator in the file blame annotations
gitlens.blame.heatmap.location Specifies where the heatmap indicators will be shown in the file blame annotations

left – adds a heatmap indicator on the left edge of the file blame annotations
right – adds a heatmap indicator on the right edge of the file blame annotations

gitlens.blame.highlight.enabled Specifies whether to highlight lines associated with the current line
gitlens.blame.highlight.locations Specifies where the associated line highlights will be shown

file – adds a file indicator
line – adds a full-line highlight background color
overview – adds a decoration to the overview ruler (scroll bar)

gitlens.blame.ignoreWhitespace Specifies whether to ignore whitespace when comparing revisions during blame operations
gitlens.blame.separateLines Specifies whether file blame annotations will have line separators
gitlens.blame.toggleMode Specifies how the file blame annotations will be toggled

file – toggles each file individually
window – toggles the window, i.e. all files at once

gitlens.blame.fontFamily Specifies the font family of the File Blame annotations
gitlens.blame.fontSize Specifies the font size of the File Blame annotations
gitlens.blame.fontWeight Specifies the font weight of the File Blame annotations
gitlens.blame.fontStyle Specifies the font style of the File Blame annotations

File Changes Settings

Name Description
gitlens.changes.locations Specifies where the indicators of the file changes annotations will be shown

gutter – adds a file indicator
overview – adds a decoration to the overview ruler (scroll bar)

gitlens.changes.toggleMode Specifies how the file changes annotations will be toggled

file – toggles each file individually
window – toggles the window, i.e. all files at once


File Heatmap Settings

Name Description
gitlens.heatmap.ageThreshold Specifies the age of the most recent change (in days) after which the file heatmap annotations will be cold rather than hot (i.e. will use gitlens.heatmap.coldColor instead of gitlens.heatmap.hotColor)
gitlens.heatmap.coldColor Specifies the base color of the file heatmap annotations when the most recent change is older (cold) than the gitlens.heatmap.ageThreshold value
gitlens.heatmap.hotColor Specifies the base color of the file heatmap annotations when the most recent change is newer (hot) than the gitlens.heatmap.ageThreshold value
gitlens.heatmap.locations Specifies where the indicators of the file heatmap annotations will be shown

gutter – adds a file indicator
overview – adds a decoration to the overview ruler (scroll bar)

gitlens.heatmap.toggleMode Specifies how the file heatmap annotations will be toggled

file – toggles each file individually
window – toggles the window, i.e. all files at once


Git Command Palette Settings

Name Description
gitlens.gitCommands.closeOnFocusOut Specifies whether to dismiss the Git Commands Palette when focus is lost (if not, press ESC to dismiss)
gitlens.gitCommands.search.matchAll Specifies whether to match all or any commit message search patterns
gitlens.gitCommands.search.matchCase Specifies whether to match commit search patterns with or without regard to casing
gitlens.gitCommands.search.matchRegex Specifies whether to match commit search patterns using regular expressions
gitlens.gitCommands.search.showResultsInSideBar Specifies whether to show the commit search results directly in the quick pick menu, in the Side Bar, or will be based on the context
gitlens.gitCommands.skipConfirmations Specifies which (and when) Git commands will skip the confirmation step, using the format: git-command-name:(menu/command)
gitlens.gitCommands.sortBy Specifies how Git commands are sorted in the Git Command Palette

name – sorts commands by name
usage – sorts commands by last used date


Terminal Links Settings

Name Description
gitlens.terminalLinks.enabled Specifies whether to enable terminal links — autolinks in the integrated terminal to quickly jump to more details for commits, branches, tags, and more

Remote Provider Integration Settings

Name Description
gitlens.integrations.enabled Specifies whether to enable rich integrations with any supported remote services
gitlens.remotes Specifies custom remote services to be matched with Git remotes to detect custom domains for built-in remote services or provide support for custom remote services

Supported Types (e.g. "type": "GitHub"):

  • “GitHub”
  • “GitLab”
  • “Gerrit”
  • “GoogleSource”
  • “Gitea”
  • “AzureDevOps”
  • “Bitbucket”
  • “BitbucketServer”
  • “Custom”

Example:
"gitlens.remotes": [{ "domain": "git.corporate-url.com", "type": "GitHub" }]

Example:
"gitlens.remotes": [{ "regex": "ssh://(my.company.com):1234/git/(.+)", "type": "GitHub" }]

Example:
"gitlens.remotes": [{
"domain": "git.corporate-url.com",
"type": "Custom",
"name": "My Company",
"protocol": "https",
"urls": {
"repository": "https://git.corporate-url.com/${repo}",
"branches": "https://git.corporate-url.com/${repo}/branches",
"branch": "https://git.corporate-url.com/${repo}/commits/${branch}",
"commit": "https://git.corporate-url.com/${repo}/commit/${id}",
"file": "https://git.corporate-url.com/${repo}?path=${file}${line}",
"fileInBranch": "https://git.corporate-url.com/${repo}/blob/${branch}/${file}${line}",
"fileInCommit": "https://git.corporate-url.com/${repo}/blob/${id}/${file}${line}",
"fileLine": "#L${line}",
"fileRange": "#L${start}-L${end}"
}
}]

Example:
"gitlens.remotes": [{
"regex": "ssh:\/\/(my\.company\.com):1234\/git\/(.+)",
"type": "Custom",
"name": "My Company",
"protocol": "https",
"urls": {
"repository": "https://my.company.com/projects/${repoBase}/repos/${repoPath}",
"branches": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/branches",
"branch": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/commits/${branch}",
"commit": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/commit/${id}",
"file": "https://my.company.com/projects/${repoBase}/repos/${repoPath}?path=${file}${line}",
"fileInBranch": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/blob/${branch}/${file}${line}",
"fileInCommit": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/blob/${id}/${file}${line}",
"fileLine": "#L${line}",
"fileRange": "#L${start}-L${end}"
}
}]


Date & Time Settings

Name Description
gitlens.defaultDateFormat Specifies how absolute dates will be formatted by default. See the Moment.js docs for valid formats
gitlens.defaultDateLocale Specifies the locale, a [BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag#List_of_major_primary_language_subtags), to use for date formatting, defaults to the VS Code locale. Use system to follow the current system locale, or choose a specific locale, e.g en-US — US English, en-GB — British English, de-DE — German, ja-JP – Japanese, etc.
gitlens.defaultDateShortFormat Specifies how short absolute dates will be formatted by default. See the Moment.js docs for valid formats
gitlens.defaultDateSource Specifies whether commit dates should use the authored or committed date
gitlens.defaultDateStyle Specifies how dates will be displayed by default
gitlens.defaultTimeFormat Specifies how times will be formatted by default. See the Moment.js docs for valid formats

Menu & Toolbar Settings

Name Description
gitlens.menus Specifies which commands will be added to which menus
gitlens.fileAnnotations.command Specifies whether the file annotations button in the editor title shows a menu or immediately toggles the specified file annotations
null (default) – shows a menu to choose which file annotations to toggle
blame – toggles file blame annotations
heatmap – toggles file heatmap annotations
changes – toggles file changes annotations

Keyboard Shortcut Settings

Name Description
gitlens.keymap Specifies the keymap to use for GitLens shortcut keys

alternate – adds an alternate set of shortcut keys that start with Alt (⌥ on macOS)
chorded – adds a chorded set of shortcut keys that start with Ctrl+Shift+G (⌥⌘G on macOS)
none – no shortcut keys will be added

gitlens.fileAnnotations.dismissOnEscape Specifies whether pressing the ESC key dismisses the active file annotations

Modes Settings

Name Description
gitlens.mode.active Specifies the active GitLens mode, if any
gitlens.mode.statusBar.enabled Specifies whether to provide the active GitLens mode in the status bar
gitlens.mode.statusBar.alignment Specifies the active GitLens mode alignment in the status bar

left – aligns to the left
right – aligns to the right

gitlens.modes Specifies the user-defined GitLens modes

Example — adds heatmap annotations to the Reviewing mode
"gitlens.modes": { "review": { "annotations": "heatmap" } }

Example — adds a new Annotating mode with blame annotations
"gitlens.modes": {
"annotate": {
"name": "Annotating",
"statusBarItemName": "Annotating",
"description": "for root cause analysis",
"annotations": "blame",
"codeLens": false,
"currentLine": false,
"hovers": true
}
}


Autolink Settings

Name Description
gitlens.autolinks Specifies autolinks to external resources in commit messages. Use <num> as the variable for the reference number

Example to autolink Jira issues: (e.g. JIRA-123 ⟶ https://jira.company.com/issue?query=123)
"gitlens.autolinks": [{ "prefix": "JIRA-", "url": "https://jira.company.com/issue?query=<num>" }]


AI Settings – Preview

Name Description
gitlens.ai.experimental.model Specifies the AI model to use. The supported models are:
vscode
openai:gpt-4
openai:gpt-4o
xai:grok-beta
openai:gpt-4-32k
anthropic:claude-2
openai:gpt-4-turbo
openai:gpt-4o-mini
anthropic:claude-2.1
openai:gpt-3.5-turbo
google:gemini-1.0-pro
openai:gpt-3.5-turbo-16k
anthropic:claude-instant-1
openai:gpt-4-turbo-preview
google:gemini-1.5-pro-latest
anthropic:claude-3-opus-latest
google:gemini-1.5-flash-latest
anthropic:claude-3-opus-20240229
anthropic:claude-3-haiku-20240307
anthropic:claude-3-5-sonnet-latest
anthropic:claude-3-sonnet-20240229
anthropic:claude-3-5-sonnet-20240620
anthropic:claude-3-5-sonnet-20241022
gitlens.ai.experimental.vscode.model Specifies the VS Code extension-provided AI model to use when gitlens.ai.experimental.model is set to vscode
gitlens.ai.experimental.generateCommitMessage.enabled Specifies whether to enable GitLens’ experimental, AI-powered, on-demand commit message generation
gitlens.ai.experimental.openai.url Specifies a custom URL to use for access to an OpenAI model via Azure. Azure URLs should be in the following format: https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}
gitlens.experimental.generateCommitMessagePrompt Specifies the prompt to use to tell the AI provider how to structure or format the generated commit message — can have fun with it and make your commit messages in the style of a pirate, etc

Misc Settings

Name Description
gitlens.defaultGravatarsStyle Specifies the style of the gravatar default (fallback) images

identicon – a geometric pattern
mp – a simple, cartoon-style silhouetted outline of a person (does not vary by email hash)
monsterid – a monster with different colors, faces, etc
retro – 8-bit arcade-style pixelated faces
robohash – a robot with different colors, faces, etc
wavatar – a face with differing features and backgrounds

gitlens.liveshare.allowGuestAccess Specifies whether to allow guest access to GitLens features when using Visual Studio Live Share
gitlens.outputLevel Specifies how much (if any) output will be sent to the GitLens output channel
gitlens.showWelcomeOnInstall Specifies whether to show the Welcome (Quick Setup) experience on first install
gitlens.showWhatsNewAfterUpgrades Specifies whether to show the What’s New notification after upgrading to new feature releases
gitlens.sortBranchesBy Specifies how branches are sorted in quick pick menus and views
gitlens.sortContributorsBy Specifies how contributors are sorted in quick pick menus and views
gitlens.sortTagsBy Specifies how tags are sorted in quick pick menus and views
gitlens.sortRepositoriesBy Specifies how repositories are sorted in quick pick menus and views
gitlens.advanced.abbreviatedShaLength Specifies the length of abbreviated commit SHAs (shas)
gitlens.advanced.abbreviateShaOnCopy Specifies whether to copy full or abbreviated commit SHAs to the clipboard. Abbreviates to the length of gitlens.advanced.abbreviatedShaLength
gitlens.advanced.blame.customArguments Specifies additional arguments to pass to the git blame command
gitlens.fileAnnotations.preserveWhileEditing Specifies whether file annotations are allowed on files with unsaved changes (dirty). Use the gitlens.advanced.blame.delayAfterEdit setting to control how long to wait (defaults to 5s) before the annotation will update while the file is still dirty, which only applies if the file is under the gitlens.advanced.sizeThresholdAfterEdit setting threshold (defaults to 5000 lines)
gitlens.advanced.blame.delayAfterEdit Specifies the time (in milliseconds) to wait before re-blaming an unsaved document after an edit. Use 0 to specify an infinite wait
gitlens.advanced.blame.sizeThresholdAfterEdit Specifies the maximum document size (in lines) allowed to be re-blamed after an edit while still unsaved. Use 0 to specify no maximum
gitlens.advanced.caching.enabled Specifies whether git output will be cached — changing the default is not recommended
gitlens.advanced.commitOrdering Specifies the order by which commits will be shown. If unspecified, commits will be shown in reverse chronological order

date – shows commits in reverse chronological order of the commit timestamp
author-date – shows commits in reverse chronological order of the author timestamp
topo – shows commits in reverse chronological order of the commit timestamp, but avoids intermixing multiple lines of history

gitlens.advanced.externalDiffTool Specifies an optional external diff tool to use when comparing files. Must be a configured Git difftool.
gitlens.advanced.externalDirectoryDiffTool Specifies an optional external diff tool to use when comparing directories. Must be a configured Git difftool.
gitlens.advanced.fileHistoryFollowsRenames Specifies whether file histories will follow renames — will affect how merge commits are shown in histories
gitlens.advanced.fileHistoryShowAllBranches Specifies whether file histories will show commits from all branches
gitlens.advanced.maxListItems Specifies the maximum number of items to show in a list. Use 0 to specify no maximum
gitlens.advanced.maxSearchItems Specifies the maximum number of items to show in a search. Use 0 to specify no maximum
gitlens.advanced.messages Specifies which messages should be suppressed
gitlens.advanced.quickPick.closeOnFocusOut Specifies whether to dismiss quick pick menus when focus is lost (if not, press ESC to dismiss)
gitlens.advanced.repositorySearchDepth Specifies how many folders deep to search for repositories
gitlens.advanced.similarityThreshold Specifies the amount (percent) of similarity a deleted and added file pair must have to be considered a rename
gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors Specifies the string to be shown in place of both the recent change and authors CodeLens when there are unsaved changes
gitlens.strings.codeLens.unsavedChanges.recentChangeOnly Specifies the string to be shown in place of the recent change CodeLens when there are unsaved changes
gitlens.strings.codeLens.unsavedChanges.authorsOnly Specifies the string to be shown in place of the authors CodeLens when there are unsaved changes
gitlens.worktrees.defaultLocation ${userHome} — the path of the user’s home folder
${workspaceFolder} — the path of the folder opened in VS Code containing the specified repository
${workspaceFolderBasename} — the name of the folder opened in VS Code containing the specified repository without any slashes (/)
gitlens.visualHistory.allowMultiple Specifies whether to allow opening multiple instances of the Visual File History in the editor area
gitlens.liveshare.enabled Specifies whether to enable integration with Visual Studio Live Share
multiDiffEditor.experimental.enabled Specifies whether to enable VS Code’s new multi-diff editor. Requires VS Code 1.85+
gitlens.views.openChangesInMultiDiffEditor Specifies whether to open multiple changes in VS Code’s experimental multi-diff editor (single tab) or in individual diff editors (multiple tabs). multiDiffEditor.experimental.enabled must also be enabled in order to use the multi-diff editor. Requires VS Code 1.85+
gitlens.experimental.cloudIntegrations.enabled Specifies to connect GitHub integration using cloud integration of GitKraken account

Themable Colors

GitLens defines a set of themable colors which can be provided by vscode themes or directly by the user using workbench.colorCustomizations.

Name Description
gitlens.gutterBackgroundColor Specifies the background color of the file blame annotations
gitlens.gutterForegroundColor Specifies the foreground color of the file blame annotations
gitlens.gutterUncommittedForegroundColor Specifies the foreground color of an uncommitted line in the file blame annotations
gitlens.trailingLineBackgroundColor Specifies the background color of the trailing blame annotation
gitlens.trailingLineForegroundColor Specifies the foreground color of the trailing blame annotation
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
gitlens.focus.allowMultiple Specifies whether to allow opening multiple instances of the Focus in the editor area

Commit Graph Settings

Name Description
gitlens.graph.showUpstreamStatus Toggle the upstream (ahead/behind) indicators on branches
gitlens.graph.pullRequests Toggle pull request icons
gitlens.graph.dimMergeCommits Specifies whether to dim (deemphasize) merge commit rows
gitlens.graph.scrollRowPadding Specifies the number of rows from the edge at which the graph will scroll when using keyboard or search to change the selected row
gitlens.graph.experimental.location Specifies the location in which the Commit Graph will be shown

tab – Shows the Commit Graph in a tab in the editor area

view – Shows the Commit Graph in the side bar and can be dragged and dropped into any side bar, secondary side bar, or panel locations

gitlens.graph.layout Specifies the default layout in which the Commit Graph will be shown. Can be `panel` (default) or `editor`. This is honored when opening the commit graph from the command palette.
gitlens.graph.allowMultiple Specifies whether to allow opening multiple instances of the Commit Graph in the editor area
gitlens.graph.sidebar.enabled Specifies whether to show a sidebar on the Commit Graph

Cloud Patches (Preview) Settings

Name Description
gitlens.cloudPatches.enabled Specifies whether to enable Cloud Patches (defaults to true)

Launchpad Settings

Name Description
gitlens.launchpad.ignoredRepositories Specifies an array of repositories with owner/name format to ignore in the Launchpad
gitlens.launchpad.ignoredOrganizations Specifies an array of organizations (or users) to ignore in the Launchpad
gitlens.launchpad.staleThreshold Specifies a value in days after which a pull request is considered stale and moved to the Other category
gitlens.launchpad.indicator.enabled Specifies whether to show the Launchpad indicator in the status bar
gitlens.launchpad.indicator.icon Specifies the style of the Launchpad indicator icon
gitlens.launchpad.indicator.label Specifies the style of the Launchpad indicator label
gitlens.launchpad.indicator.groups Specifies which critical categories of pull requests to summarize in the indicator tooltip
gitlens.launchpad.indicator.useColors Specifies whether to use colors in the indicator
gitlens.launchpad.indicator.openInEditor Specifies whether to open the Launchpad in the editor when clicked
gitlens.launchpad.indicator.polling.enabled Specifies whether to regularly check for changes to pull requests
gitlens.launchpad.indicator.polling.interval Specifies the interval in minutes to check for changes to pull requests
gitlens.views.launchpad.enabled (Experimental) Specifies whether to enable an experimental Launchpad view
gitlens.launchpad.includedOrganizations Specifies which organizations to include in Launchpad
Have feedback about this article? Did we miss something? Let us know!
On this page