GitLens Documentation

GitLens Settings Overview

Last updated: July 2025

Overview

GitLens settings editor UI in Visual Studio Code
GitLens interactive settings editor in VS Code

GitLens offers a powerful and easy-to-use interactive settings editor that helps you configure many features directly in Visual Studio Code.

To open the editor, run the GitLens: Open Settings command (gitlens.showSettingsPage) from the Command Palette.

GitLens is highly customizable—nearly every feature can be tailored to fit your workflow using the available settings.

Current Line Blame Settings

Use these settings to customize how GitLens displays blame annotations for the current line of code. These annotations help identify the last commit that modified a line, along with contextual details like date, author, and related pull requests.

Name Description
gitlens.currentLine.dateFormat Defines how absolute dates appear in current line blame annotations using the ${date} token. Refer to the Moment.js format guide.
gitlens.currentLine.enabled Enables or disables current line blame annotations by default. Toggle annotations in any window with the Toggle Line Blame Annotations command (gitlens.toggleLineBlame).
gitlens.currentLine.format Sets the display format for the annotation. See Commit Tokens for supported placeholders. Date format is managed by gitlens.currentLine.dateFormat.
gitlens.currentLine.pullRequests.enabled Shows pull request info (if available) for the commit in the current line annotation. Requires a connected remote provider like GitHub.
gitlens.currentLine.scrollable Determines if annotations can scroll into view when off-screen. Note: Setting this to false disables hover tooltips unless gitlens.hovers.currentLine.over is set to line.
gitlens.currentLine.uncommittedChangesFormat Customizes annotation format for uncommitted changes. An empty string disables annotations for these changes.
gitlens.currentLine.fontFamily Sets the font family for inline blame annotations.
gitlens.currentLine.fontSize Sets the font size for inline blame annotations.
gitlens.currentLine.fontStyle Sets the font style for inline blame annotations.
gitlens.currentLine.fontWeight Sets the font weight for inline blame annotations.

Git CodeLens Settings

These settings control GitLens CodeLens overlays, which provide inline contextual information such as author and commit history directly in your code.

Name Description
gitlens.codeLens.authors.command Sets the command triggered when an authors CodeLens is clicked. Default is gitlens.toggleFileBlame. To disable click actions, set this to false.

Available commands include:
gitlens.toggleFileBlame, gitlens.toggleFileHeatmap, gitlens.toggleFileChanges, gitlens.toggleFileChangesOnly, gitlens.diffWithPrevious, gitlens.revealCommitInView, gitlens.showCommitsInView, gitlens.showQuickCommitDetails, gitlens.showQuickCommitFileDetails, gitlens.showQuickFileHistory, gitlens.showQuickRepoHistory, gitlens.openCommitOnRemote, gitlens.copyRemoteCommitUrl, gitlens.openFileOnRemote, gitlens.copyRemoteFileUrl.

gitlens.codeLens.authors.enabled Enables or disables the authors CodeLens. Displays the number of contributors and highlights the most active author for a file or block.
gitlens.codeLens.enabled Globally enables or disables all GitLens CodeLens features. Use the Toggle Git CodeLens command (gitlens.toggleCodeLens) to turn this feature on or off for the current window.
gitlens.codeLens.includeSingleLineSymbols Determines whether GitLens shows CodeLens for single-line symbols (e.g., one-line functions).
gitlens.codeLens.recentChange.command Sets the command triggered when a recent change CodeLens is clicked. Default is gitlens.showQuickCommitFileDetails. To disable, set to false.

Available commands mirror those listed under authors.command.

gitlens.codeLens.recentChange.enabled Enables or disables the recent change CodeLens. Displays the author and timestamp of the most recent commit for the line or block.
gitlens.codeLens.scopes Controls where Git CodeLens is displayed:
document – top of the file
containers – start of container symbols (e.g., classes, interfaces)
blocks – start of block symbols (e.g., functions, methods)
gitlens.codeLens.symbolScopes Defines specific symbol types to include or exclude from CodeLens. Prefix a symbol with ! to exclude it. Uses SymbolKind values.

Status Bar Settings

These settings control how GitLens displays blame information in the status bar, including format, alignment, and click behavior.

Name Description
gitlens.statusBar.alignment Controls where the blame annotation appears in the status bar.

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

gitlens.statusBar.command Specifies the command executed when clicking the blame status bar item. Default is gitlens.toggleFileBlame. You can choose from a list of commands, such as:

gitlens.toggleFileBlame, gitlens.toggleFileHeatmap, gitlens.toggleFileChanges, gitlens.toggleFileChangesOnly, gitlens.diffWithPrevious, gitlens.revealCommitInView, gitlens.showCommitsInView, gitlens.showQuickCommitDetails, gitlens.showQuickCommitFileDetails, gitlens.showQuickFileHistory, gitlens.showQuickRepoHistory, gitlens.openCommitOnRemote, gitlens.copyRemoteCommitUrl, gitlens.openFileOnRemote, gitlens.copyRemoteFileUrl

gitlens.statusBar.dateFormat Sets the date format using the ${date} token. For valid formats, see the Moment.js documentation.
gitlens.statusBar.enabled Enables or disables blame information in the status bar.
gitlens.statusBar.format Defines the display format of blame data in the status bar. Refer to Commit Tokens. Controlled alongside gitlens.statusBar.dateFormat.
gitlens.statusBar.pullRequests.enabled Shows pull request details for the commit in the status bar, if available. Requires a connected remote (e.g., GitHub).
gitlens.statusBar.reduceFlicker Reduces visual flicker by preventing blame info from clearing when switching lines.
gitlens.statusBar.tooltipFormat Specifies the markdown format used in the hover tooltip over blame info. See Commit Tokens.

Hover Settings

Use these settings to control when and how GitLens displays hover popups that show commit details, line changes, avatars, and pull request information.

Name Description
gitlens.hovers.annotations.changes Enables a changes (diff) hover for all lines when blame annotations are shown.
gitlens.hovers.annotations.details Enables a commit details hover for all lines when blame annotations are shown.
gitlens.hovers.annotations.enabled Enables all hovers related to blame annotations.
gitlens.hovers.annotations.over Controls when annotation hovers trigger:

annotation – hover only on the annotation
line – hover anywhere on the line

gitlens.hovers.avatars Displays avatar images in hovers when enabled.
gitlens.hovers.avatarSize Sets the avatar image size in hover popups.
gitlens.hovers.changesDiff Controls the diff content shown in hovers:

line – shows only changes to the line
hunk – shows related changes (code hunk)

gitlens.hovers.currentLine.changes Enables a changes (diff) hover for the current line.
gitlens.hovers.currentLine.details Enables a commit details hover for the current line.
gitlens.hovers.currentLine.enabled Enables all hover popups for the current line.
gitlens.hovers.currentLine.over Controls when hovers appear on the current line:

annotation – hover only on the annotation
line – hover anywhere on the line

gitlens.hovers.detailsMarkdownFormat Defines the markdown format used for commit details hovers. See Commit Tokens.
gitlens.hovers.enabled Enables or disables all GitLens hovers.
gitlens.hovers.autolinks.enabled Automatically links external resources mentioned in commit messages.
gitlens.hovers.autolinks.enhanced Fetches enhanced details for autolinks using supported remote services (e.g., GitHub).
gitlens.hovers.pullRequests.enabled Displays pull request information (if available) in hovers. Requires connection to a supported remote service.

View Settings

Name Description
gitlens.views.defaultItemLimit Specifies the default number of items to show in a view list. Use 0 for 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 stashes in GitLens views.
gitlens.views.pageItemLimit Specifies the number of items to show per page when paginating a view list. Use 0 for 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 histories in the views.
gitlens.views.commits.files.icon Specifies how the Commits view displays file icons.
gitlens.views.repositories.files.icon Specifies how the Repositories view displays file icons.
gitlens.views.branches.files.icon Specifies how the Branches view displays file icons.
gitlens.views.formats.files.label Specifies how the Remotes view displays file icons.
gitlens.views.stashes.files.icon Specifies how the Stashes view displays file icons.
gitlens.views.tags.files.icon Specifies how the Tags view displays file icons.
gitlens.views.worktrees.files.icon Specifies how the Worktrees view displays file icons.
gitlens.views.contributors.files.icon Specifies how the Contributors view displays file icons.
gitlens.views.searchAndCompare.files.icon Specifies how the Search & Compare view displays file icons.
gitlens.views.collapseWorktreesWhenPossible Specifies whether to collapse opened worktrees into a single repository in views when possible.
Gitlens.views.showCurrentBranchOnTo Specifies whether the current branch is shown at the top of views.
gitlens.views.scm.grouped.default Specifies the default view shown in the grouped GitLens view for new workspaces/folders (otherwise 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.

These settings control how the GitLens Commits view displays commit data, associated files, and pull request information.

Name Description
gitlens.views.commits.avatars Shows avatar images in place of commit or status icons in the Commits view.
gitlens.views.commits.files.compact Flattens unnecessary file nesting when file layout is set to tree or auto.
gitlens.views.commits.files.layout Controls how files are displayed:

auto – switches between tree and list based on the threshold
list – displays a flat file list
tree – displays a hierarchical file structure

gitlens.views.commits.files.threshold Defines the threshold for switching between tree and list layouts when layout is set to auto.
gitlens.views.commits.pullRequests.enabled Enables querying for pull requests associated with the current branch or commits. Requires a connected remote (e.g., GitHub).
gitlens.views.commits.pullRequests.showForBranches Shows pull requests linked to the current branch in the Commits view. Requires a connected remote service.
gitlens.views.commits.pullRequests.showForCommits Displays pull requests tied to individual commits in the Commits view. Requires a connected remote service.
gitlens.views.commits.reveal Determines whether commits are revealed in the Commits view or the Repositories view.
gitlens.views.commits.showBranchComparison Controls whether to display branch or working tree comparisons:

false – hides comparison section
branch – compares current branch to another reference
working – compares working tree to a selected reference


Repositories View Settings

See also View Settings.

These settings customize how repositories are displayed and interacted with in the GitLens Repositories view.

Name Description
gitlens.views.repositories.avatars Displays avatar images instead of icons in the Repositories view.
gitlens.views.repositories.autoRefresh Automatically refreshes the view when the repository or filesystem changes.
gitlens.views.repositories.autoReveal Auto-reveals repositories when opening files.
gitlens.views.repositories.branches.layout Controls branch layout:

list – shows all branches in a list
tree – groups branches in a tree structure if names contain /

gitlens.views.repositories.branches.showBranchComparison Displays comparison with a user-selected reference (branch, tag, etc.) under each branch.
gitlens.views.repositories.compact Enables a compact display mode in the Repositories view.
gitlens.views.repositories.files.compact Flattens unnecessary file nesting when file layout is set to tree or auto.
gitlens.views.repositories.files.layout Controls file display layout:

auto – switches based on file count and nesting
list – flat file list
tree – hierarchical file view

gitlens.views.repositories.files.threshold Sets the threshold for switching between tree and list layouts when layout is set to auto.
gitlens.views.repositories.includeWorkingTree Includes working tree file status for each repository.
gitlens.views.repositories.showBranchComparison Displays comparison between a selected reference and the current branch or working tree.
gitlens.views.repositories.showBranches Shows branches for each repository.
itlens.views.repositories.showCommits Displays commits from the current branch for each repository.
gitlens.views.repositories.showContributors Shows contributors for each repository.
gitlens.views.repositories.showIncomingActivity Displays experimental incoming activity for each repository.
gitlens.views.repositories.showRemotes Shows configured remotes for each repository.
gitlens.views.repositories.showStashes Displays stashes for each repository.
gitlens.views.repositories.showTags Shows tags for each repository.
gitlens.views.repositories.showUpstreamStatus Displays upstream tracking status of the current branch for each repository.

File History View Settings

See also View Settings.

These settings configure the behavior and display options for the GitLens File History view.

Name Description
gitlens.views.fileHistory.avatars Displays avatar images instead of status icons in the File History view.
gitlens.advanced.fileHistoryShowMergeCommits Controls whether merge commits are shown in file history:

show – includes merge commits
hide – excludes merge commits


Line History View Settings

See also View Settings.

These settings configure the display behavior of the GitLens Line History view.

Name Description
gitlens.views.lineHistory.avatars Displays avatar images instead of status icons in the Line History view.

Branch View Settings

See also View Settings.

These settings configure the display and behavior of the GitLens Branches view.

Name Description
gitlens.views.branches.avatars Displays avatar images instead of commit or status icons in the Branches view.
gitlens.views.branches.branches.layout Controls how branches are displayed:

list – shows branches as a list
tree – groups branches into a tree structure

gitlens.views.branches.files.compact Flattens unnecessary file nesting when file layout is set to tree or auto.
gitlens.views.branches.files.layout Controls file display layout:

auto – switches between tree and list based on the threshold
list – displays a flat list
tree – displays files hierarchically

gitlens.views.branches.files.threshold Defines the threshold for switching between tree and list layouts when layout is set to auto.
gitlens.views.branches.pullRequests.enabled Enables querying for pull requests associated with the current branch and commits. Requires a connected remote service.
gitlens.views.branches.pullRequests.showForBranches Displays pull requests linked to the current branch in the Branches view. Requires a connected remote service.
gitlens.views.branches.pullRequests.showForCommits Displays pull requests tied to individual commits. Requires a connected remote service.
gitlens.views.branches.reveal Specifies whether branches are revealed in the Branches view or in the Repositories view.
gitlens.views.branches.showBranchComparison Controls display of branch comparisons:

false – hides comparisons
branch – compares the current branch with a selected reference


Remotes View Settings

See also View Settings.

These settings define how branches, files, and pull requests appear in the GitLens Remotes view.

Name Description
gitlens.views.remotes.avatars Displays avatar images instead of commit or status icons in the Remotes view.
gitlens.views.remotes.branches.layout Controls how branches are displayed:

list – shows branches in a flat list
tree – groups branches hierarchically

gitlens.views.remotes.files.compact Flattens unnecessary file nesting when file layout is set to tree or auto.
gitlens.views.remotes.files.layout Controls file display layout:

auto – switches between tree and list depending on nesting
list – flat file list
tree – hierarchical file view

gitlens.views.remotes.files.threshold Defines the threshold for switching between tree and list layouts when layout is set to auto.
gitlens.views.remotes.pullRequests.enabled Enables pull request queries for the current branch and commits. Requires a connected remote service.
gitlens.views.remotes.pullRequests.showForBranches Displays pull requests associated with branches in the Remotes view. Requires a connected remote service.
gitlens.views.remotes.pullRequests.showForCommits Displays pull requests tied to commits in the Remotes view. Requires a connected remote service.
gitlens.views.remotes.reveal Determines whether remotes appear in the Remotes view or are shown in the Repositories view.
gitlens.views.remotes.showBranchComparison Controls display of branch comparisons:

false – hides comparisons
branch – compares the current branch with a selected reference


Stashes View Settings

See also View Settings.

These settings control how files and stash entries are displayed in the GitLens Stashes view.

Name Description
gitlens.views.stashes.files.compact Flattens unnecessary file nesting in the Stashes view. Applies when file layout is set to tree or auto.
gitlens.views.stashes.files.layout Controls file display layout:

auto – switches between tree and list layouts based on nesting
list – shows a flat list
tree – shows a hierarchical view

gitlens.views.stashes.files.threshold Defines the threshold for switching between tree and list layouts when layout is set to auto.
gitlens.views.stashes.reveal Determines whether stashes appear in the Stashes view or the Repositories view.

Tags View Settings

See also View Settings.

These settings control how Git tags and related files appear in the GitLens Tags view.

Name Description
gitlens.views.tags.avatars Displays avatar images instead of commit or status icons in the Tags view.
gitlens.views.tags.branches.layout Controls tag layout:

list – displays tags as a flat list
tree – groups tags hierarchically

gitlens.views.tags.files.compact Flattens unnecessary file nesting when layout is set to tree or auto.
gitlens.views.tags.files.layout Controls file display layout:

auto – switches between tree and list layouts based on nesting
list – shows a flat list
tree – shows a hierarchical view

gitlens.views.tags.files.threshold Defines the threshold for switching between tree and list layouts when layout is set to auto.
gitlens.views.tags.reveal Determines whether tags are shown in the Tags view or revealed in the Repositories view.

Worktrees View Settings

See also View Settings.

These settings control how worktrees and related information appear in the GitLens Worktrees view.

Name Description
gitlens.views.worktrees.avatars Displays avatar images instead of commit or status icons in the Worktrees view.
gitlens.views.worktrees.files.compact Flattens unnecessary file nesting. Applies only when layout is set to tree or auto.
gitlens.views.worktrees.files.layout Controls how files are displayed:

auto – automatically switches between tree and list views based on the threshold
list – shows files in a flat list
tree – shows files hierarchically

gitlens.views.worktrees.files.threshold Defines when to switch between tree and list layouts based on file count. Applies only when layout is auto.
gitlens.views.worktrees.pullRequests.enabled Enables pull request queries for the current worktree branch and its commits. Requires a supported remote service.
gitlens.views.worktrees.pullRequests.showForBranches Shows pull requests related to the current worktree branch. Requires a supported remote service.
gitlens.views.worktrees.pullRequests.showForCommits Displays pull requests (if any) associated with commits in the Worktrees view. Requires a supported remote service.
gitlens.views.worktrees.reveal Controls whether worktrees appear in the Worktrees view or default to the Repositories view.
gitlens.views.worktrees.showBranchComparison Shows a comparison of the current branch with a user-selected reference:

false – hides comparisons
branch – compares with a selected reference (e.g., tag or branch)


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.

These settings control the display options for files and avatars in the GitLens Search Commits and Compare views.

Name Description
gitlens.views.compare.files.compact Flattens unnecessary file nesting in the Compare view. Applies when layout is set to tree or auto.
gitlens.views.compare.files.layout Controls file display in the Compare view:

auto – switches between tree and list based on nesting and threshold
list – shows files in a flat list
tree – shows files hierarchically

gitlens.views.compare.files.threshold Determines when to switch between tree and list layouts based on the number of files in a nesting level. Applies only when layout is auto.
gitlens.views.compare.avatars Shows avatar images instead of commit or status icons in the Compare view.
gitlens.views.search.files.compact Flattens unnecessary file nesting in the Search Commits view. Applies when layout is set to tree or auto.
gitlens.views.search.files.layout Controls file display in the Search Commits view:

auto – switches between tree and list based on nesting and threshold
list – shows files in a flat list
tree – shows files hierarchically

gitlens.views.search.avatars Shows avatar images instead of commit or status icons in the Search Commits view.

File Blame Settings

Name Description
gitlens.blame.avatars Shows avatar images in file blame annotations.
gitlens.blame.compact Compacts (deduplicates) adjacent matching blame annotations.
gitlens.blame.dateFormat Formats absolute dates (e.g., using ${date}) in blame annotations. See the Moment.js documentation for valid formats.
gitlens.blame.format Specifies the display format of blame annotations. See Commit Tokens. Date format is controlled by gitlens.blame.dateFormat.
gitlens.blame.heatmap.enabled Enables a heatmap indicator in blame annotations.
gitlens.blame.heatmap.location Determines heatmap indicator placement:

left – left edge of annotations
right – right edge of annotations

gitlens.blame.highlight.enabled Highlights lines related to the current line.
gitlens.blame.highlight.locations Specifies where highlights appear:

file – file indicator
line – full-line background highlight
overview – decoration in the overview ruler

gitlens.blame.ignoreWhitespace Ignores whitespace differences when comparing revisions during blame operations.
gitlens.blame.separateLines Shows line separators in blame annotations.
gitlens.blame.toggleMode Determines toggle scope:

file – toggles blame per file
window – toggles blame for all files in the window

gitlens.blame.fontFamily Sets font family for file blame annotations.
gitlens.blame.fontSize Sets font size for file blame annotations.
gitlens.blame.fontWeight Sets font weight for file blame annotations.
gitlens.blame.fontStyle Sets font style for file blame annotations.

File Changes Settings

Name Description
gitlens.changes.locations Controls where file changes indicators appear:

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

gitlens.changes.toggleMode Determines toggle scope for file changes annotations:

file – toggles annotations per file
window – toggles annotations for all files in the window


File Heatmap Settings

Name Description
gitlens.heatmap.ageThreshold Defines the age threshold in days for heatmap coloring. Changes older than this use gitlens.heatmap.coldColor, newer changes use gitlens.heatmap.hotColor.
gitlens.heatmap.coldColor Base color for file heatmap annotations when changes are older than the age threshold (cold).
gitlens.heatmap.hotColor Base color for file heatmap annotations when changes are newer than the age threshold (hot).
gitlens.heatmap.locations Specifies where heatmap indicators appear:

gutter – shows indicator in the gutter
overview – adds a decoration in the overview ruler (scroll bar)

gitlens.heatmap.toggleMode Determines toggle scope for file heatmap annotations:

file – toggles annotations per file
window – toggles annotations for all files in the window


Git Command Palette Settings

Name Description
gitlens.gitCommands.closeOnFocusOut Determines whether the Git Commands Palette dismisses automatically when focus is lost. If disabled, press ESC to dismiss manually.
gitlens.gitCommands.search.matchAll Controls whether commit message searches match all patterns or any pattern.
gitlens.gitCommands.search.matchCase Enables case-sensitive matching for commit message searches.
gitlens.gitCommands.search.matchRegex Enables regular expression matching for commit message searches.
gitlens.gitCommands.search.showResultsInSideBar Controls where commit search results display: in the quick pick menu, the Side Bar, or context-dependent.
gitlens.gitCommands.skipConfirmations Specifies which Git commands skip confirmation prompts. Format: git-command-name:(menu/command).
gitlens.gitCommands.sortBy Specifies sorting order of commands in the Git Command Palette:

name – alphabetically by command name
usage – by last used date


Terminal Links Settings

Name Description
gitlens.terminalLinks.enabled Enables terminal links—autolinks in the integrated terminal that provide quick access to details for commits, branches, tags, and more.

Remote Provider Integration Settings

Name Description
gitlens.integrations.enabled Enables rich integrations with supported remote services.
gitlens.remotes Defines custom remote services to match Git remotes for detecting custom domains or supporting additional remote services.

Supported types include:

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

Examples:

"gitlens.remotes": [{ "domain": "git.corporate-url.com", "type": "GitHub" }]
"gitlens.remotes": [{ "regex": "ssh:\/\/(my\.company\.com):1234\/git\/(.+)", "type": "GitHub" }]

Custom 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}"
  }
}]

Another custom 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 the default format for absolute dates. See the Moment.js documentation for valid format strings.
gitlens.defaultDateLocale Specifies the locale for date formatting, using a BCP 47 language tag. Defaults to the VS Code locale. Use system to follow the current system locale or specify a locale like en-US (US English), en-GB (British English), de-DE (German), ja-JP (Japanese), etc.
gitlens.defaultDateShortFormat Specifies the default format for short absolute dates. See the Moment.js documentation for valid format strings.
gitlens.defaultDateSource Determines whether commit dates use the authored date or the committed date.
gitlens.defaultDateStyle Specifies the default display style for dates.
gitlens.defaultTimeFormat Specifies the default format for times. See the Moment.js documentation for valid format strings.

Menu & Toolbar Settings

Name Description
gitlens.menus Defines which commands are added to specific menus.
gitlens.fileAnnotations.command Controls the behavior of the file annotations button in the editor title:

null (default) – shows a menu to select 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 used for GitLens shortcuts:

alternate – adds alternate shortcuts starting with Alt (⌥ on macOS)
chorded – adds chorded shortcuts starting with Ctrl+Shift+G (⌥⌘G on macOS)
none – disables all GitLens shortcut keys

gitlens.fileAnnotations.dismissOnEscape Determines whether pressing ESC dismisses active file annotations.

Modes Settings

Name Description
gitlens.mode.active Specifies the currently active GitLens mode, if any.
gitlens.mode.statusBar.enabled Enables display of the active GitLens mode in the status bar.
gitlens.mode.statusBar.alignment Controls alignment of the active mode display in the status bar:

left – aligns left
right – aligns right

gitlens.modes Defines user-configured GitLens modes.

Example: Add heatmap annotations to a Reviewing mode:
"gitlens.modes": { "review": { "annotations": "heatmap" } }

Example: Define 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 Defines autolinks to external resources in commit messages. Use <num> as a placeholder for the reference number.

Example for Jira issues:
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. Supported models include:
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 Enables GitLens’ experimental AI-powered, on-demand commit message generation.
gitlens.ai.experimental.openai.url Specifies a custom Azure URL to access an OpenAI model. 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 guide the AI on structuring or styling generated commit messages (e.g., in the style of a pirate).

Misc Settings

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

identicon – geometric pattern
mp – cartoon-style silhouette (same for all emails)
monsterid – colorful monster faces
retro – 8-bit pixelated faces
robohash – robot faces with variations
wavatar – faces with different features and backgrounds

gitlens.liveshare.allowGuestAccess Allows guest access to GitLens features during Visual Studio Live Share sessions.
gitlens.outputLevel Controls the verbosity of output sent to the GitLens output channel.
gitlens.showWelcomeOnInstall Shows the Welcome (Quick Setup) experience on first install.
gitlens.showWhatsNewAfterUpgrades Shows the What’s New notification after upgrading to new feature releases.
gitlens.sortBranchesBy Determines how branches are sorted in quick pick menus and views.
gitlens.sortContributorsBy Determines how contributors are sorted in quick pick menus and views.
gitlens.sortTagsBy Determines how tags are sorted in quick pick menus and views.
gitlens.sortRepositoriesBy Determines how repositories are sorted in quick pick menus and views.
gitlens.advanced.abbreviatedShaLength Length of abbreviated commit SHAs.
gitlens.advanced.abbreviateShaOnCopy Determines whether copied commit SHAs are abbreviated to the length of gitlens.advanced.abbreviatedShaLength.
gitlens.advanced.blame.customArguments Additional arguments to pass to the git blame command.
gitlens.fileAnnotations.preserveWhileEditing Allows file annotations on unsaved (dirty) files. The gitlens.advanced.blame.delayAfterEdit setting controls the delay before updating annotations, which applies only if the file size is under gitlens.advanced.sizeThresholdAfterEdit (default 5000 lines).
gitlens.advanced.blame.delayAfterEdit Time (milliseconds) to wait before re-blaming an unsaved document after an edit. Use 0 to wait indefinitely.
gitlens.advanced.blame.sizeThresholdAfterEdit Maximum document size (lines) to re-blame after an edit while still unsaved. Use 0 for no maximum.
gitlens.advanced.caching.enabled Enables caching of git output (changing this is not recommended).
gitlens.advanced.commitOrdering Ordering method for commits (default is reverse chronological by commit date):

date – reverse chronological by commit timestamp
author-date – reverse chronological by author timestamp
topo – reverse chronological but avoids mixing multiple lines of history

gitlens.advanced.externalDiffTool Optional external diff tool for file comparisons (must be a configured Git difftool).
gitlens.advanced.externalDirectoryDiffTool Optional external diff tool for directory comparisons (must be a configured Git difftool).
gitlens.advanced.fileHistoryFollowsRenames Enables following file history through renames, affecting how merge commits display.
gitlens.advanced.fileHistoryShowAllBranches Shows commits from all branches in file history views.
gitlens.advanced.maxListItems Maximum number of items shown in lists. Use 0 for no limit.
gitlens.advanced.maxSearchItems Maximum number of items shown in search results. Use 0 for no limit.
gitlens.advanced.messages Specifies which messages to suppress.
gitlens.advanced.quickPick.closeOnFocusOut Dismisses quick pick menus when focus is lost. If disabled, press ESC to dismiss manually.
gitlens.advanced.repositorySearchDepth Depth (number of folders) to search for repositories.
gitlens.advanced.similarityThreshold Percent similarity required for a deleted and added file pair to be considered a rename.
gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors String shown in place of both recent change and authors CodeLens when there are unsaved changes.
gitlens.strings.codeLens.unsavedChanges.recentChangeOnly String shown in place of the recent change CodeLens when there are unsaved changes.
gitlens.strings.codeLens.unsavedChanges.authorsOnly String shown in place of the authors CodeLens when there are unsaved changes.
gitlens.worktrees.defaultLocation Path variables:

${userHome} – user’s home directory
${workspaceFolder} – path of the opened folder in VS Code containing the repository
${workspaceFolderBasename} – name of the opened folder in VS Code without slashes

gitlens.visualHistory.allowMultiple Allows opening multiple Visual File History instances in the editor area.
gitlens.liveshare.enabled Enables integration with Visual Studio Live Share.
multiDiffEditor.experimental.enabled Enables VS Code’s experimental multi-diff editor (requires VS Code 1.85+).
gitlens.views.openChangesInMultiDiffEditor Controls whether to open multiple changes in VS Code’s multi-diff editor (single tab) or individual diff editors (multiple tabs). Requires multiDiffEditor.experimental.enabled and VS Code 1.85+.
gitlens.experimental.cloudIntegrations.enabled Enables GitHub integration via GitKraken account cloud integration.

Themable Colors

GitLens defines a set of themable colors that can be provided by VS Code themes or customized by users via workbench.colorCustomizations.

Name Description
gitlens.gutterBackgroundColor Background color of file blame annotations in the gutter.
gitlens.gutterForegroundColor Foreground color of file blame annotations in the gutter.
gitlens.gutterUncommittedForegroundColor Foreground color for uncommitted lines in file blame annotations.
gitlens.trailingLineBackgroundColor Background color of trailing blame annotations.
gitlens.trailingLineForegroundColor Foreground color of trailing blame annotations.
gitlens.lineHighlightBackgroundColor Background color for associated line highlights in blame annotations.
gitlens.lineHighlightOverviewRulerColor Overview ruler color for associated line highlights in blame annotations.
gitlens.focus.allowMultiple Allows opening multiple instances of the Focus feature in the editor area.

Commit Graph Settings

Name Description
gitlens.graph.showUpstreamStatus Enables or disables upstream (ahead/behind) indicators on branches.
gitlens.graph.pullRequests Enables or disables pull request icons in the Commit Graph.
gitlens.graph.dimMergeCommits Dims (deemphasizes) merge commit rows in the graph.
gitlens.graph.scrollRowPadding Number of rows from the edge at which the graph scrolls when changing the selected row via keyboard or search.
gitlens.graph.experimental.location Location where the Commit Graph is shown:

tab – in a tab in the editor area
view – in the side bar, draggable to side bar, secondary side bar, or panel locations

gitlens.graph.layout Default layout for the Commit Graph. Options:

panel (default) – shows in a panel
editor – shows in the editor area.
Honored when opening the Commit Graph from the command palette.

gitlens.graph.allowMultiple Allows opening multiple Commit Graph instances in the editor area.
gitlens.graph.sidebar.enabled Shows or hides the sidebar in the Commit Graph.

Cloud Patches (Preview) Settings

Name Description
gitlens.cloudPatches.enabled Enables or disables Cloud Patches. Defaults to true.

Launchpad Settings

Name Description
gitlens.launchpad.ignoredRepositories List of repositories (in owner/name format) to ignore in Launchpad.
gitlens.launchpad.ignoredOrganizations List of organizations or users to ignore in Launchpad.
gitlens.launchpad.staleThreshold Number of days after which a pull request is considered stale and moved to the “Other” category.
gitlens.launchpad.indicator.enabled Enables the Launchpad indicator in the status bar.
gitlens.launchpad.indicator.icon Style of the Launchpad indicator icon.
gitlens.launchpad.indicator.label Style of the Launchpad indicator label.
gitlens.launchpad.indicator.groups Critical pull request categories to summarize in the indicator tooltip.
gitlens.launchpad.indicator.useColors Enables color usage in the Launchpad indicator.
gitlens.launchpad.indicator.openInEditor Opens the Launchpad in the editor when the indicator is clicked.
gitlens.launchpad.indicator.polling.enabled Enables regular polling for pull request changes.
gitlens.launchpad.indicator.polling.interval Polling interval in minutes for checking pull request changes.
gitlens.views.launchpad.enabled (Experimental) Enables the experimental Launchpad view.
gitlens.launchpad.includedOrganizations Organizations to include in Launchpad.
Have feedback about this article? Did we miss something? Let us know!
On this page