You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

15873 rivejä
511 KiB

{
"name": "gitlens",
"displayName": "GitLens — Git supercharged",
"description": "Supercharge Git within VS Code — Visualize code authorship at a glance via Git blame annotations and CodeLens, seamlessly navigate and explore Git repositories, gain valuable insights via rich visualizations and powerful comparison commands, and so much more",
"version": "14.5.1",
"engines": {
"vscode": "^1.81.0"
},
"license": "SEE LICENSE IN LICENSE",
"publisher": "eamodio",
"author": {
"name": "Eric Amodio",
"email": "eamodio@gmail.com"
},
"homepage": "https://gitkraken.com/gitlens",
"bugs": {
"url": "https://github.com/gitkraken/vscode-gitlens/issues"
},
"repository": {
"type": "git",
"url": "https://github.com/gitkraken/vscode-gitlens.git"
},
"main": "./dist/gitlens.js",
"browser": "./dist/browser/gitlens.js",
"icon": "images/gitlens-icon.png",
"preview": false,
"badges": [
{
"url": "https://img.shields.io/badge/gitkraken--community-gitlens-blue.svg?logo=slack&labelColor=555555",
"href": "https://slack.gitkraken.com/",
"description": "Join us in the #gitlens channel"
}
],
"categories": [
"Other",
"SCM Providers"
],
"galleryBanner": {
"color": "#8647ae",
"theme": "dark"
},
"keywords": [
"gitlens",
"git",
"blame",
"log",
"annotation",
"multi-root ready"
],
"activationEvents": [
"onAuthenticationRequest:gitlens-gitkraken",
"onFileSystem:gitlens",
"onWebviewPanel:gitlens.focus",
"onWebviewPanel:gitlens.graph",
"onWebviewPanel:gitlens.patchDetails",
"onWebviewPanel:gitlens.settings",
"onWebviewPanel:gitlens.timeline",
"onWebviewPanel:gitlens.welcome",
"onStartupFinished"
],
"capabilities": {
"virtualWorkspaces": true,
"untrustedWorkspaces": {
"supported": "limited"
}
},
"contributes": {
"configuration": [
{
"id": "current-line-blame",
"title": "Inline Blame",
"order": 10,
"properties": {
"gitlens.currentLine.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide an inline 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",
"scope": "window",
"order": 10
},
"gitlens.currentLine.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide information about the Pull Request (if any) that introduced the commit in the inline blame annotation. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 20
},
"gitlens.currentLine.format": {
"type": "string",
"default": "${author, }${agoOrDate}${' via 'pullRequest}${ • message|50?}",
"markdownDescription": "Specifies the format of the inline blame annotation. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `#gitlens.currentLine.dateFormat#` setting",
"scope": "window",
"order": 30
},
"gitlens.currentLine.uncommittedChangesFormat": {
"type": "string",
"default": null,
"markdownDescription": "Specifies the uncommitted changes format of the inline blame annotation. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `#gitlens.currentLine.dateFormat#` setting.\n\n**NOTE**: Setting this to an empty string will disable inline blame annotations for uncommitted changes.",
"scope": "window",
"order": 31
},
"gitlens.currentLine.scrollable": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether the inline 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.",
"scope": "window",
"order": 40
},
"gitlens.currentLine.dateFormat": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies how to format absolute dates (e.g. using the `${date}` token) for the cinline blame annotation. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"scope": "window",
"order": 50
}
}
},
{
"id": "git-code-lens",
"title": "Git CodeLens",
"order": 11,
"properties": {
"gitlens.codeLens.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "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",
"scope": "window",
"order": 10
},
"gitlens.codeLens.authors.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "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)",
"scope": "window",
"order": 20
},
"gitlens.codeLens.authors.command": {
"type": [
"boolean",
"string"
],
"enum": [
false,
"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"
],
"enumDescriptions": [
"Disables click interaction",
"Toggles file blame",
"Toggles file heatmap",
"Toggles file changes since before the commit",
"Toggles file changes from the commit",
"Compares the current committed file with the previous commit",
"Reveals the commit in the Side Bar",
"Searches for commits within the range",
"Shows a commit details quick pick menu",
"Shows a commit file details quick pick menu",
"Shows a file history quick pick menu",
"Shows a branch history quick pick menu",
"Opens the commit on the remote service (when available)",
"Copies the remote commit URL to the clipboard (when available)",
"Opens the file revision on the remote service (when available)",
"Copies the remote file URL to the clipboard (when available)"
],
"default": "gitlens.toggleFileBlame",
"markdownDescription": "Specifies the command to be executed when an _authors_ CodeLens is clicked",
"scope": "window",
"order": 21
},
"gitlens.codeLens.recentChange.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a _recent change_ CodeLens, showing the author and date of the most recent commit for the file or code block",
"scope": "window",
"order": 30
},
"gitlens.codeLens.recentChange.command": {
"type": [
"boolean",
"string"
],
"enum": [
false,
"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"
],
"enumDescriptions": [
"Disables click interaction",
"Toggles file blame",
"Toggles file heatmap",
"Toggles file changes since before the commit",
"Toggles file changes from the commit",
"Compares the current committed file with the previous commit",
"Reveals the commit in the Side Bar",
"Shows the commit details",
"Shows a commit details quick pick menu",
"Shows a commit file details quick pick menu",
"Shows a file history quick pick menu",
"Shows a branch history quick pick menu",
"Opens the commit on the remote service (when available)",
"Copies the remote commit URL to the clipboard (when available)",
"Opens the file revision on the remote service (when available)",
"Copies the remote file URL to the clipboard (when available)"
],
"default": "gitlens.showQuickCommitFileDetails",
"markdownDescription": "Specifies the command to be executed when a _recent change_ CodeLens is clicked",
"scope": "window",
"order": 31
},
"gitlens.codeLens.scopes": {
"type": "array",
"default": [
"document",
"containers"
],
"items": {
"type": "string",
"enum": [
"document",
"containers",
"blocks"
],
"enumDescriptions": [
"Adds CodeLens at the top of the document",
"Adds CodeLens at the start of container-like symbols (modules, classes, interfaces, etc)",
"Adds CodeLens at the start of block-like symbols (functions, methods, etc) lines"
]
},
"minItems": 0,
"maxItems": 3,
"uniqueItems": true,
"markdownDescription": "Specifies where Git CodeLens will be shown in the document",
"scope": "language-overridable",
"order": 40
},
"gitlens.codeLens.symbolScopes": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"markdownDescription": "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`",
"scope": "language-overridable",
"order": 50
},
"gitlens.codeLens.includeSingleLineSymbols": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to provide any Git CodeLens on symbols that span only a single line",
"scope": "window",
"order": 60
},
"gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors": {
"type": "string",
"default": "$(ellipsis)",
"markdownDescription": "Specifies the string to be shown in place of both the _recent change_ and _authors_ CodeLens when there are unsaved changes",
"scope": "window",
"order": 70
},
"gitlens.strings.codeLens.unsavedChanges.recentChangeOnly": {
"type": "string",
"default": "$(ellipsis)",
"markdownDescription": "Specifies the string to be shown in place of the _recent change_ CodeLens when there are unsaved changes",
"scope": "window",
"order": 71
},
"gitlens.strings.codeLens.unsavedChanges.authorsOnly": {
"type": "string",
"default": "$(ellipsis)",
"markdownDescription": "Specifies the string to be shown in place of the _authors_ CodeLens when there are unsaved changes",
"scope": "window",
"order": 72
},
"gitlens.codeLens.dateFormat": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies how to format absolute dates in the Git CodeLens. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"scope": "window",
"order": 73
},
"gitlens.codeLens.scopesByLanguage": {
"deprecationMessage": "Deprecated. Use per-language `gitlens.codeLens.scopes` and `gitlens.codeLens.symbolScopes` settings instead",
"markdownDeprecationMessage": "Deprecated. Use the per-language `#gitlens.codeLens.scopes#` and `#gitlens.codeLens.symbolScopes#` settings instead"
}
}
},
{
"id": "status-bar-blame",
"title": "Status Bar Blame",
"order": 12,
"properties": {
"gitlens.statusBar.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide blame information in the status bar",
"scope": "window",
"order": 10
},
"gitlens.statusBar.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "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)",
"scope": "window",
"order": 20
},
"gitlens.statusBar.format": {
"type": "string",
"default": "${author}, ${agoOrDate}${' via 'pullRequest}",
"markdownDescription": "Specifies the format of the blame information in the status bar. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `#gitlens.statusBar.dateFormat#` setting",
"scope": "window",
"order": 30
},
"gitlens.statusBar.alignment": {
"type": "string",
"default": "right",
"enum": [
"left",
"right"
],
"enumDescriptions": [
"Aligns to the left",
"Aligns to the right"
],
"markdownDescription": "Specifies the blame alignment in the status bar",
"scope": "window",
"order": 40
},
"gitlens.statusBar.command": {
"type": "string",
"default": "gitlens.showQuickCommitDetails",
"enum": [
"gitlens.toggleFileBlame",
"gitlens.toggleFileHeatmap",
"gitlens.toggleFileChanges",
"gitlens.toggleFileChangesOnly",
"gitlens.toggleCodeLens",
"gitlens.diffWithPrevious",
"gitlens.diffWithWorking",
"gitlens.revealCommitInView",
"gitlens.showCommitsInView",
"gitlens.showQuickCommitDetails",
"gitlens.showQuickCommitFileDetails",
"gitlens.showQuickFileHistory",
"gitlens.showQuickRepoHistory",
"gitlens.openCommitOnRemote",
"gitlens.copyRemoteCommitUrl",
"gitlens.openFileOnRemote",
"gitlens.copyRemoteFileUrl"
],
"enumDescriptions": [
"Toggles file blame",
"Toggles file heatmap",
"Toggles file changes since before the commit",
"Toggles file changes from the commit",
"Toggles Git CodeLens",
"Compares the current line commit with the previous",
"Compares the current line commit with the working tree",
"Reveals the commit in the Side Bar",
"Shows the commit details",
"Shows a commit details quick pick menu",
"Shows a commit file details quick pick menu",
"Shows a file history quick pick menu",
"Shows a branch history quick pick menu",
"Opens the commit on the remote service (when available)",
"Copies the remote commit URL to the clipboard (when available)",
"Opens the file revision on the remote service (when available)",
"Copies the remote file URL to the clipboard (when available)"
],
"markdownDescription": "Specifies the command to be executed when the blame status bar item is clicked",
"scope": "window",
"order": 50
},
"gitlens.statusBar.tooltipFormat": {
"type": "string",
"default": "${avatar}  __${author}__, ${ago}${' via 'pullRequest}   _(${date})_ \n\n${message}${\n\n---\n\nfootnotes}\n\n${commands}",
"editPresentation": "multilineText",
"markdownDescription": "Specifies the format (in markdown) of hover shown over the blame information in the status bar. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window",
"order": 60
},
"gitlens.statusBar.reduceFlicker": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to avoid clearing the previous blame information when changing lines to reduce status bar \"flashing\"",
"scope": "window",
"order": 70
},
"gitlens.statusBar.dateFormat": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "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](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"scope": "window",
"order": 80
}
}
},
{
"id": "hovers",
"title": "Hovers",
"order": 13,
"properties": {
"gitlens.hovers.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide any hovers",
"scope": "window",
"order": 10
},
"gitlens.hovers.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images in hovers",
"scope": "window",
"order": 20
},
"gitlens.hovers.avatarSize": {
"type": "number",
"default": 32,
"markdownDescription": "Specifies the size of the avatar images in hovers",
"scope": "window",
"order": 21
},
"gitlens.hovers.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "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)",
"scope": "window",
"order": 30
},
"gitlens.hovers.autolinks.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to automatically link external resources in commit messages",
"scope": "window",
"order": 31
},
"gitlens.hovers.autolinks.enhanced": {
"type": "boolean",
"default": true,
"markdownDescription": "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)",
"scope": "window",
"order": 32
},
"gitlens.hovers.currentLine.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide any hovers for the current line",
"scope": "window",
"order": 40
},
"gitlens.hovers.currentLine.over": {
"type": "string",
"default": "annotation",
"enum": [
"annotation",
"line"
],
"enumDescriptions": [
"Only shown when hovering over the line annotation",
"Shown when hovering anywhere over the line"
],
"markdownDescription": "Specifies when to trigger hovers for the current line",
"scope": "window",
"order": 41
},
"gitlens.hovers.currentLine.details": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a _commit details_ hover for the current line",
"scope": "window",
"order": 42
},
"gitlens.hovers.currentLine.changes": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a _changes (diff)_ hover for the current line",
"scope": "window",
"order": 43
},
"gitlens.hovers.annotations.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide any hovers when showing blame annotations",
"scope": "window",
"order": 50
},
"gitlens.hovers.annotations.over": {
"type": "string",
"default": "line",
"enum": [
"annotation",
"line"
],
"enumDescriptions": [
"Only shown when hovering over the line annotation",
"Shown when hovering anywhere over the line"
],
"markdownDescription": "Specifies when to trigger hovers when showing blame annotations",
"scope": "window",
"order": 51
},
"gitlens.hovers.annotations.details": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a _commit details_ hover for all lines when showing blame annotations",
"scope": "window",
"order": 52
},
"gitlens.hovers.annotations.changes": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a _changes (diff)_ hover for all lines when showing blame annotations",
"scope": "window",
"order": 53
},
"gitlens.hovers.detailsMarkdownFormat": {
"type": "string",
"default": "${avatar}  __${author}__, ${ago}${' via 'pullRequest}   _(${date})_ \n\n${message}${\n\n---\n\nfootnotes}\n\n${commands}",
"editPresentation": "multilineText",
"markdownDescription": "Specifies the format (in markdown) of the _commit details_ hover. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window",
"order": 60
},
"gitlens.hovers.changesDiff": {
"type": "string",
"default": "line",
"enum": [
"line",
"hunk"
],
"enumDescriptions": [
"Shows only the changes to the line",
"Shows the set of related changes"
],
"markdownDescription": "Specifies whether to show just the changes to the line or the set of related changes in the _changes (diff)_ hover",
"scope": "window",
"order": 70
}
}
},
{
"id": "views",
"title": "Views",
"order": 20,
"properties": {
"gitlens.views.defaultItemLimit": {
"type": "number",
"default": 10,
"markdownDescription": "Specifies the default number of items to show in a view list. Use 0 to specify no limit",
"scope": "window",
"order": 10
},
"gitlens.views.pageItemLimit": {
"type": "number",
"default": 40,
"markdownDescription": "Specifies the number of items to show in a each page when paginating a view list. Use 0 to specify no limit",
"scope": "window",
"order": 11
},
"gitlens.views.showRelativeDateMarkers": {
"type": "boolean",
"default": true,
"markdownDescription": "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",
"scope": "window",
"order": 20
},
"gitlens.views.formats.commits.label": {
"type": "string",
"default": "${❰ tips ❱➤ }${message}",
"markdownDescription": "Specifies the format of commits in the views. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window",
"order": 30
},
"gitlens.views.formats.commits.description": {
"type": "string",
"default": "${author, }${agoOrDate}",
"markdownDescription": "Specifies the description format of commits in the views. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window",
"order": 31
},
"gitlens.views.formats.commits.tooltip": {
"type": "string",
"default": "${link}${' via 'pullRequest}${'  •  'changesDetail}${'    'tips}\n\n${avatar}  __${author}__, ${ago}   _(${date})_ \n\n${message}${\n\n---\n\nfootnotes}",
"markdownDescription": "Specifies the tooltip format (in markdown) of commits in the views. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window",
"order": 32
},
"gitlens.views.formats.commits.tooltipWithStatus": {
"type": "string",
"default": "${link}${' via 'pullRequest}  •  {{slot-status}}${'  •  'changesDetail}${'    'tips}\n\n${avatar}  __${author}__, ${ago}   _(${date})_ \n\n${message}${\n\n---\n\nfootnotes}",
"markdownDescription": "Specifies the tooltip format (in markdown) of \"file\" commits in the views. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window",
"order": 32
},
"gitlens.views.formats.files.label": {
"type": "string",
"default": "${working }${file}",
"markdownDescription": "Specifies the format of a file in the views. See [_File Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#file-tokens) in the GitLens docs",
"scope": "window",
"order": 40
},
"gitlens.views.formats.files.description": {
"type": "string",
"default": "${directory}${ ← originalPath}",
"markdownDescription": "Specifies the description format of a file in the views. See [_File Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#file-tokens) in the GitLens docs",
"scope": "window",
"order": 41
},
"gitlens.views.formats.stashes.label": {
"type": "string",
"default": "${message}",
"markdownDescription": "Specifies the format of stashes in the views. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window",
"order": 50
},
"gitlens.views.formats.stashes.description": {
"type": "string",
"default": "${stashOnRef, }${agoOrDate}",
"markdownDescription": "Specifies the description format of stashes in the views. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window",
"order": 51
},
"gitlens.views.experimental.multiSelect.enabled": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to enable experimental multi-select support in the views.\n**NOTE**: Requires a restart to take effect.",
"scope": "window",
"order": 60
},
"gitlens.views.commitFileFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.files.label` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.formats.files.label#` instead"
},
"gitlens.views.commitFileDescriptionFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.files.description` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.formats.files.description#` instead"
},
"gitlens.views.commitFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.commits.label` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.commits.files.label#` instead"
},
"gitlens.views.commitDescriptionFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.commits.description` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.formats.commits.description#` instead"
},
"gitlens.views.stashFileFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.files.label` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.formats.files.label#` instead"
},
"gitlens.views.stashFileDescriptionFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.files.description` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.formats.files.description#` instead"
},
"gitlens.views.stashFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.stashes.label` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.stashes.files.label#` instead"
},
"gitlens.views.stashDescriptionFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.stashes.description` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.formats.stashes.description#` instead"
},
"gitlens.views.statusFileFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.files.label` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.formats.files.label#` instead"
},
"gitlens.views.statusFileDescriptionFormat": {
"deprecationMessage": "Deprecated. Use `gitlens.views.formats.files.description` instead",
"markdownDeprecationMessage": "Deprecated. Use `#gitlens.views.formats.files.description#` instead"
}
}
},
{
"id": "commits-view",
"title": "Commits View",
"order": 21,
"properties": {
"gitlens.views.commits.showBranchComparison": {
"type": [
"boolean",
"string"
],
"enum": [
false,
"branch",
"working"
],
"enumDescriptions": [
"Hides the branch comparison",
"Compares the current branch with a user-selected reference",
"Compares the working tree with a user-selected reference"
],
"default": "working",
"markdownDescription": "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",
"scope": "window",
"order": 10
},
"gitlens.views.commits.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "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)",
"scope": "window",
"order": 21
},
"gitlens.views.commits.pullRequests.showForBranches": {
"type": "boolean",
"default": true,
"markdownDescription": "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)",
"scope": "window",
"order": 22
},
"gitlens.views.commits.pullRequests.showForCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with commits in the _Commits_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 23
},
"gitlens.views.commits.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"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",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Commits_ view will display files",
"scope": "window",
"order": 30
},
"gitlens.views.commits.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "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`",
"scope": "window",
"order": 31
},
"gitlens.views.commits.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "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`",
"scope": "window",
"order": 32
},
"gitlens.views.commits.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Commits_ view will display file icons",
"scope": "window",
"order": 33
},
"gitlens.views.commits.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Commits_ view",
"scope": "window",
"order": 40
},
"gitlens.views.commits.reveal": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to reveal commits in the _Commits_ view, otherwise they revealed in the _Repositories_ view",
"scope": "window",
"order": 50
}
}
},
{
"id": "commit-details-view",
"title": "Commit Details View",
"order": 22,
"properties": {
"gitlens.views.commitDetails.autolinks.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to automatically link external resources in commit messages",
"scope": "window",
"order": 31
},
"gitlens.views.commitDetails.autolinks.enhanced": {
"type": "boolean",
"default": true,
"markdownDescription": "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)",
"scope": "window",
"order": 32
},
"gitlens.views.commitDetails.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to query for associated pull requests. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 21
},
"gitlens.views.commitDetails.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.commitDetails.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Commit Details_ view will display files",
"scope": "window",
"order": 30
},
"gitlens.views.commitDetails.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _Commit Details_ view. Only applies when `#gitlens.views.commitDetails.files.layout#` is set to `auto`",
"scope": "window",
"order": 31
},
"gitlens.views.commitDetails.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Commit Details_ view. Only applies when `#gitlens.views.commitDetails.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 32
},
"gitlens.views.commitDetails.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Commit Details_ view will display file icons",
"scope": "window",
"order": 33
},
"gitlens.views.commitDetails.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Commit Details_ view",
"scope": "window",
"order": 40
}
}
},
{
"id": "repositories-view",
"title": "Repositories View",
"order": 23,
"properties": {
"gitlens.views.repositories.showBranchComparison": {
"type": [
"boolean",
"string"
],
"enum": [
false,
"branch",
"working"
],
"enumDescriptions": [
"Hides the branch comparison",
"Compares the current branch with a user-selected reference",
"Compares the working tree with a user-selected reference"
],
"default": "working",
"markdownDescription": "Specifies whether to show a comparison of the current branch or the working tree with a user-selected reference (branch, tag. etc) in the _Repositories_ view",
"scope": "window",
"order": 10
},
"gitlens.views.repositories.showUpstreamStatus": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the upstream status of the current branch for each repository in the _Repositories_ view",
"scope": "window",
"order": 11
},
"gitlens.views.repositories.includeWorkingTree": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to include working tree file status for each repository in the _Repositories_ view",
"scope": "window",
"order": 12
},
"gitlens.views.repositories.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to query for pull requests associated with branches and commits in the _Repositories_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 20
},
"gitlens.views.repositories.pullRequests.showForBranches": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with branches in the _Repositories_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 21
},
"gitlens.views.repositories.pullRequests.showForCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with commits in the _Repositories_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 22
},
"gitlens.views.repositories.showCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the commits on the current branch for each repository in the _Repositories_ view",
"scope": "window",
"order": 30
},
"gitlens.views.repositories.showBranches": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the branches for each repository in the _Repositories_ view",
"scope": "window",
"order": 31
},
"gitlens.views.repositories.showRemotes": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the remotes for each repository in the _Repositories_ view",
"scope": "window",
"order": 32
},
"gitlens.views.repositories.showStashes": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the stashes for each repository in the _Repositories_ view",
"scope": "window",
"order": 33
},
"gitlens.views.repositories.showTags": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the tags for each repository in the _Repositories_ view",
"scope": "window",
"order": 34
},
"gitlens.views.repositories.showContributors": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the contributors for each repository in the _Repositories_ view",
"scope": "window",
"order": 35
},
"gitlens.views.repositories.showWorktrees": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the worktrees for each repository in the _Repositories_ view",
"scope": "window",
"order": 36
},
"gitlens.views.repositories.showIncomingActivity": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show the experimental incoming activity for each repository in the _Repositories_ view",
"scope": "window",
"order": 37
},
"gitlens.views.repositories.autoRefresh": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to automatically refresh the _Repositories_ view when the repository or the file system changes",
"scope": "window",
"order": 40
},
"gitlens.views.repositories.autoReveal": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to automatically reveal repositories in the _Repositories_ view when opening files",
"scope": "window",
"order": 50
},
"gitlens.views.repositories.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Repositories_ view",
"scope": "window",
"order": 60
},
"gitlens.views.repositories.branches.layout": {
"type": "string",
"default": "tree",
"enum": [
"list",
"tree"
],
"enumDescriptions": [
"Displays branches as a list",
"Displays branches as a tree when branch names contain slashes `/`"
],
"markdownDescription": "Specifies how the _Repositories_ view will display branches",
"scope": "window",
"order": 70
},
"gitlens.views.repositories.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"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",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Repositories_ view will display files",
"scope": "window",
"order": 80
},
"gitlens.views.repositories.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "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`",
"scope": "window",
"order": 81
},
"gitlens.views.repositories.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "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`",
"scope": "window",
"order": 82
},
"gitlens.views.repositories.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Repositories_ view will display file icons",
"scope": "window",
"order": 83
},
"gitlens.views.repositories.compact": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show the _Repositories_ view in a compact display density",
"scope": "window",
"order": 90
},
"gitlens.views.repositories.branches.showBranchComparison": {
"type": [
"boolean",
"string"
],
"enum": [
false,
"branch"
],
"enumDescriptions": [
"Hides the branch comparison",
"Compares the branch with a user-selected reference"
],
"default": "branch",
"markdownDescription": "Specifies whether to show a comparison of the branch with a user-selected reference (branch, tag. etc) under each branch in the _Repositories_ view",
"scope": "window",
"order": 100
},
"gitlens.views.repositories.enabled": {
"deprecationMessage": "Deprecated. This setting is no longer used",
"markdownDeprecationMessage": "Deprecated. This setting is no longer used"
}
}
},
{
"id": "file-history-view",
"title": "File History View",
"order": 24,
"properties": {
"gitlens.views.fileHistory.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to query for pull requests associated with commits in the _File History_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 21
},
"gitlens.views.fileHistory.pullRequests.showForCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with commits in the _File History_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 22
},
"gitlens.views.fileHistory.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.fileHistory.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _File History_ view will display files",
"scope": "window",
"order": 30
},
"gitlens.views.fileHistory.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _File History_ view. Only applies when `#gitlens.views.fileHistory.files.layout#` is set to `auto`",
"scope": "window",
"order": 31
},
"gitlens.views.fileHistory.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _File History_ view. Only applies when `#gitlens.views.fileHistory.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 32
},
"gitlens.views.fileHistory.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _File History_ view will display file icons",
"scope": "window",
"order": 33
},
"gitlens.views.fileHistory.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of status icons in the _File History_ view",
"scope": "window",
"order": 20
},
"gitlens.advanced.fileHistoryFollowsRenames": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether file histories will follow renames",
"scope": "window",
"order": 100
},
"gitlens.advanced.fileHistoryShowAllBranches": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether file histories will show commits from all branches",
"scope": "window",
"order": 101
},
"gitlens.advanced.fileHistoryShowMergeCommits": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether file histories will show merge commits",
"scope": "window",
"order": 102
}
}
},
{
"id": "line-history-view",
"title": "Line History View",
"order": 25,
"properties": {
"gitlens.views.lineHistory.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of status icons in the _Line History_ view",
"scope": "window",
"order": 10
},
"gitlens.views.lineHistory.enabled": {
"deprecationMessage": "Deprecated. This setting is no longer used",
"markdownDeprecationMessage": "Deprecated. This setting is no longer used"
}
}
},
{
"id": "branches-view",
"title": "Branches View",
"order": 26,
"properties": {
"gitlens.views.branches.showBranchComparison": {
"type": [
"boolean",
"string"
],
"enum": [
false,
"branch"
],
"enumDescriptions": [
"Hides the branch comparison",
"Compares the branch with a user-selected reference"
],
"default": "branch",
"markdownDescription": "Specifies whether to show a comparison of the branch with a user-selected reference (branch, tag. etc) in the _Branches_ view",
"scope": "window",
"order": 10
},
"gitlens.views.branches.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to query for pull requests associated with each branch and commits in the _Branches_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 20
},
"gitlens.views.branches.pullRequests.showForBranches": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with each branch in the _Branches_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 21
},
"gitlens.views.branches.pullRequests.showForCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with commits in the _Branches_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 22
},
"gitlens.views.branches.branches.layout": {
"type": "string",
"default": "tree",
"enum": [
"list",
"tree"
],
"enumDescriptions": [
"Displays branches as a list",
"Displays branches as a tree when branch names contain slashes `/`"
],
"markdownDescription": "Specifies how the _Branches_ view will display branches",
"scope": "window",
"order": 30
},
"gitlens.views.branches.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.branches.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Branches_ view will display files",
"scope": "window",
"order": 50
},
"gitlens.views.branches.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "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.branches.files.layout#` is set to `auto`",
"scope": "window",
"order": 51
},
"gitlens.views.branches.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Branches_ view. Only applies when `#gitlens.views.branches.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 52
},
"gitlens.views.branches.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Branches_ view will display file icons",
"scope": "window",
"order": 53
},
"gitlens.views.branches.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Branches_ view",
"scope": "window",
"order": 60
},
"gitlens.views.branches.reveal": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to reveal branches in the _Branches_ view, otherwise they revealed in the _Repositories_ view",
"scope": "window",
"order": 70
}
}
},
{
"id": "remotes-view",
"title": "Remotes View",
"order": 27,
"properties": {
"gitlens.views.remotes.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to query for pull requests associated with each branch and commits in the _Remotes_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 10
},
"gitlens.views.remotes.pullRequests.showForBranches": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with each branch in the _Remotes_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 11
},
"gitlens.views.remotes.pullRequests.showForCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with commits in the _Remotes_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 12
},
"gitlens.views.remotes.branches.layout": {
"type": "string",
"default": "tree",
"enum": [
"list",
"tree"
],
"enumDescriptions": [
"Displays branches as a list",
"Displays branches as a tree when branch names contain slashes `/`"
],
"markdownDescription": "Specifies how the _Remotes_ view will display branches",
"scope": "window",
"order": 20
},
"gitlens.views.remotes.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.remotes.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Remotes_ view will display files",
"scope": "window",
"order": 30
},
"gitlens.views.remotes.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "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.remotes.files.layout#` is set to `auto`",
"scope": "window",
"order": 31
},
"gitlens.views.remotes.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Remotes_ view. Only applies when `#gitlens.views.remotes.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 32
},
"gitlens.views.remotes.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Remotes_ view will display file icons",
"scope": "window",
"order": 33
},
"gitlens.views.remotes.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Remotes_ view",
"scope": "window",
"order": 40
},
"gitlens.views.remotes.reveal": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to reveal remotes in the _Remotes_ view, otherwise they revealed in the _Repositories_ view",
"scope": "window",
"order": 50
}
}
},
{
"id": "stashes-view",
"title": "Stashes View",
"order": 28,
"properties": {
"gitlens.views.stashes.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.stashes.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Stashes_ view will display files",
"scope": "window",
"order": 10
},
"gitlens.views.stashes.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "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.stashes.files.layout#` is set to `auto`",
"scope": "window",
"order": 11
},
"gitlens.views.stashes.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Stashes_ view. Only applies when `#gitlens.views.stashes.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 12
},
"gitlens.views.stashes.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Stashes_ view will display file icons",
"scope": "window",
"order": 13
},
"gitlens.views.stashes.reveal": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to reveal stashes in the _Stashes_ view, otherwise they revealed in the _Repositories_ view",
"scope": "window",
"order": 20
}
}
},
{
"id": "tags-view",
"title": "Tags View",
"order": 29,
"properties": {
"gitlens.views.tags.branches.layout": {
"type": "string",
"default": "tree",
"enum": [
"list",
"tree"
],
"enumDescriptions": [
"Displays tags as a list",
"Displays tags as a tree when tags names contain slashes `/`"
],
"markdownDescription": "Specifies how the _Tags_ view will display tags",
"scope": "window",
"order": 10
},
"gitlens.views.tags.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.tags.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Tags_ view will display files",
"scope": "window",
"order": 30
},
"gitlens.views.tags.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "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.tags.files.layout#` is set to `auto`",
"scope": "window",
"order": 31
},
"gitlens.views.tags.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Tags_ view. Only applies when `#gitlens.views.tags.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 32
},
"gitlens.views.tags.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Tags_ view will display file icons",
"scope": "window",
"order": 33
},
"gitlens.views.tags.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Tags_ view",
"scope": "window",
"order": 40
},
"gitlens.views.tags.reveal": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to reveal tags in the _Tags_ view, otherwise they revealed in the _Repositories_ view",
"scope": "window",
"order": 50
}
}
},
{
"id": "worktrees-view",
"title": "Worktrees View",
"order": 30,
"properties": {
"gitlens.worktrees.promptForLocation": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to prompt for a path when creating new worktrees",
"scope": "resource",
"order": 10
},
"gitlens.worktrees.defaultLocation": {
"type": "string",
"default": null,
"markdownDescription": "Specifies the default path in which new worktrees will be created",
"scope": "resource",
"order": 11
},
"gitlens.worktrees.openAfterCreate": {
"type": "string",
"default": "prompt",
"enum": [
"always",
"alwaysNewWindow",
"onlyWhenEmpty",
"never",
"prompt"
],
"enumDescriptions": [
"Always open the new worktree in the current window",
"Always open the new worktree in a new window",
"Only open the new worktree in the current window when no folder is opened",
"Never open the new worktree",
"Always prompt to open the new worktree"
],
"markdownDescription": "Specifies how and when to open a worktree after it is created",
"scope": "resource",
"order": 12
},
"gitlens.views.worktrees.showBranchComparison": {
"type": [
"boolean",
"string"
],
"enum": [
false,
"branch"
],
"enumDescriptions": [
"Hides the branch comparison",
"Compares the worktree branch with a user-selected reference"
],
"default": "working",
"markdownDescription": "Specifies whether to show a comparison of the worktree branch with a user-selected reference (branch, tag. etc) in the _Worktrees_ view",
"scope": "window",
"order": 20
},
"gitlens.views.worktrees.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "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)",
"scope": "window",
"order": 30
},
"gitlens.views.worktrees.pullRequests.showForBranches": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with the worktree branch in the _Worktrees_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 31
},
"gitlens.views.worktrees.pullRequests.showForCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "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)",
"scope": "window",
"order": 32
},
"gitlens.views.worktrees.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.worktrees.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Worktrees_ view will display files",
"scope": "window",
"order": 40
},
"gitlens.views.worktrees.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "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.worktrees.files.layout#` is set to `auto`",
"scope": "window",
"order": 41
},
"gitlens.views.worktrees.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Worktrees_ view. Only applies when `#gitlens.views.worktrees.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 42
},
"gitlens.views.worktrees.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Worktrees_ view will display file icons",
"scope": "window",
"order": 43
},
"gitlens.views.worktrees.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Worktrees_ view",
"scope": "window",
"order": 50
},
"gitlens.views.worktrees.reveal": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to reveal worktrees in the _Worktrees_ view, otherwise they revealed in the _Repositories_ view",
"scope": "window",
"order": 60
}
}
},
{
"id": "contributors-view",
"title": "Contributors View",
"order": 31,
"properties": {
"gitlens.views.contributors.showAllBranches": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show commits from all branches in the _Contributors_ view",
"scope": "window",
"order": 10
},
"gitlens.views.contributors.showStatistics": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show contributor statistics in the _Contributors_ view. This can take a while to compute depending on the repository size",
"scope": "window",
"order": 20
},
"gitlens.views.contributors.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to query for pull requests associated with branches and commits in the _Contributors_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 30
},
"gitlens.views.contributors.pullRequests.showForCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with commits in the _Contributors_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 31
},
"gitlens.views.contributors.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.contributors.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Contributors_ view will display files",
"scope": "window",
"order": 50
},
"gitlens.views.contributors.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "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.contributors.files.layout#` is set to `auto`",
"scope": "window",
"order": 51
},
"gitlens.views.contributors.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Contributors_ view. Only applies when `#gitlens.views.contributors.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 52
},
"gitlens.views.contributors.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Contributors_ view will display file icons",
"scope": "window",
"order": 53
},
"gitlens.views.contributors.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Contributors_ view",
"scope": "window",
"order": 60
},
"gitlens.views.contributors.reveal": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to reveal contributors in the _Contributors_ view, otherwise they revealed in the _Repositories_ view",
"scope": "window",
"order": 20
}
}
},
{
"id": "search-compare-view",
"title": "Search & Compare View",
"order": 32,
"properties": {
"gitlens.views.searchAndCompare.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to query for pull requests associated with commits in the _Search & Compare_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 10
},
"gitlens.views.searchAndCompare.pullRequests.showForCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with commits in the _Search & Compare_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 11
},
"gitlens.views.searchAndCompare.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.searchAndCompare.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Search & Compare_ view will display files",
"scope": "window",
"order": 20
},
"gitlens.views.searchAndCompare.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "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 & Compare_ view. Only applies when `#gitlens.views.searchAndCompare.files.layout#` is set to `auto`",
"scope": "window",
"order": 21
},
"gitlens.views.searchAndCompare.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Search & Compare_ view. Only applies when `#gitlens.views.searchAndCompare.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 22
},
"gitlens.views.searchAndCompare.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Search & Compare_ view will display file icons",
"scope": "window",
"order": 33
},
"gitlens.views.searchAndCompare.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Search & Compare_ view",
"scope": "window",
"order": 30
}
}
},
{
"id": "workspaces-view",
"title": "GitKraken Workspaces View",
"order": 33,
"properties": {
"gitlens.views.workspaces.showBranchComparison": {
"type": [
"boolean",
"string"
],
"enum": [
false,
"branch",
"working"
],
"enumDescriptions": [
"Hides the branch comparison",
"Compares the current branch with a user-selected reference",
"Compares the working tree with a user-selected reference"
],
"default": "working",
"markdownDescription": "Specifies whether to show a comparison of the current branch or the working tree with a user-selected reference (branch, tag. etc) in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 10
},
"gitlens.views.workspaces.showUpstreamStatus": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the upstream status of the current branch for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 11
},
"gitlens.views.workspaces.includeWorkingTree": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to include working tree file status for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 12
},
"gitlens.views.workspaces.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to query for pull requests associated with branches and commits in the _GitKraken Workspaces_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 20
},
"gitlens.views.workspaces.pullRequests.showForBranches": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with branches in the _GitKraken Workspaces_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 21
},
"gitlens.views.workspaces.pullRequests.showForCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show pull requests (if any) associated with commits in the _GitKraken Workspaces_ view. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 22
},
"gitlens.views.workspaces.showCommits": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the commits on the current branch for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 30
},
"gitlens.views.workspaces.showBranches": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the branches for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 31
},
"gitlens.views.workspaces.showRemotes": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the remotes for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 32
},
"gitlens.views.workspaces.showStashes": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the stashes for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 33
},
"gitlens.views.workspaces.showTags": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the tags for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 34
},
"gitlens.views.workspaces.showContributors": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the contributors for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 35
},
"gitlens.views.workspaces.showWorktrees": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the worktrees for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 36
},
"gitlens.views.workspaces.showIncomingActivity": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show the experimental incoming activity for each repository in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 37
},
"gitlens.views.workspaces.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 60
},
"gitlens.views.workspaces.branches.layout": {
"type": "string",
"default": "tree",
"enum": [
"list",
"tree"
],
"enumDescriptions": [
"Displays branches as a list",
"Displays branches as a tree when branch names contain slashes `/`"
],
"markdownDescription": "Specifies how the _GitKraken Workspaces_ view will display branches",
"scope": "window",
"order": 70
},
"gitlens.views.workspaces.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.workspaces.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _GitKraken Workspaces_ view will display files",
"scope": "window",
"order": 80
},
"gitlens.views.workspaces.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _GitKraken Workspaces_ view. Only applies when `#gitlens.views.workspaces.files.layout#` is set to `auto`",
"scope": "window",
"order": 81
},
"gitlens.views.workspaces.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _GitKraken Workspaces_ view. Only applies when `#gitlens.views.workspaces.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 82
},
"gitlens.views.workspaces.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _GitKraken Workspaces_ view will display file icons",
"scope": "window",
"order": 83
},
"gitlens.views.workspaces.compact": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show the _GitKraken Workspaces_ view in a compact display density",
"scope": "window",
"order": 90
},
"gitlens.views.workspaces.branches.showBranchComparison": {
"type": [
"boolean",
"string"
],
"enum": [
false,
"branch"
],
"enumDescriptions": [
"Hides the branch comparison",
"Compares the branch with a user-selected reference"
],
"default": "branch",
"markdownDescription": "Specifies whether to show a comparison of the branch with a user-selected reference (branch, tag. etc) under each branch in the _GitKraken Workspaces_ view",
"scope": "window",
"order": 100
}
}
},
{
"id": "patch-details-view",
"title": "Patch Details View",
"order": 34,
"properties": {
"gitlens.views.patchDetails.files.layout": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"list",
"tree"
],
"enumDescriptions": [
"Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.patchDetails.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"markdownDescription": "Specifies how the _Patch Details_ view will display files",
"scope": "window",
"order": 30
},
"gitlens.views.patchDetails.files.threshold": {
"type": "number",
"default": 5,
"markdownDescription": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _Patch Details_ view. Only applies when `#gitlens.views.patchDetails.files.layout#` is set to `auto`",
"scope": "window",
"order": 31
},
"gitlens.views.patchDetails.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Patch Details_ view. Only applies when `#gitlens.views.patchDetails.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 32
},
"gitlens.views.patchDetails.files.icon": {
"type": "string",
"default": "type",
"enum": [
"status",
"type"
],
"enumDescriptions": [
"Shows the file's status as the icon",
"Shows the file's type (theme icon) as the icon"
],
"markdownDescription": "Specifies how the _Patch Details_ view will display file icons",
"scope": "window",
"order": 33
},
"gitlens.views.patchDetails.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Patch Details_ view",
"scope": "window",
"order": 40
}
}
},
{
"id": "file-blame",
"title": "File Blame",
"order": 100,
"properties": {
"gitlens.blame.toggleMode": {
"type": "string",
"default": "file",
"enum": [
"file",
"window"
],
"enumDescriptions": [
"Toggles each file individually",
"Toggles the window, i.e. all files at once"
],
"markdownDescription": "Specifies how the file blame annotations will be toggled",
"scope": "window",
"order": 10
},
"gitlens.blame.format": {
"type": "string",
"default": "${message|50?} ${agoOrDate|14-}",
"markdownDescription": "Specifies the format of the file blame annotations. See [_Commit Tokens_](https://github.com/gitkraken/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `#gitlens.blame.dateFormat#` setting",
"scope": "window",
"order": 20
},
"gitlens.blame.heatmap.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a heatmap indicator in the file blame annotations",
"scope": "window",
"order": 30
},
"gitlens.blame.heatmap.location": {
"type": "string",
"default": "right",
"enum": [
"left",
"right"
],
"enumDescriptions": [
"Adds a heatmap indicator on the left edge of the file blame annotations",
"Adds a heatmap indicator on the right edge of the file blame annotations"
],
"markdownDescription": "Specifies where the heatmap indicators will be shown in the file blame annotations",
"scope": "window",
"order": 31
},
"gitlens.blame.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images in the file blame annotations",
"scope": "window",
"order": 40
},
"gitlens.blame.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (deduplicate) matching adjacent file blame annotations",
"scope": "window",
"order": 50
},
"gitlens.blame.highlight.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to highlight lines associated with the current line",
"scope": "window",
"order": 60
},
"gitlens.blame.highlight.locations": {
"type": "array",
"default": [
"gutter",
"line",
"overview"
],
"items": {
"type": "string",
"enum": [
"gutter",
"line",
"overview"
],
"enumDescriptions": [
"Adds an indicator to the gutter",
"Adds a full-line highlight background color",
"Adds an indicator to the scroll bar"
]
},
"minItems": 1,
"maxItems": 3,
"uniqueItems": true,
"markdownDescription": "Specifies where the associated line highlights will be shown",
"scope": "window",
"order": 61
},
"gitlens.blame.separateLines": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether file blame annotations will be separated by a small gap",
"scope": "window",
"order": 70
},
"gitlens.blame.dateFormat": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies how to format absolute dates (e.g. using the `${date}` token) in file blame annotations. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"scope": "window",
"order": 80
}
}
},
{
"id": "file-changes",
"title": "File Changes",
"order": 101,
"properties": {
"gitlens.changes.toggleMode": {
"type": "string",
"default": "file",
"enum": [
"file",
"window"
],
"enumDescriptions": [
"Toggles each file individually",
"Toggles the window, i.e. all files at once"
],
"markdownDescription": "Specifies how the file changes annotations will be toggled",
"scope": "window",
"order": 10
},
"gitlens.changes.locations": {
"type": "array",
"default": [
"gutter",
"line",
"overview"
],
"items": {
"type": "string",
"enum": [
"gutter",
"line",
"overview"
],
"enumDescriptions": [
"Adds an indicator to the gutter",
"Adds a full-line highlight background color",
"Adds an indicator to the scroll bar"
]
},
"minItems": 1,
"maxItems": 3,
"uniqueItems": true,
"markdownDescription": "Specifies where the indicators of the file changes annotations will be shown",
"scope": "window",
"order": 20
}
}
},
{
"id": "file-heatmap",
"title": "File Heatmap",
"order": 102,
"properties": {
"gitlens.heatmap.toggleMode": {
"type": "string",
"default": "file",
"enum": [
"file",
"window"
],
"enumDescriptions": [
"Toggles each file individually",
"Toggles the window, i.e. all files at once"
],
"markdownDescription": "Specifies how the file heatmap annotations will be toggled",
"scope": "window",
"order": 10
},
"gitlens.heatmap.locations": {
"type": "array",
"default": [
"gutter",
"overview"
],
"items": {
"type": "string",
"enum": [
"gutter",
"line",
"overview"
],
"enumDescriptions": [
"Adds an indicator to the gutter",
"Adds a full-line highlight background color",
"Adds an indicator to the scroll bar"
]
},
"minItems": 1,
"maxItems": 3,
"uniqueItems": true,
"markdownDescription": "Specifies where the indicators of the file heatmap annotations will be shown",
"scope": "window",
"order": 20
},
"gitlens.heatmap.fadeLines": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies the whether to fade out older lines",
"scope": "window",
"order": 21
},
"gitlens.heatmap.ageThreshold": {
"type": "number",
"default": 90,
"markdownDescription": "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#`)",
"scope": "window",
"order": 30
},
"gitlens.heatmap.coldColor": {
"type": "string",
"default": "#0a60f6",
"markdownDescription": "Specifies the base color of the file heatmap annotations when the most recent change is older (cold) than the `#gitlens.heatmap.ageThreshold#` value",
"scope": "window",
"order": 40
},
"gitlens.heatmap.hotColor": {
"type": "string",
"default": "#f66a0a",
"markdownDescription": "Specifies the base color of the file heatmap annotations when the most recent change is newer (hot) than the `#gitlens.heatmap.ageThreshold#` value",
"scope": "window",
"order": 50
}
}
},
{
"id": "graph",
"title": "Commit Graph",
"order": 200,
"properties": {
"gitlens.graph.allowMultiple": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to allow opening multiple instances of the _Commit Graph_ in the editor area",
"scope": "window",
"order": 5
},
"gitlens.graph.defaultItemLimit": {
"type": "number",
"default": 500,
"markdownDescription": "Specifies the default number of items to show in the _Commit Graph_. Use 0 to specify no limit",
"scope": "window",
"order": 10
},
"gitlens.graph.pageItemLimit": {
"type": "number",
"default": 200,
"markdownDescription": "Specifies the number of additional items to fetch when paginating in the _Commit Graph_. Use 0 to specify no limit",
"scope": "window",
"order": 11
},
"gitlens.graph.searchItemLimit": {
"type": "number",
"default": 100,
"markdownDescription": "Specifies the number of results to gather when searching in the _Commit Graph_. Use 0 to specify no limit",
"scope": "window",
"order": 12
},
"gitlens.graph.scrollMarkers.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show markers on the scrollbar in the _Commit Graph_",
"scope": "window",
"order": 13
},
"gitlens.graph.scrollMarkers.additionalTypes": {
"type": "array",
"default": [
"localBranches",
"stashes"
],
"items": {
"type": "string",
"enum": [
"localBranches",
"remoteBranches",
"stashes",
"tags"
],
"enumDescriptions": [
"Marks the location of local branches",
"Marks the location of remote branches",
"Marks the location of stashes",
"Marks the location of tags"
]
},
"minItems": 0,
"maxItems": 4,
"uniqueItems": true,
"markdownDescription": "Specifies additional markers to show on the scrollbar in the _Commit Graph_",
"scope": "window",
"order": 14
},
"gitlens.graph.scrollRowPadding": {
"type": "number",
"default": 0,
"markdownDescription": "Specifies the number of rows from the edge at which the graph will scroll when using keyboard or search to change the selected row",
"scope": "window",
"order": 14
},
"gitlens.graph.showDetailsView": {
"type": [
"boolean",
"string"
],
"default": "selection",
"enum": [
false,
"open",
"selection"
],
"enumDescriptions": [
"Never shows the _Commit Details_ view automatically",
"Shows the _Commit Details_ view automatically only when opening the _Commit Graph_",
"Shows the _Commit Details_ view automatically when selection changes in the _Commit Graph_"
],
"markdownDescription": "Specifies when to show the _Commit Details_ view for the selected row in the _Commit Graph_",
"scope": "window",
"order": 20
},
"gitlens.graph.showGhostRefsOnRowHover": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show a ghost branch / tag when hovering over or selecting a row in the _Commit Graph_",
"scope": "window",
"order": 21
},
"gitlens.graph.highlightRowsOnRefHover": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to highlight rows associated with the branch / tag when hovering over it in the _Commit Graph_",
"scope": "window",
"order": 22
},
"gitlens.graph.dimMergeCommits": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to dim (deemphasize) merge commit rows in the _Commit Graph_",
"scope": "window",
"order": 23
},
"gitlens.graph.showRemoteNames": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show remote names on remote branches in the _Commit Graph_",
"scope": "window",
"order": 24
},
"gitlens.graph.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of author initials and remote icons in the _Commit Graph_",
"scope": "window",
"order": 25
},
"gitlens.graph.showUpstreamStatus": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show a local branch's upstream status in the _Commit Graph_",
"scope": "window",
"order": 26
},
"gitlens.graph.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show associated pull requests on remote branches in the _Commit Graph_. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window",
"order": 27
},
"gitlens.graph.commitOrdering": {
"type": "string",
"default": "date",
"enum": [
"date",
"author-date",
"topo"
],
"enumDescriptions": [
"Shows commits in reverse chronological order of the commit timestamp",
"Shows commits in reverse chronological order of the author timestamp",
"Shows commits in reverse chronological order of the commit timestamp, but avoids intermixing multiple lines of history"
],
"markdownDescription": "Specifies the order by which commits will be shown on the _Commit Graph_",
"scope": "window",
"order": 30
},
"gitlens.graph.dateStyle": {
"type": [
"string",
"null"
],
"default": "relative",
"enum": [
"relative",
"absolute"
],
"enumDescriptions": [
"e.g. 1 day ago",
"e.g. July 25th, 2018 7:18pm"
],
"markdownDescription": "Specifies how dates will be displayed in the _Commit Graph_",
"scope": "window",
"order": 40
},
"gitlens.graph.dateFormat": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies how absolute dates will be formatted in the _Commit Graph_. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"scope": "window",
"order": 41
},
"gitlens.graph.statusBar.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the _Commit Graph_ in the status bar",
"scope": "window",
"order": 50
},
"gitlens.graph.layout": {
"type": "string",
"default": "panel",
"enum": [
"editor",
"panel"
],
"enumDescriptions": [
"Prefer showing the Commit Graph in the editor area",
"Prefer showing the Commit Graph in the bottom panel"
],
"markdownDescription": "Specifies the preferred layout of the _Commit Graph_",
"scope": "window",
"order": 99
},
"gitlens.graph.minimap.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show a minimap of commit activity above the _Commit Graph_",
"scope": "window",
"order": 100
},
"gitlens.graph.minimap.dataType": {
"type": "string",
"default": "commits",
"enum": [
"commits",
"lines"
],
"enumDescriptions": [
"Shows the number of commits per day in the minimap",
"Shows the number of lines changed per day in the minimap"
],
"markdownDescription": "Specifies the data to show on the minimap in the _Commit Graph_",
"scope": "window",
"order": 101
},
"gitlens.graph.minimap.additionalTypes": {
"type": "array",
"default": [
"localBranches",
"stashes"
],
"items": {
"type": "string",
"enum": [
"localBranches",
"remoteBranches",
"stashes",
"tags"
],
"enumDescriptions": [
"Marks the location of local branches",
"Marks the location of remote branches",
"Marks the location of stashes",
"Marks the location of tags"
]
},
"minItems": 0,
"maxItems": 4,
"uniqueItems": true,
"markdownDescription": "Specifies additional markers to show on the minimap in the _Commit Graph_",
"scope": "window",
"order": 102
}
}
},
{
"id": "cloud-patches",
"title": "Cloud Patches (Preview)",
"order": 300,
"properties": {
"gitlens.cloudPatches.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to enable the preview of _Cloud Patches_, which allow you to easily and securely share code with your teammates or other developers",
"scope": "window",
"order": 10
},
"gitlens.cloudPatches.experimental.layout": {
"type": "string",
"default": "view",
"enum": [
"editor",
"view"
],
"enumDescriptions": [
"Prefer showing Cloud Patches in the editor area",
"Prefer showing Cloud Patches in a view"
],
"markdownDescription": "Specifies the preferred layout of for _Cloud Patches_ (experimental)",
"scope": "window",
"order": 11
}
}
},
{
"id": "focus",
"title": "Focus (Preview)",
"order": 400,
"properties": {
"gitlens.focus.allowMultiple": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to allow opening multiple instances of the _Focus_",
"scope": "window",
"order": 10
}
}
},
{
"id": "visual-history",
"title": "Visual File History",
"order": 500,
"properties": {
"gitlens.visualHistory.allowMultiple": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to allow opening multiple instances of the _Visual File History_ in the editor area",
"scope": "window",
"order": 10
},
"gitlens.visualHistory.queryLimit": {
"type": "number",
"default": 20,
"markdownDescription": "Specifies the limit on the how many commits can be queried for statistics in the _Visual File History_, because of rate limits. Only applies to virtual workspaces.",
"scope": "window",
"order": 20
}
}
},
{
"id": "rebase-editor",
"title": "Interactive Rebase Editor",
"order": 600,
"properties": {
"gitlens.rebaseEditor.ordering": {
"type": "string",
"default": "desc",
"enum": [
"asc",
"desc"
],
"enumDescriptions": [
"Shows oldest commit first",
"Shows newest commit first"
],
"markdownDescription": "Specifies how Git commits are displayed in the _Interactive Rebase Editor_",
"scope": "window",
"order": 10
},
"gitlens.rebaseEditor.showDetailsView": {
"type": [
"boolean",
"string"
],
"default": "selection",
"enum": [
false,
"open",
"selection"
],
"enumDescriptions": [
"Never shows the _Commit Details_ view automatically",
"Shows the _Commit Details_ view automatically only when opening the _Interactive Rebase Editor_",
"Shows the _Commit Details_ view automatically when selection changes in the _Interactive Rebase Editor_"
],
"markdownDescription": "Specifies when to show the _Commit Details_ view for the selected row in the _Interactive Rebase Editor_",
"scope": "window",
"order": 20
}
}
},
{
"id": "git-command-palette",
"title": "Git Command Palette",
"order": 700,
"properties": {
"gitlens.gitCommands.sortBy": {
"type": "string",
"default": "usage",
"enum": [
"name",
"usage"
],
"enumDescriptions": [
"Sorts commands by name",
"Sorts commands by last used date"
],
"markdownDescription": "Specifies how Git commands are sorted in the _Git Command Palette_",
"scope": "window",
"order": 10
},
"gitlens.gitCommands.skipConfirmations": {
"type": "array",
"default": [
"fetch:command",
"stash-push:command",
"switch:command"
],
"items": {
"type": "string",
"enum": [
"branch-create:command",
"branch-create:menu",
"co-authors:command",
"co-authors:menu",
"fetch:command",
"fetch:menu",
"pull:command",
"pull:menu",
"push:command",
"push:menu",
"stash-apply:command",
"stash-apply:menu",
"stash-pop:command",
"stash-pop:menu",
"stash-push:command",
"stash-push:menu",
"switch:command",
"switch:menu",
"tag-create:command",
"tag-create:menu"
],
"enumDescriptions": [
"Skips branch create confirmations when run from a command, e.g. a view action",
"Skips branch create confirmations when run from the Git Command Palette",
"Skips co-author confirmations when run from a command, e.g. a view action",
"Skips co-author confirmations when run from the Git Command Palette",
"Skips fetch confirmations when run from a command, e.g. a view action",
"Skips fetch confirmations when run from the Git Command Palette",
"Skips pull confirmations when run from a command, e.g. a view action",
"Skips pull confirmations when run from the Git Command Palette",
"Skips push confirmations when run from a command, e.g. a view action",
"Skips push confirmations when run from the Git Command Palette",
"Skips stash apply confirmations when run from a command, e.g. a view action",
"Skips stash apply confirmations when run from the Git Command Palette",
"Skips stash pop confirmations when run from a command, e.g. a view action",
"Skips stash pop confirmations when run from the Git Command Palette",
"Skips stash push confirmations when run from a command, e.g. a view action",
"Skips stash push confirmations when run from the Git Command Palette",
"Skips switch confirmations when run from a command, e.g. a view action",
"Skips switch confirmations when run from the Git Command Palette",
"Skips tag create confirmations when run from a command, e.g. a view action",
"Skips tag create confirmations when run from the Git Command Palette"
]
},
"minItems": 0,
"maxItems": 14,
"uniqueItems": true,
"markdownDescription": "Specifies which (and when) Git commands will skip the confirmation step, using the format: `git-command-name:(menu|command)`",
"scope": "window",
"order": 20
},
"gitlens.gitCommands.closeOnFocusOut": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to dismiss the _Git Command Palette_ when focus is lost (if not, press `ESC` to dismiss)",
"scope": "window",
"order": 30
},
"gitlens.gitCommands.search.showResultsInSideBar": {
"type": [
"boolean",
"null"
],
"default": null,
"markdownDescription": "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",
"scope": "window",
"order": 40
},
"gitlens.gitCommands.search.matchAll": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to match all or any commit message search patterns",
"scope": "window",
"order": 50
},
"gitlens.gitCommands.search.matchCase": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to match commit search patterns with or without regard to casing",
"scope": "window",
"order": 51
},
"gitlens.gitCommands.search.matchRegex": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to match commit search patterns using regular expressions",
"scope": "window",
"order": 52
},
"gitlens.gitCommands.search.showResultsInView": {
"deprecationMessage": "Deprecated. This setting has been renamed to gitlens.gitCommands.search.showResultsInSideBar",
"markdownDeprecationMessage": "Deprecated. This setting has been renamed to `#gitlens.gitCommands.search.showResultsInSideBar#`"
}
}
},
{
"id": "integrations",
"title": "Integrations",
"order": 800,
"properties": {
"gitlens.autolinks": {
"type": [
"array",
"null"
],
"default": null,
"items": {
"type": "object",
"required": [
"prefix",
"url"
],
"properties": {
"prefix": {
"type": "string",
"description": "Specifies the short prefix to use to generate autolinks for the external resource"
},
"title": {
"type": [
"string",
"null"
],
"default": null,
"description": "Specifies an optional title for the generated autolink. Use `<num>` as the variable for the reference number"
},
"url": {
"type": "string",
"description": "Specifies the URL of the external resource you want to link to. Use `<num>` as the variable for the reference number"
},
"alphanumeric": {
"type": "boolean",
"description": "Specifies whether alphanumeric characters should be allowed in `<num>`",
"default": false
},
"ignoreCase": {
"type": "boolean",
"description": "Specifies whether case should be ignored when matching the prefix",
"default": false
}
},
"additionalProperties": false
},
"uniqueItems": true,
"markdownDescription": "Specifies autolinks to external resources in commit messages. Use `<num>` as the variable for the reference number",
"scope": "window",
"order": 10
},
"gitlens.integrations.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to enable rich integrations with any supported remote services",
"scope": "window",
"order": 20
},
"gitlens.remotes": {
"type": [
"array",
"null"
],
"default": null,
"items": {
"type": "object",
"required": [
"type"
],
"oneOf": [
{
"required": [
"domain"
]
},
{
"required": [
"regex"
]
}
],
"properties": {
"type": {
"type": "string",
"enum": [
"Custom",
"AzureDevOps",
"Bitbucket",
"BitbucketServer",
"Gerrit",
"GoogleSource",
"Gitea",
"GitHub",
"GitLab"
],
"description": "Specifies the type of the custom remote service"
},
"domain": {
"type": "string",
"description": "Specifies the domain name used to match this custom configuration to a Git remote"
},
"regex": {
"type": "string",
"description": "Specifies a regular expression used to match this custom configuration to a Git remote and capture the \"domain name\" and \"path\""
},
"name": {
"type": "string",
"description": "Specifies an optional friendly name for the custom remote service"
},
"protocol": {
"type": "string",
"default": "https",
"description": "Specifies an optional URL protocol for the custom remote service"
},
"ignoreSSLErrors": {
"type": "boolean",
"default": false,
"description": "Specifies whether to ignore invalid SSL certificate errors when connecting to the remote service"
},
"urls": {
"type": "object",
"required": [
"repository",
"branches",
"branch",
"commit",
"file",
"fileInCommit",
"fileInBranch",
"fileLine",
"fileRange"
],
"properties": {
"repository": {
"type": "string",
"markdownDescription": "Specifies the format of a repository URL for the custom remote service\n\nAvailable tokens\\\n`${repo}` &mdash; repository path"
},
"branches": {
"type": "string",
"markdownDescription": "Specifies the format of a branches URL for the custom remote service\n\nAvailable tokens\\\n`${repo}` &mdash; repository path\\\n`${branch}` &mdash; branch"
},
"branch": {
"type": "string",
"markdownDescription": "Specifies the format of a branch URL for the custom remote service\n\nAvailable tokens\\\n`${repo}` &mdash; repository path\\\n`${branch}` &mdash; branch"
},
"commit": {
"type": "string",
"markdownDescription": "Specifies the format of a commit URL for the custom remote service\n\nAvailable tokens\\\n`${repo}` &mdash; repository path\\\n`${id}` &mdash; commit SHA"
},
"file": {
"type": "string",
"markdownDescription": "Specifies the format of a file URL for the custom remote service\n\nAvailable tokens\\\n`${repo}` &mdash; repository path\\\n`${file}` &mdash; file name\\\n`${line}` &mdash; formatted line information"
},
"fileInBranch": {
"type": "string",
"markdownDescription": "Specifies the format of a branch file URL for the custom remote service\n\nAvailable tokens\\\n`${repo}` &mdash; repository path\\\n`${file}` &mdash; file name\\\n`${branch}` &mdash; branch\\\n`${line}` &mdash; formatted line information"
},
"fileInCommit": {
"type": "string",
"markdownDescription": "Specifies the format of a commit file URL for the custom remote service\n\nAvailable tokens\\\n`${repo}` &mdash; repository path\\\n`${file}` &mdash; file name\\\n`${id}` &mdash; commit SHA\\\n`${line}` &mdash; formatted line information"
},
"fileLine": {
"type": "string",
"markdownDescription": "Specifies the format of a line in a file URL for the custom remote service\n\nAvailable tokens\\\n`${line}` &mdash; line"
},
"fileRange": {
"type": "string",
"markdownDescription": "Specifies the format of a range in a file URL for the custom remote service\n\nAvailable tokens\\\n`${start}` &mdash; starting line\\\n`${end}` &mdash; ending line"
}
},
"additionalProperties": false
}
}
},
"uniqueItems": true,
"markdownDescription": "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",
"scope": "resource",
"order": 30
},
"gitlens.partners": {
"type": [
"object",
"null"
],
"additionalProperties": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether the partner integration should be shown"
}
},
"additionalProperties": true,
"description": "Specifies the configuration of a partner integration"
},
"default": null,
"description": "Specifies the configuration of a partner integration",
"scope": "window",
"order": 40
},
"gitlens.liveshare.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether to enable integration with Visual Studio Live Share",
"scope": "window",
"order": 50
},
"gitlens.liveshare.allowGuestAccess": {
"type": "boolean",
"default": true,
"description": "Specifies whether to allow guest access to GitLens features when using Visual Studio Live Share",
"scope": "window",
"order": 51
}
}
},
{
"id": "terminal",
"title": "Terminal",
"order": 900,
"properties": {
"gitlens.terminalLinks.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to enable terminal links &mdash; autolinks in the integrated terminal to quickly jump to more details for commits, branches, tags, and more",
"scope": "window",
"order": 10
},
"gitlens.terminalLinks.showDetailsView": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the _Commit Details_ view when clicking on a commit link in the integrated terminal",
"scope": "window",
"order": 20
},
"gitlens.terminal.overrideGitEditor": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to use VS Code as Git's `core.editor` for Gitlens terminal commands",
"scope": "window",
"order": 100
}
}
},
{
"id": "ai",
"title": "AI (Experimental)",
"order": 1000,
"properties": {
"gitlens.ai.experimental.generateCommitMessage.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to enable GitLens' experimental, AI-powered, on-demand commit message generation",
"scope": "window",
"order": 1
},
"gitlens.experimental.generateCommitMessagePrompt": {
"type": "string",
"default": "Now, please generate a commit message. Ensure that it includes a precise and informative subject line that succinctly summarizes the crux of the changes in under 50 characters. If necessary, follow with an explanatory body providing insight into the nature of the changes, the reasoning behind them, and any significant consequences or considerations arising from them. Conclude with any relevant issue references at the end of the message.",
"markdownDescription": "Specifies the prompt to use to tell OpenAI how to structure or format the generated commit message",
"scope": "window",
"order": 2
},
"gitlens.ai.experimental.provider": {
"type": [
"string",
"null"
],
"default": null,
"enum": [
"openai",
"anthropic"
],
"enumDescriptions": [
"OpenAI",
"Anthropic"
],
"markdownDescription": "Specifies the AI provider to use for GitLens' experimental AI features",
"scope": "window",
"order": 100
},
"gitlens.ai.experimental.openai.model": {
"type": [
"string",
"null"
],
"default": null,
"enum": [
"gpt-3.5-turbo",
"gpt-3.5-turbo-16k",
"gpt-3.5-turbo-0613",
"gpt-3.5-turbo-1106",
"gpt-4",
"gpt-4-0613",
"gpt-4-32k",
"gpt-4-32k-0613",
"gpt-4-1106-preview"
],
"enumDescriptions": [
"GPT-3.5 Turbo",
"GPT-3.5 Turbo 16k",
"GPT-3.5 Turbo (June 13)",
"GPT-3.5 Turbo (Nov 6)",
"GPT-4",
"GPT-4 (June 13)",
"GPT-4 32k",
"GPT-4 32k (June 13)",
"GPT-4 Turbo (Nov 6)"
],
"markdownDescription": "Specifies the OpenAI model to use for GitLens' experimental AI features",
"scope": "window",
"order": 101
},
"gitlens.ai.experimental.openai.url": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "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}",
"scope": "window",
"order": 102
},
"gitlens.ai.experimental.anthropic.model": {
"type": [
"string",
"null"
],
"default": null,
"enum": [
"claude-instant-1",
"claude-2",
"claude-2.1"
],
"enumDescriptions": [
"Claude Instant 1.2",
"Claude 2",
"Claude 2.1"
],
"markdownDescription": "Specifies the Anthropic model to use for GitLens' experimental AI features",
"scope": "window",
"order": 102
}
}
},
{
"id": "date-times",
"title": "Date & Times",
"order": 1100,
"properties": {
"gitlens.defaultDateStyle": {
"type": "string",
"default": "relative",
"enum": [
"relative",
"absolute"
],
"enumDescriptions": [
"e.g. 1 day ago",
"e.g. July 25th, 2018 7:18pm"
],
"markdownDescription": "Specifies how dates will be displayed by default",
"scope": "window",
"order": 10
},
"gitlens.defaultDateFormat": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies how absolute dates will be formatted by default. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"scope": "window",
"order": 20
},
"gitlens.defaultDateLocale": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "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.",
"scope": "window",
"order": 21
},
"gitlens.defaultDateShortFormat": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies how short absolute dates will be formatted by default. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"scope": "window",
"order": 22
},
"gitlens.defaultTimeFormat": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies how times will be formatted by default. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for supported formats",
"scope": "window",
"order": 30
},
"gitlens.defaultDateSource": {
"type": "string",
"default": "authored",
"enum": [
"authored",
"committed"
],
"enumDescriptions": [
"Uses the date when the changes were authored (i.e. originally written)",
"Uses the date when the changes were committed"
],
"markdownDescription": "Specifies whether commit dates should use the authored or committed date",
"scope": "window",
"order": 40
}
}
},
{
"id": "sorting",
"title": "Sorting",
"order": 1200,
"properties": {
"gitlens.sortRepositoriesBy": {
"type": "string",
"default": "discovered",
"enum": [
"discovered",
"lastFetched:desc",
"lastFetched:asc",
"name:asc",
"name:desc"
],
"enumDescriptions": [
"Sorts repositories by discovery or workspace order",
"Sorts repositories by last fetched date in descending order",
"Sorts repositories by last fetched date in ascending order",
"Sorts repositories by name in ascending order",
"Sorts repositories by name in descending order"
],
"markdownDescription": "Specifies how repositories are sorted in quick pick menus and views",
"scope": "window",
"order": 10
},
"gitlens.sortBranchesBy": {
"type": "string",
"default": "date:desc",
"enum": [
"date:desc",
"date:asc",
"name:asc",
"name:desc"
],
"enumDescriptions": [
"Sorts branches by the most recent commit date in descending order",
"Sorts branches by the most recent commit date in ascending order",
"Sorts branches by name in ascending order",
"Sorts branches by name in descending order"
],
"markdownDescription": "Specifies how branches are sorted in quick pick menus and views",
"scope": "window",
"order": 20
},
"gitlens.sortTagsBy": {
"type": "string",
"default": "date:desc",
"enum": [
"date:desc",
"date:asc",
"name:asc",
"name:desc"
],
"enumDescriptions": [
"Sorts tags by date in descending order",
"Sorts tags by date in ascending order",
"Sorts tags by name in ascending order",
"Sorts tags by name in descending order"
],
"markdownDescription": "Specifies how tags are sorted in quick pick menus and views",
"scope": "window",
"order": 30
},
"gitlens.sortContributorsBy": {
"type": "string",
"default": "count:desc",
"enum": [
"count:desc",
"count:asc",
"date:desc",
"date:asc",
"name:asc",
"name:desc"
],
"enumDescriptions": [
"Sorts contributors by commit count in descending order",
"Sorts contributors by commit count in ascending order",
"Sorts contributors by the most recent commit date in descending order",
"Sorts contributors by the most recent commit date in ascending order",
"Sorts contributors by name in ascending order",
"Sorts contributors by name in descending order"
],
"markdownDescription": "Specifies how contributors are sorted in quick pick menus and views",
"scope": "window",
"order": 40
}
}
},
{
"id": "menus-toolbars",
"title": "Menus & Toolbars",
"order": 1300,
"properties": {
"gitlens.menus": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"editor": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"blame": {
"type": "boolean"
},
"clipboard": {
"type": "boolean"
},
"compare": {
"type": "boolean"
},
"history": {
"type": "boolean"
},
"remote": {
"type": "boolean"
}
}
}
]
},
"editorGroup": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"blame": {
"type": "boolean"
},
"compare": {
"type": "boolean"
}
}
}
]
},
"editorGutter": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"compare": {
"type": "boolean"
},
"remote": {
"type": "boolean"
},
"share": {
"type": "boolean"
}
}
}
]
},
"editorTab": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"clipboard": {
"type": "boolean"
},
"compare": {
"type": "boolean"
},
"history": {
"type": "boolean"
},
"remote": {
"type": "boolean"
}
}
}
]
},
"explorer": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"clipboard": {
"type": "boolean"
},
"compare": {
"type": "boolean"
},
"history": {
"type": "boolean"
},
"remote": {
"type": "boolean"
}
}
}
]
},
"ghpr": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"worktree": {
"type": "boolean"
}
}
}
]
},
"scm": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"graph": {
"type": "boolean"
}
}
}
]
},
"scmRepositoryInline": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"graph": {
"type": "boolean"
}
}
}
]
},
"scmRepository": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"authors": {
"type": "boolean"
},
"generateCommitMessage": {
"type": "boolean"
},
"graph": {
"type": "boolean"
}
}
}
]
},
"scmGroupInline": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"stash": {
"type": "boolean"
}
}
}
]
},
"scmGroup": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"compare": {
"type": "boolean"
},
"openClose": {
"type": "boolean"
},
"stash": {
"type": "boolean"
}
}
}
]
},
"scmItemInline": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"stash": {
"type": "boolean"
}
}
}
]
},
"scmItem": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"clipboard": {
"type": "boolean"
},
"compare": {
"type": "boolean"
},
"history": {
"type": "boolean"
},
"remote": {
"type": "boolean"
},
"share": {
"type": "boolean"
},
"stash": {
"type": "boolean"
}
}
}
]
}
},
"additionalProperties": false
}
],
"default": {
"editor": {
"blame": true,
"clipboard": true,
"compare": true,
"history": true,
"remote": true
},
"editorGroup": {
"blame": true,
"compare": true
},
"editorGutter": {
"compare": true,
"remote": true,
"share": true
},
"editorTab": {
"clipboard": true,
"compare": true,
"history": true,
"remote": true
},
"explorer": {
"clipboard": true,
"compare": true,
"history": true,
"remote": true
},
"ghpr": {
"worktree": true
},
"scm": {
"graph": true
},
"scmRepositoryInline": {
"graph": true
},
"scmRepository": {
"authors": true,
"generateCommitMessage": true,
"graph": false
},
"scmGroupInline": {
"stash": true
},
"scmGroup": {
"compare": true,
"openClose": true,
"stash": true
},
"scmItemInline": {
"stash": false
},
"scmItem": {
"clipboard": true,
"compare": true,
"history": true,
"remote": true,
"share": true,
"stash": true
}
},
"markdownDescription": "Specifies which commands will be added to which menus",
"scope": "window",
"order": 10
}
}
},
{
"id": "keyboard",
"title": "Keyboard Shortcuts",
"order": 1400,
"properties": {
"gitlens.keymap": {
"type": "string",
"default": "chorded",
"enum": [
"alternate",
"chorded",
"none"
],
"enumDescriptions": [
"Adds an alternate set of shortcut keys that start with `Alt` (⌥ on macOS)",
"Adds a chorded set of shortcut keys that start with `Ctrl+Alt+G` (`⌥⌘G` on macOS)",
"No shortcut keys will be added"
],
"markdownDescription": "Specifies the keymap to use for GitLens shortcut keys",
"scope": "window",
"order": 10
}
}
},
{
"id": "modes",
"title": "Modes",
"order": 1500,
"properties": {
"gitlens.mode.statusBar.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide the active GitLens mode in the status bar",
"scope": "window",
"order": 10
},
"gitlens.mode.statusBar.alignment": {
"type": "string",
"default": "right",
"enum": [
"left",
"right"
],
"enumDescriptions": [
"Aligns to the left",
"Aligns to the right"
],
"markdownDescription": "Specifies the active GitLens mode alignment in the status bar",
"scope": "window",
"order": 11
},
"gitlens.mode.active": {
"type": "string",
"markdownDescription": "Specifies the active GitLens mode, if any",
"scope": "window",
"order": 20
},
"gitlens.modes": {
"type": "object",
"properties": {
"zen": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Specifies the friendly name of this user-defined mode"
},
"statusBarItemName": {
"type": "string",
"description": "Specifies the name shown in the status bar when this user-defined mode is active"
},
"description": {
"type": "string",
"description": "Specifies the description of this user-defined mode"
},
"codeLens": {
"type": "boolean",
"description": "Specifies whether to show any Git CodeLens when this user-defined mode is active"
},
"currentLine": {
"type": "boolean",
"description": "Specifies whether to show an inline blame annotation for the current line when this user-defined mode is active"
},
"hovers": {
"type": "boolean",
"description": "Specifies whether to show any hovers when this user-defined mode is active"
},
"statusBar": {
"type": "boolean",
"description": "Specifies whether to show blame information in the status bar when this user-defined mode is active"
}
}
},
"review": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Specifies the friendly name of this user-defined mode"
},
"statusBarItemName": {
"type": "string",
"description": "Specifies the name shown in the status bar when this user-defined mode is active"
},
"description": {
"type": "string",
"description": "Specifies the description of this user-defined mode"
},
"codeLens": {
"type": "boolean",
"description": "Specifies whether to show any Git CodeLens when this user-defined mode is active"
},
"currentLine": {
"type": "boolean",
"description": "Specifies whether to show an inline blame annotation for the current line when this user-defined mode is active"
},
"hovers": {
"type": "boolean",
"description": "Specifies whether to show any hovers when this user-defined mode is active"
},
"statusBar": {
"type": "boolean",
"description": "Specifies whether to show blame information in the status bar when this user-defined mode is active"
}
}
}
},
"additionalProperties": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Specifies the friendly name of this user-defined mode"
},
"statusBarItemName": {
"type": "string",
"description": "Specifies the name shown in the status bar when this user-defined mode is active"
},
"description": {
"type": "string",
"description": "Specifies the description of this user-defined mode"
},
"annotations": {
"type": "string",
"enum": [
"blame",
"changes",
"heatmap"
],
"enumDescriptions": [
"Shows the file blame annotations",
"Shows the file changes annotations",
"Shows the file heatmap annotations"
],
"description": "Specifies which (if any) file annotations will be shown when this user-defined mode is active"
},
"codeLens": {
"type": "boolean",
"description": "Specifies whether to show any Git CodeLens when this user-defined mode is active"
},
"currentLine": {
"type": "boolean",
"description": "Specifies whether to show an inline blame annotation for the current line when this user-defined mode is active"
},
"hovers": {
"type": "boolean",
"description": "Specifies whether to show any hovers when this user-defined mode is active"
},
"statusBar": {
"type": "boolean",
"description": "Specifies whether to show blame information in the status bar when this user-defined mode is active"
}
}
},
"default": {
"zen": {
"name": "Zen",
"statusBarItemName": "Zen",
"description": "for a zen-like experience, disables many visual features",
"codeLens": false,
"currentLine": false,
"hovers": false,
"statusBar": false
},
"review": {
"name": "Review",
"statusBarItemName": "Reviewing",
"description": "for reviewing code, enables many visual features",
"codeLens": true,
"currentLine": true,
"hovers": true
}
},
"markdownDescription": "Specifies the user-defined GitLens modes",
"scope": "window",
"order": 30
}
}
},
{
"id": "advanced",
"title": "Advanced",
"order": 10000,
"properties": {
"gitlens.detectNestedRepositories": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to attempt to detect nested repositories when opening files",
"scope": "resource",
"order": 0
},
"gitlens.telemetry.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to allow GitLens to send product usage telemetry.\n\n_**Note:** For GitLens to send any telemetry BOTH this setting and VS Code telemetry must be enabled. If either one is disabled no telemetry will be sent._",
"scope": "window",
"order": 1
},
"gitlens.advanced.messages": {
"type": "object",
"default": {
"suppressCommitHasNoPreviousCommitWarning": false,
"suppressCommitNotFoundWarning": false,
"suppressCreatePullRequestPrompt": false,
"suppressDebugLoggingWarning": false,
"suppressFileNotUnderSourceControlWarning": false,
"suppressGitDisabledWarning": false,
"suppressGitMissingWarning": false,
"suppressGitVersionWarning": false,
"suppressLineUncommittedWarning": false,
"suppressNoRepositoryWarning": false,
"suppressRebaseSwitchToTextWarning": false,
"suppressIntegrationDisconnectedTooManyFailedRequestsWarning": false,
"suppressIntegrationRequestFailed500Warning": false,
"suppressIntegrationRequestTimedOutWarning": false,
"suppressBlameInvalidIgnoreRevsFileWarning": false,
"suppressBlameInvalidIgnoreRevsFileBadRevisionWarning": false
},
"properties": {
"suppressCommitHasNoPreviousCommitWarning": {
"type": "boolean",
"default": false,
"description": "Commit Has No Previous Commit Warning"
},
"suppressCommitNotFoundWarning": {
"type": "boolean",
"default": false,
"description": "Commit Not Found Warning"
},
"suppressCreatePullRequestPrompt": {
"type": "boolean",
"default": false,
"description": "Create Pull Request Prompt"
},
"suppressDebugLoggingWarning": {
"type": "boolean",
"default": false,
"description": "Debug Logging Warning"
},
"suppressFileNotUnderSourceControlWarning": {
"type": "boolean",
"default": false,
"description": "File Not Under Source Control Warning"
},
"suppressGitDisabledWarning": {
"type": "boolean",
"default": false,
"description": "Git Disabled Warning"
},
"suppressGitMissingWarning": {
"type": "boolean",
"default": false,
"description": "Git Missing Warning"
},
"suppressGitVersionWarning": {
"type": "boolean",
"default": false,
"description": "Git Version Warning"
},
"suppressLineUncommittedWarning": {
"type": "boolean",
"default": false,
"description": "Line Uncommitted Warning"
},
"suppressNoRepositoryWarning": {
"type": "boolean",
"default": false,
"description": "No Repository Warning"
},
"suppressRebaseSwitchToTextWarning": {
"type": "boolean",
"default": false,
"description": "Rebase Switch To Text Warning"
},
"suppressIntegrationDisconnectedTooManyFailedRequestsWarning": {
"type": "boolean",
"default": false,
"description": "Integration Disconnected; Too Many Failed Requests Warning"
},
"suppressIntegrationRequestFailed500Warning": {
"type": "boolean",
"default": false,
"description": "Integration Request Failed (500 status code) Warning"
},
"suppressIntegrationRequestTimedOutWarning": {
"type": "boolean",
"default": false,
"description": "Integration Request Timed Out Warning"
},
"suppressBlameInvalidIgnoreRevsFileWarning": {
"type": "boolean",
"default": false,
"description": "Invalid Blame IgnoreRevs File Warning"
},
"suppressBlameInvalidIgnoreRevsFileBadRevisionWarning": {
"type": "boolean",
"default": false,
"description": "Invalid Revision in Blame IgnoreRevs File Warning"
}
},
"additionalProperties": false,
"markdownDescription": "Specifies which messages should be suppressed",
"scope": "window",
"order": 5
},
"gitlens.advanced.repositorySearchDepth": {
"type": "number",
"default": null,
"markdownDescription": "Specifies how many folders deep to search for repositories. Defaults to `#git.repositoryScanMaxDepth#`",
"scope": "resource",
"order": 10
},
"gitlens.advanced.abbreviatedShaLength": {
"type": "number",
"default": 7,
"markdownDescription": "Specifies the length of abbreviated commit SHAs",
"scope": "window",
"order": 20
},
"gitlens.advanced.abbreviateShaOnCopy": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to copy full or abbreviated commit SHAs to the clipboard. Abbreviates to the length of `#gitlens.advanced.abbreviatedShaLength#`.",
"scope": "window",
"order": 21
},
"gitlens.advanced.commitOrdering": {
"type": [
"string",
"null"
],
"default": null,
"enum": [
null,
"date",
"author-date",
"topo"
],
"enumDescriptions": [
"Shows commits in reverse chronological order",
"Shows commits in reverse chronological order of the commit timestamp",
"Shows commits in reverse chronological order of the author timestamp",
"Shows commits in reverse chronological order of the commit timestamp, but avoids intermixing multiple lines of history"
],
"markdownDescription": "Specifies the order by which commits will be shown. If unspecified, commits will be shown in reverse chronological order",
"scope": "window",
"order": 30
},
"gitlens.blame.ignoreWhitespace": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to ignore whitespace when comparing revisions during blame operations",
"scope": "resource",
"order": 40
},
"gitlens.advanced.blame.customArguments": {
"type": [
"array",
"null"
],
"default": null,
"items": {
"type": "string"
},
"markdownDescription": "Specifies additional arguments to pass to the `git blame` command",
"scope": "resource",
"order": 41
},
"gitlens.advanced.blame.delayAfterEdit": {
"type": "number",
"default": 5000,
"markdownDescription": "Specifies the time (in milliseconds) to wait before re-blaming an unsaved document after an edit. Use 0 to specify an infinite wait",
"scope": "window",
"order": 42
},
"gitlens.advanced.blame.sizeThresholdAfterEdit": {
"type": "number",
"default": 5000,
"markdownDescription": "Specifies the maximum document size (in lines) allowed to be re-blamed after an edit while still unsaved. Use 0 to specify no maximum",
"scope": "window",
"order": 43
},
"gitlens.advanced.similarityThreshold": {
"type": [
"number",
"null"
],
"default": null,
"markdownDescription": "Specifies the amount (percent) of similarity a deleted and added file pair must have to be considered a rename",
"scope": "window",
"order": 50
},
"gitlens.advanced.externalDiffTool": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies an optional external diff tool to use when comparing files. Must be a configured [Git difftool](https://git-scm.com/docs/git-config#Documentation/git-config.txt-difftool).",
"scope": "window",
"order": 60
},
"gitlens.advanced.externalDirectoryDiffTool": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies an optional external diff tool to use when comparing directories. Must be a configured [Git difftool](https://git-scm.com/docs/git-config#Documentation/git-config.txt-difftool).",
"scope": "window",
"order": 61
},
"gitlens.advanced.quickPick.closeOnFocusOut": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to dismiss quick pick menus when focus is lost (if not, press `ESC` to dismiss)",
"scope": "window",
"order": 70
},
"gitlens.advanced.maxListItems": {
"type": "number",
"default": 200,
"markdownDescription": "Specifies the maximum number of items to show in a list. Use 0 to specify no maximum",
"scope": "window",
"order": 80
},
"gitlens.advanced.maxSearchItems": {
"type": "number",
"default": 200,
"markdownDescription": "Specifies the maximum number of items to show in a search. Use 0 to specify no maximum",
"scope": "window",
"order": 81
},
"gitlens.advanced.caching.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether git output will be cached — changing the default is not recommended",
"scope": "window",
"order": 90
},
"gitlens.debug": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies debug mode",
"scope": "window",
"order": 100
},
"gitlens.deepLinks.schemeOverride": {
"type": [
"boolean",
"string"
],
"default": false,
"markdownDescription": "Specifies whether to override the default deep link scheme (vscode://) with the environment value or a specified value",
"scope": "window",
"order": 110
},
"gitlens.experimental.nativeGit": {
"type": [
"boolean",
"null"
],
"default": true,
"markdownDescription": "(Experimental) Specifies whether to use Git directly for fetch/push/pull operation instead of relying on VS Code's built-in Git implementation",
"scope": "window",
"order": 120
},
"gitlens.advanced.useSymmetricDifferenceNotation": {
"deprecationMessage": "Deprecated. This setting is no longer used",
"markdownDescription": "Deprecated. This setting is no longer used"
}
}
},
{
"id": "general",
"title": "General",
"order": 0,
"properties": {
"gitlens.showWelcomeOnInstall": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the Welcome experience on first install",
"scope": "window",
"order": 10
},
"gitlens.showWhatsNewAfterUpgrades": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the What's New notification after upgrading to new feature releases",
"scope": "window",
"order": 20
},
"gitlens.outputLevel": {
"type": "string",
"default": "warn",
"enum": [
"off",
"error",
"warn",
"info",
"debug"
],
"enumDescriptions": [
"Logs nothing",
"Logs only errors",
"Logs errors and warnings",
"Logs errors, warnings, and messages",
"Logs verbose errors, warnings, and messages. Best for issue reporting."
],
"markdownDescription": "Specifies how much (if any) output will be sent to the GitLens output channel",
"scope": "window",
"order": 30
},
"gitlens.defaultGravatarsStyle": {
"type": "string",
"default": "robohash",
"enum": [
"identicon",
"mp",
"monsterid",
"retro",
"robohash",
"wavatar"
],
"enumDescriptions": [
"A geometric pattern",
"A simple, cartoon-style silhouetted outline of a person (does not vary by email hash)",
"A monster with different colors, faces, etc",
"8-bit arcade-style pixelated faces",
"A robot with different colors, faces, etc",
"A face with differing features and backgrounds"
],
"markdownDescription": "Specifies the style of the gravatar default (fallback) images",
"scope": "window",
"order": 40
},
"gitlens.fileAnnotations.command": {
"type": [
"string",
"null"
],
"default": null,
"enum": [
null,
"blame",
"heatmap",
"changes"
],
"enumDescriptions": [
"Shows a menu to choose which file annotations to toggle",
"Toggles file blame annotations",
"Toggles file heatmap annotations",
"Toggles file changes annotations"
],
"markdownDescription": "Specifies whether the file annotations button in the editor title shows a menu or immediately toggles the specified file annotations",
"scope": "window",
"order": 50
},
"gitlens.proxy": {
"type": [
"object",
"null"
],
"default": null,
"items": {
"type": "object",
"required": [
"url",
"strictSSL"
],
"properties": {
"url": {
"type": [
"string",
"null"
],
"default": null,
"description": "Specifies the URL of the proxy server to use"
},
"strictSSL": {
"type": "boolean",
"description": "Specifies whether the proxy server certificate should be verified against the list of supplied CAs",
"default": true
}
},
"additionalProperties": false
},
"uniqueItems": true,
"description": "Specifies the proxy configuration to use. If not specified, the proxy configuration will be determined based on VS Code or OS settings",
"scope": "window",
"order": 55
},
"gitlens.plusFeatures.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to hide or show features that require a trial or paid plan and are not accessible given the opened repositories and current trial or plan",
"scope": "window",
"order": 60
},
"gitlens.virtualRepositories.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to enable virtual repositories support",
"scope": "window",
"order": 70
},
"gitlens.insiders": {
"deprecationMessage": "Deprecated. Use the pre-release edition of GitLens instead",
"markdownDeprecationMessage": "Deprecated. Use the pre-release of GitLens instead"
}
}
}
],
"configurationDefaults": {
"[ansible][azure-pipelines][css][dockerfile][dockercompose][html][json][jsonc][less][postcss][scss][stylus][vue][yaml]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[python]": {
"gitlens.codeLens.symbolScopes": [
"!Module"
]
}
},
"colors": [
{
"id": "gitlens.gutterBackgroundColor",
"description": "Specifies the background color of the file blame annotations",
"defaults": {
"dark": "#FFFFFF13",
"light": "#0000000C",
"highContrast": "#FFFFFF13"
}
},
{
"id": "gitlens.gutterForegroundColor",
"description": "Specifies the foreground color of the file blame annotations",
"defaults": {
"dark": "#BEBEBE",
"light": "#747474",
"highContrast": "#BEBEBE"
}
},
{
"id": "gitlens.gutterUncommittedForegroundColor",
"description": "Specifies the foreground color of an uncommitted line in the file blame annotations",
"defaults": {
"dark": "#00BCF299",
"light": "#00BCF299",
"highContrast": "#00BCF2FF"
}
},
{
"id": "gitlens.trailingLineBackgroundColor",
"description": "Specifies the background color of the inline blame annotation for the current line",
"defaults": {
"dark": "#00000000",
"light": "#00000000",
"highContrast": "#00000000"
}
},
{
"id": "gitlens.trailingLineForegroundColor",
"description": "Specifies the foreground color of the inline blame annotation for the current line",
"defaults": {
"dark": "#99999959",
"light": "#99999959",
"highContrast": "#99999999"
}
},
{
"id": "gitlens.lineHighlightBackgroundColor",
"description": "Specifies the background color of the associated line highlights in blame annotations",
"defaults": {
"dark": "#00BCF233",
"light": "#00BCF233",
"highContrast": "#00BCF233"
}
},
{
"id": "gitlens.lineHighlightOverviewRulerColor",
"description": "Specifies the scroll bar color of the associated line highlights in blame annotations",
"defaults": {
"dark": "#00BCF299",
"light": "#00BCF299",
"highContrast": "#00BCF299"
}
},
{
"id": "gitlens.openAutolinkedIssueIconColor",
"defaults": {
"dark": "#3fb950",
"light": "#1a7f37",
"highContrast": "#68ff79"
},
"description": "Specifies the icon color of open issues in the GitLens views"
},
{
"id": "gitlens.closedAutolinkedIssueIconColor",
"defaults": {
"dark": "#a371f7",
"light": "#8250df",
"highContrast": "#8945ff"
},
"description": "Specifies the icon color of closed issues in the GitLens views"
},
{
"id": "gitlens.closedPullRequestIconColor",
"description": "Specifies the icon color of closed pull requests in the GitLens views",
"defaults": {
"dark": "#f85149",
"light": "#cf222e",
"highContrast": "#ff544b"
}
},
{
"id": "gitlens.openPullRequestIconColor",
"description": "Specifies the icon color of open pull requests in the GitLens views",
"defaults": {
"dark": "#3fb950",
"light": "#1a7f37",
"highContrast": "#68ff79"
}
},
{
"id": "gitlens.mergedPullRequestIconColor",
"description": "Specifies the icon color of merged pull requests in the GitLens views",
"defaults": {
"dark": "#a371f7",
"light": "#8250df",
"highContrast": "#8945ff"
}
},
{
"id": "gitlens.unpublishedChangesIconColor",
"description": "Specifies the icon color of unpublished changes in the GitLens views",
"defaults": {
"dark": "#35b15e",
"light": "#35b15e",
"highContrast": "#4dff88"
}
},
{
"id": "gitlens.unpublishedCommitIconColor",
"description": "Specifies the icon color of unpublished commits in the GitLens views",
"defaults": {
"dark": "#35b15e",
"light": "#35b15e",
"highContrast": "#4dff88"
}
},
{
"id": "gitlens.unpulledChangesIconColor",
"description": "Specifies the icon color of unpulled changes in the GitLens views",
"defaults": {
"dark": "#b15e35",
"light": "#b15e35",
"highContrast": "#ff874c"
}
},
{
"id": "gitlens.decorations.addedForegroundColor",
"description": "Specifies the decoration foreground color of added files",
"defaults": {
"light": "gitDecoration.addedResourceForeground",
"dark": "gitDecoration.addedResourceForeground",
"highContrast": "gitDecoration.addedResourceForeground"
}
},
{
"id": "gitlens.decorations.copiedForegroundColor",
"description": "Specifies the decoration foreground color of copied files",
"defaults": {
"light": "gitDecoration.renamedResourceForeground",
"dark": "gitDecoration.renamedResourceForeground",
"highContrast": "gitDecoration.renamedResourceForeground"
}
},
{
"id": "gitlens.decorations.deletedForegroundColor",
"description": "Specifies the decoration foreground color of deleted files",
"defaults": {
"light": "gitDecoration.deletedResourceForeground",
"dark": "gitDecoration.deletedResourceForeground",
"highContrast": "gitDecoration.deletedResourceForeground"
}
},
{
"id": "gitlens.decorations.ignoredForegroundColor",
"description": "Specifies the decoration foreground color of ignored files",
"defaults": {
"light": "gitDecoration.ignoredResourceForeground",
"dark": "gitDecoration.ignoredResourceForeground",
"highContrast": "gitDecoration.ignoredResourceForeground"
}
},
{
"id": "gitlens.decorations.modifiedForegroundColor",
"description": "Specifies the decoration foreground color of modified files",
"defaults": {
"light": "gitDecoration.modifiedResourceForeground",
"dark": "gitDecoration.modifiedResourceForeground",
"highContrast": "gitDecoration.modifiedResourceForeground"
}
},
{
"id": "gitlens.decorations.untrackedForegroundColor",
"description": "Specifies the decoration foreground color of untracked files",
"defaults": {
"light": "gitDecoration.untrackedResourceForeground",
"dark": "gitDecoration.untrackedResourceForeground",
"highContrast": "gitDecoration.untrackedResourceForeground"
}
},
{
"id": "gitlens.decorations.renamedForegroundColor",
"description": "Specifies the decoration foreground color of renamed files",
"defaults": {
"light": "gitDecoration.renamedResourceForeground",
"dark": "gitDecoration.renamedResourceForeground",
"highContrast": "gitDecoration.renamedResourceForeground"
}
},
{
"id": "gitlens.decorations.branchAheadForegroundColor",
"description": "Specifies the decoration foreground color of branches that are ahead of their upstream",
"defaults": {
"dark": "#35b15e",
"light": "#35b15e",
"highContrast": "#4dff88"
}
},
{
"id": "gitlens.decorations.branchBehindForegroundColor",
"description": "Specifies the decoration foreground color of branches that are behind their upstream",
"defaults": {
"dark": "#b15e35",
"light": "#b15e35",
"highContrast": "#ff874c"
}
},
{
"id": "gitlens.decorations.branchDivergedForegroundColor",
"description": "Specifies the decoration foreground color of branches that are both ahead and behind their upstream",
"defaults": {
"dark": "#D8AF1B",
"light": "#D8AF1B",
"highContrast": "#D8AF1B"
}
},
{
"id": "gitlens.decorations.branchUpToDateForegroundColor",
"description": "Specifies the decoration foreground color of branches that are up to date with their upstream",
"defaults": {
"dark": "sideBar.foreground",
"light": "sideBar.foreground",
"highContrast": "sideBar.foreground"
}
},
{
"id": "gitlens.decorations.branchUnpublishedForegroundColor",
"description": "Specifies the decoration foreground color of branches that are not yet published to an upstream",
"defaults": {
"dark": "#35b15e",
"light": "#35b15e",
"highContrast": "#4dff88"
}
},
{
"id": "gitlens.decorations.branchMissingUpstreamForegroundColor",
"description": "Specifies the decoration foreground color of branches that have a missing upstream",
"defaults": {
"light": "#ad0707",
"dark": "#c74e39",
"highContrast": "#c74e39"
}
},
{
"id": "gitlens.decorations.statusMergingOrRebasingConflictForegroundColor",
"description": "Specifies the decoration foreground color of the status during a rebase operation with conflicts",
"defaults": {
"light": "#ad0707",
"dark": "#c74e39",
"highContrast": "#c74e39"
}
},
{
"id": "gitlens.decorations.statusMergingOrRebasingForegroundColor",
"description": "Specifies the decoration foreground color of the status during a rebase operation",
"defaults": {
"dark": "#D8AF1B",
"light": "#D8AF1B",
"highContrast": "#D8AF1B"
}
},
{
"id": "gitlens.decorations.workspaceRepoMissingForegroundColor",
"description": "Specifies the decoration foreground color of workspace repos which are missing a local path",
"defaults": {
"dark": "#909090",
"light": "#949494",
"highContrast": "#d3d3d3"
}
},
{
"id": "gitlens.decorations.workspaceCurrentForegroundColor",
"description": "Specifies the decoration foreground color of workspaces which are currently open as a Code Workspace file",
"defaults": {
"dark": "#35b15e",
"light": "#35b15e",
"highContrast": "#4dff88"
}
},
{
"id": "gitlens.decorations.workspaceRepoOpenForegroundColor",
"description": "Specifies the decoration foreground color of workspace repos which are open in the current workspace",
"defaults": {
"dark": "#35b15e",
"light": "#35b15e",
"highContrast": "#4dff88"
}
},
{
"id": "gitlens.decorations.worktreeHasUncommittedChangesForegroundColor",
"description": "Specifies the decoration foreground color for worktrees that have uncommitted changes",
"defaults": {
"light": "#895503",
"dark": "#E2C08D",
"highContrast": "#E2C08D"
}
},
{
"id": "gitlens.decorations.worktreeMissingForegroundColor",
"description": "Specifies the decoration foreground color for worktrees cannot be found on disk",
"defaults": {
"light": "#ad0707",
"dark": "#c74e39",
"highContrast": "#c74e39"
}
},
{
"id": "gitlens.graphLane1Color",
"description": "Specifies the color for the first commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#15a0bf",
"dark": "#15a0bf",
"highContrast": "#15a0bf"
}
},
{
"id": "gitlens.graphLane2Color",
"description": "Specifies the color for the second commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#0669f7",
"dark": "#0669f7",
"highContrast": "#0669f7"
}
},
{
"id": "gitlens.graphLane3Color",
"description": "Specifies the color for the third commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#8e00c2",
"dark": "#8e00c2",
"highContrast": "#8e00c2"
}
},
{
"id": "gitlens.graphLane4Color",
"description": "Specifies the color for the fourth commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#c517b6",
"dark": "#c517b6",
"highContrast": "#c517b6"
}
},
{
"id": "gitlens.graphLane5Color",
"description": "Specifies the color for the fifth commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#d90171",
"dark": "#d90171",
"highContrast": "#d90171"
}
},
{
"id": "gitlens.graphLane6Color",
"description": "Specifies the color for the sixth commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#cd0101",
"dark": "#cd0101",
"highContrast": "#cd0101"
}
},
{
"id": "gitlens.graphLane7Color",
"description": "Specifies the color for the seventh commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#f25d2e",
"dark": "#f25d2e",
"highContrast": "#f25d2e"
}
},
{
"id": "gitlens.graphLane8Color",
"description": "Specifies the color for the eighth commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#f2ca33",
"dark": "#f2ca33",
"highContrast": "#f2ca33"
}
},
{
"id": "gitlens.graphLane9Color",
"description": "Specifies the color for the ninth commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#7bd938",
"dark": "#7bd938",
"highContrast": "#7bd938"
}
},
{
"id": "gitlens.graphLane10Color",
"description": "Specifies the color for the tenth commit lane of the _Commit Graph_ visualization",
"defaults": {
"light": "#2ece9d",
"dark": "#2ece9d",
"highContrast": "#2ece9d"
}
},
{
"id": "gitlens.graphChangesColumnAddedColor",
"description": "Specifies the color for denoting lines added in the _Changes_ column on the _Commit Graph_",
"defaults": {
"light": "#2da44e",
"highContrastLight": "#2da44e",
"dark": "#347d39",
"highContrast": "#347d39"
}
},
{
"id": "gitlens.graphChangesColumnDeletedColor",
"description": "Specifies the color for denoting lines deleted in the _Changes_ column on the _Commit Graph_",
"defaults": {
"light": "#cf222e",
"highContrastLight": "#cf222e",
"dark": "#c93c37",
"highContrast": "#c93c37"
}
},
{
"id": "gitlens.graphMinimapMarkerHeadColor",
"description": "Specifies the color marking HEAD on the minimap of the _Commit Graph_",
"defaults": {
"light": "#04c814",
"highContrastLight": "#04c814",
"dark": "#05e617",
"highContrast": "#05e617"
}
},
{
"id": "gitlens.graphScrollMarkerHeadColor",
"description": "Specifies the color marking HEAD on the scrollbar of the _Commit Graph_",
"defaults": {
"light": "#04c814",
"highContrastLight": "#04c814",
"dark": "#05e617",
"highContrast": "#05e617"
}
},
{
"id": "gitlens.graphMinimapMarkerUpstreamColor",
"description": "Specifies the color marking HEAD's upstream on the minimap of the _Commit Graph_",
"defaults": {
"light": "#8cd993",
"highContrastLight": "#8cd993",
"dark": "#09ae17",
"highContrast": "#09ae17"
}
},
{
"id": "gitlens.graphScrollMarkerUpstreamColor",
"description": "Specifies the color marking HEAD's upstream on the scrollbar of the _Commit Graph_",
"defaults": {
"light": "#8cd993",
"highContrastLight": "#8cd993",
"dark": "#09ae17",
"highContrast": "#09ae17"
}
},
{
"id": "gitlens.graphMinimapMarkerHighlightsColor",
"description": "Specifies the color marking highlights (matches) on the minimap of the _Commit Graph_",
"defaults": {
"light": "#f5cc00",
"highContrastLight": "#f5cc00",
"dark": "#fbff0a",
"highContrast": "#fbff0a"
}
},
{
"id": "gitlens.graphScrollMarkerHighlightsColor",
"description": "Specifies the color marking highlights (matches) on the scrollbar of the _Commit Graph_",
"defaults": {
"light": "#f5cc00",
"highContrastLight": "#f5cc00",
"dark": "#fbff0a",
"highContrast": "#fbff0a"
}
},
{
"id": "gitlens.graphMinimapMarkerLocalBranchesColor",
"description": "Specifies the color marking local branches on the minimap of the _Commit Graph_",
"defaults": {
"light": "#3095e8",
"highContrastLight": "#3095e8",
"dark": "#3087cf",
"highContrast": "#3087cf"
}
},
{
"id": "gitlens.graphScrollMarkerLocalBranchesColor",
"description": "Specifies the color marking local branches on the scrollbar of the _Commit Graph_",
"defaults": {
"light": "#3095e8",
"highContrastLight": "#3095e8",
"dark": "#3087cf",
"highContrast": "#3087cf"
}
},
{
"id": "gitlens.graphMinimapMarkerRemoteBranchesColor",
"description": "Specifies the color marking remote branches on the minimap of the _Commit Graph_",
"defaults": {
"light": "#67ace4",
"highContrastLight": "#67ace4",
"dark": "#2b5e88",
"highContrast": "#2b5e88"
}
},
{
"id": "gitlens.graphScrollMarkerRemoteBranchesColor",
"description": "Specifies the color marking remote branches on the scrollbar of the _Commit Graph_",
"defaults": {
"light": "#67ace4",
"highContrastLight": "#67ace4",
"dark": "#2b5e88",
"highContrast": "#2b5e88"
}
},
{
"id": "gitlens.graphMinimapMarkerStashesColor",
"description": "Specifies the color marking stashes on the minimap of the _Commit Graph_",
"defaults": {
"light": "#e467e4",
"highContrastLight": "#e467e4",
"dark": "#b34db3",
"highContrast": "#b34db3"
}
},
{
"id": "gitlens.graphScrollMarkerStashesColor",
"description": "Specifies the color marking stashes on the scrollbar of the _Commit Graph_",
"defaults": {
"light": "#e467e4",
"highContrastLight": "#e467e4",
"dark": "#b34db3",
"highContrast": "#b34db3"
}
},
{
"id": "gitlens.graphMinimapMarkerTagsColor",
"description": "Specifies the color marking tags on the minimap of the _Commit Graph_",
"defaults": {
"light": "#d2a379",
"highContrastLight": "#d2a379",
"dark": "#6b562e",
"highContrast": "#6b562e"
}
},
{
"id": "gitlens.graphScrollMarkerTagsColor",
"description": "Specifies the color marking tags on the scrollbar of the _Commit Graph_",
"defaults": {
"light": "#d2a379",
"highContrastLight": "#d2a379",
"dark": "#6b562e",
"highContrast": "#6b562e"
}
}
],
"commands": [
{
"command": "gitlens.generateCommitMessage",
"title": "Generate Commit Message (Experimental)...",
"category": "GitLens"
},
{
"command": "gitlens.resetAIKey",
"title": "Reset Stored AI Key",
"category": "GitLens"
},
{
"command": "gitlens.plus.loginOrSignUp",
"title": "Sign In to GitKraken...",
"category": "GitLens"
},
{
"command": "gitlens.plus.logout",
"title": "Sign Out of GitKraken",
"category": "GitLens"
},
{
"command": "gitlens.plus.startPreviewTrial",
"title": "Preview Pro",
"category": "GitLens"
},
{
"command": "gitlens.plus.manage",
"title": "Manage Your Account...",
"category": "GitLens"
},
{
"command": "gitlens.plus.purchase",
"title": "Upgrade to Pro...",
"category": "GitLens"
},
{
"command": "gitlens.plus.hide",
"title": "Hide Pro Features",
"category": "GitLens"
},
{
"command": "gitlens.plus.restore",
"title": "Restore Pro Features",
"category": "GitLens"
},
{
"command": "gitlens.plus.reset",
"title": "Reset",
"category": "GitLens"
},
{
"command": "gitlens.plus.resetRepositoryAccess",
"title": "Reset Repository Access Cache",
"category": "GitLens"
},
{
"command": "gitlens.plus.refreshRepositoryAccess",
"title": "Refresh Repository Access",
"category": "GitLens"
},
{
"command": "gitlens.getStarted",
"title": "Get Started",
"category": "GitLens"
},
{
"command": "gitlens.showPatchDetailsPage",
"title": "Show Patch Details",
"category": "GitLens"
},
{
"command": "gitlens.createPatch",
"title": "Create Patch...",
"category": "GitLens"
},
{
"command": "gitlens.createCloudPatch",
"title": "Create Patch...",
"category": "GitLens"
},
{
"command": "gitlens.shareAsCloudPatch",
"title": "Share as Cloud Patch...",
"category": "GitLens"
},
{
"command": "gitlens.openCloudPatch",
"title": "Open Cloud Patch...",
"category": "GitLens"
},
{
"command": "gitlens.openPatch",
"title": "Open Patch...",
"category": "GitLens"
},
{
"command": "gitlens.showBranchesView",
"title": "Show Branches View",
"category": "GitLens"
},
{
"command": "gitlens.showCommitDetailsView",
"title": "Show Commit Details View",
"category": "GitLens"
},
{
"command": "gitlens.showCommitsView",
"title": "Show Commits View",
"category": "GitLens"
},
{
"command": "gitlens.showContributorsView",
"title": "Show Contributors View",
"category": "GitLens"
},
{
"command": "gitlens.showDraftsView",
"title": "Show Cloud Patches View",
"category": "GitLens"
},
{
"command": "gitlens.showFileHistoryView",
"title": "Show File History View",
"category": "GitLens"
},
{
"command": "gitlens.showFocusPage",
"title": "Show Focus",
"category": "GitLens",
"icon": "$(layers)"
},
{
"command": "gitlens.focus.split",
"title": "Split Focus",
"category": "GitLens",
"icon": "$(split-horizontal)"
},
{
"command": "gitlens.showGraph",
"title": "Show Commit Graph",
"category": "GitLens",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.showGraphPage",
"title": "Show Commit Graph in Editor Area",
"category": "GitLens",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.graph.split",
"title": "Split Commit Graph",
"category": "GitLens",
"icon": "$(split-horizontal)"
},
{
"command": "gitlens.showGraphView",
"title": "Show Commit Graph View",
"category": "GitLens",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.toggleGraph",
"title": "Toggle Commit Graph",
"category": "GitLens",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.toggleMaximizedGraph",
"title": "Toggle Maximized Commit Graph",
"category": "GitLens",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.showHomeView",
"title": "Show Home View",
"category": "GitLens"
},
{
"command": "gitlens.showAccountView",
"title": "Show Account View",
"category": "GitLens"
},
{
"command": "gitlens.showInCommitGraph",
"title": "Open in Commit Graph",
"category": "GitLens",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.showInCommitGraphView",
"title": "Open in Commit Graph",
"category": "GitLens",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.showLineHistoryView",
"title": "Show Line History View",
"category": "GitLens"
},
{
"command": "gitlens.showRemotesView",
"title": "Show Remotes View",
"category": "GitLens"
},
{
"command": "gitlens.showRepositoriesView",
"title": "Show Repositories View",
"category": "GitLens"
},
{
"command": "gitlens.showSearchAndCompareView",
"title": "Show Search And Compare Commits View",
"category": "GitLens"
},
{
"command": "gitlens.showSettingsPage",
"title": "Open Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!views",
"title": "Open Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!autolinks",
"title": "Configure Autolinks",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!branches-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!commits-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!contributors-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!file-history-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!line-history-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!remotes-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!repositories-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!search-compare-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!stashes-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!tags-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!worktrees-view",
"title": "Open View Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage!commit-graph",
"title": "Open Commit Graph Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showTimelinePage",
"title": "Show Visual File History",
"category": "GitLens",
"icon": "$(graph-scatter)"
},
{
"command": "gitlens.showInTimeline",
"title": "Open Visual File History",
"category": "GitLens",
"icon": "$(graph-scatter)"
},
{
"command": "gitlens.timeline.split",
"title": "Split Visual File History",
"category": "GitLens",
"icon": "$(split-horizontal)"
},
{
"command": "gitlens.showStashesView",
"title": "Show Stashes View",
"category": "GitLens"
},
{
"command": "gitlens.showTagsView",
"title": "Show Tags View",
"category": "GitLens"
},
{
"command": "gitlens.showTimelineView",
"title": "Show Visual File History View",
"category": "GitLens"
},
{
"command": "gitlens.showWelcomePage",
"title": "Welcome",
"category": "GitLens"
},
{
"command": "gitlens.showWorktreesView",
"title": "Show Worktrees View",
"category": "GitLens"
},
{
"command": "gitlens.showWorkspacesView",
"title": "Show GitKraken Workspaces View",
"category": "GitLens"
},
{
"command": "gitlens.compareWith",
"title": "Compare References...",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.compareHeadWith",
"title": "Compare HEAD with...",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.compareWorkingWith",
"title": "Compare Working Tree with...",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.diffDirectory",
"title": "Open Directory Compare (difftool) with...",
"category": "GitLens"
},
{
"command": "gitlens.diffDirectoryWithHead",
"title": "Open Directory Compare (difftool)",
"category": "GitLens"
},
{
"command": "gitlens.diffWithNext",
"title": "Open Changes with Next Revision",
"category": "GitLens",
"icon": "$(gitlens-next-commit)",
"enablement": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"title": "Open Changes with Next Revision",
"category": "GitLens",
"icon": "$(gitlens-next-commit)",
"enablement": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffWithNextInDiffRight",
"title": "Open Changes with Next Revision",
"category": "GitLens",
"icon": "$(gitlens-next-commit)",
"enablement": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffWithPrevious",
"title": "Open Changes with Previous Revision",
"category": "GitLens",
"icon": "$(gitlens-prev-commit)"
},
{
"command": "gitlens.diffWithPreviousInDiffLeft",
"title": "Open Changes with Previous Revision",
"category": "GitLens",
"icon": "$(gitlens-prev-commit)"
},
{
"command": "gitlens.diffWithPreviousInDiffRight",
"title": "Open Changes with Previous Revision",
"category": "GitLens",
"icon": "$(gitlens-prev-commit)"
},
{
"command": "gitlens.diffLineWithPrevious",
"title": "Open Line Changes with Previous Revision",
"category": "GitLens"
},
{
"command": "gitlens.diffWithRevision",
"title": "Open Changes with Revision...",
"category": "GitLens",
"icon": "$(gitlens-prev-commit-menu)"
},
{
"command": "gitlens.diffWithRevisionFrom",
"title": "Open Changes with Branch or Tag...",
"category": "GitLens"
},
{
"command": "gitlens.diffWithWorking",
"title": "Open Changes with Working File",
"category": "GitLens",
"icon": "$(gitlens-compare-ref-working)"
},
{
"command": "gitlens.diffWithWorkingInDiffLeft",
"title": "Open Changes with Working File",
"category": "GitLens",
"icon": "$(gitlens-compare-ref-working)"
},
{
"command": "gitlens.diffWithWorkingInDiffRight",
"title": "Open Changes with Working File",
"category": "GitLens",
"icon": "$(gitlens-compare-ref-working)"
},
{
"command": "gitlens.diffLineWithWorking",
"title": "Open Line Changes with Working File",
"category": "GitLens"
},
{
"command": "gitlens.disableRebaseEditor",
"title": "Disable Interactive Rebase Editor",
"category": "GitLens"
},
{
"command": "gitlens.enableRebaseEditor",
"title": "Enable Interactive Rebase Editor",
"category": "GitLens"
},
{
"command": "gitlens.toggleFileBlame",
"title": "Toggle File Blame",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.toggleFileBlameInDiffLeft",
"title": "Toggle File Blame",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.toggleFileBlameInDiffRight",
"title": "Toggle File Blame",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.clearFileAnnotations",
"title": "Clear File Annotations",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git-orange.svg",
"light": "images/light/icon-git-orange.svg"
}
},
{
"command": "gitlens.computingFileAnnotations",
"title": "Computing File Annotations...",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git-progress.svg",
"light": "images/light/icon-git-progress.svg"
}
},
{
"command": "gitlens.toggleFileHeatmap",
"title": "Toggle File Heatmap",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.toggleFileHeatmapInDiffLeft",
"title": "Toggle File Heatmap",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.toggleFileHeatmapInDiffRight",
"title": "Toggle File Heatmap",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.toggleFileChanges",
"title": "Toggle File Changes",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.toggleFileChangesOnly",
"title": "Toggle File Changes",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.toggleLineBlame",
"title": "Toggle Line Blame",
"category": "GitLens"
},
{
"command": "gitlens.toggleCodeLens",
"title": "Toggle Git CodeLens",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands",
"title": "Git Command Palette",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.branch",
"title": "Git Branch...",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.cherryPick",
"title": "Git Cherry Pick...",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.merge",
"title": "Git Merge...",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.rebase",
"title": "Git Rebase...",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.reset",
"title": "Git Reset...",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.revert",
"title": "Git Revert...",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.switch",
"title": "Git Switch...",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.tag",
"title": "Git Tag...",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.worktree",
"title": "Git Worktree...",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands.worktree.open",
"title": "Open Git Worktree...",
"category": "GitLens"
},
{
"command": "gitlens.switchAIModel",
"title": "Switch AI Model",
"category": "GitLens"
},
{
"command": "gitlens.switchMode",
"title": "Switch Mode",
"category": "GitLens"
},
{
"command": "gitlens.toggleReviewMode",
"title": "Toggle Review Mode",
"category": "GitLens"
},
{
"command": "gitlens.toggleZenMode",
"title": "Toggle Zen Mode",
"category": "GitLens"
},
{
"command": "gitlens.resetViewsLayout",
"title": "Reset Views Layout",
"category": "GitLens"
},
{
"command": "gitlens.showCommitSearch",
"title": "Search Commits",
"category": "GitLens",
"icon": "$(search)"
},
{
"command": "gitlens.showLastQuickPick",
"title": "Show Last Opened Quick Pick",
"category": "GitLens"
},
{
"command": "gitlens.revealCommitInView",
"title": "Reveal Commit in Side Bar",
"category": "GitLens"
},
{
"command": "gitlens.showCommitInView",
"title": "Open Commit Details",
"category": "GitLens",
"icon": "$(eye)"
},
{
"command": "gitlens.showLineCommitInView",
"title": "Open Line Commit Details",
"category": "GitLens",
"icon": "$(eye)"
},
{
"command": "gitlens.showInDetailsView",
"title": "Open Details",
"category": "GitLens",
"icon": "$(eye)"
},
{
"command": "gitlens.showCommitsInView",
"title": "Search for Commits within Selection",
"category": "GitLens"
},
{
"command": "gitlens.showFileHistoryInView",
"title": "Open File History",
"category": "GitLens"
},
{
"command": "gitlens.openFileHistory",
"title": "Open File History",
"category": "GitLens"
},
{
"command": "gitlens.openFolderHistory",
"title": "Open Folder History",
"category": "GitLens"
},
{
"command": "gitlens.showQuickCommitDetails",
"title": "Quick Show Commit",
"category": "GitLens"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"title": "Quick Show Line Commit",
"category": "GitLens"
},
{
"command": "gitlens.showQuickRevisionDetails",
"title": "Show Revision Commit",
"category": "GitLens",
"icon": "$(gitlens-commit-horizontal)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffLeft",
"title": "Show Revision Commit",
"category": "GitLens",
"icon": "$(gitlens-commit-horizontal)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffRight",
"title": "Show Revision Commit",
"category": "GitLens",
"icon": "$(gitlens-commit-horizontal)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.showQuickFileHistory",
"title": "Show File History",
"category": "GitLens"
},
{
"command": "gitlens.quickOpenFileHistory",
"title": "Quick Open File History",
"category": "GitLens"
},
{
"command": "gitlens.showQuickBranchHistory",
"title": "Show Branch History",
"category": "GitLens"
},
{
"command": "gitlens.showQuickRepoHistory",
"title": "Show Current Branch History",
"category": "GitLens"
},
{
"command": "gitlens.showQuickRepoStatus",
"title": "Show Repository Status",
"category": "GitLens"
},
{
"command": "gitlens.showQuickStashList",
"title": "Show Stashes",
"category": "GitLens"
},
{
"command": "gitlens.addAuthors",
"title": "Add Co-authors",
"category": "GitLens",
"icon": "$(person-add)"
},
{
"command": "gitlens.connectRemoteProvider",
"title": "Connect to Remote",
"category": "GitLens",
"icon": "$(plug)"
},
{
"command": "gitlens.disconnectRemoteProvider",
"title": "Disconnect from Remote",
"category": "GitLens",
"icon": "$(gitlens-unplug)"
},
{
"command": "gitlens.copyCurrentBranch",
"title": "Copy Current Branch Name",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyMessageToClipboard",
"title": "Copy Message",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyShaToClipboard",
"title": "Copy SHA",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyRelativePathToClipboard",
"title": "Copy Relative Path",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.closeUnchangedFiles",
"title": "Close Unchanged Files",
"category": "GitLens"
},
{
"command": "gitlens.openChangedFiles",
"title": "Open Changed Files",
"category": "GitLens"
},
{
"command": "gitlens.openOnlyChangedFiles",
"title": "Open Changed & Close Unchanged Files",
"category": "GitLens"
},
{
"command": "gitlens.openBranchesOnRemote",
"title": "Open Branches on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyDeepLinkToBranch",
"title": "Copy Link to Branch",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyDeepLinkToCommit",
"title": "Copy Link to Commit",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyDeepLinkToComparison",
"title": "Copy Link to Comparison",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyDeepLinkToRepo",
"title": "Copy Link to Repository",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyDeepLinkToWorkspace",
"title": "Copy Link to Workspace",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyDeepLinkToTag",
"title": "Copy Link to Tag",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyRemoteBranchesUrl",
"title": "Copy Remote Branches URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openBranchOnRemote",
"title": "Open Branch on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.openCurrentBranchOnRemote",
"title": "Open Current Branch on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyRemoteBranchUrl",
"title": "Copy Remote Branch URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openCommitOnRemote",
"title": "Open Commit on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyRemoteCommitUrl",
"title": "Copy Remote Commit URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openComparisonOnRemote",
"title": "Open Comparison on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyRemoteComparisonUrl",
"title": "Copy Remote Comparison URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openFileFromRemote",
"title": "Open File from Remote",
"category": "GitLens"
},
{
"command": "gitlens.openFileOnRemote",
"title": "Open File on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"title": "Copy Remote File URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"title": "Copy Remote File URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"title": "Open File on Remote From...",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"title": "Copy Remote File URL From...",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openBlamePriorToChange",
"title": "Open Blame Prior to Change",
"icon": "$(versions)",
"category": "GitLens"
},
{
"command": "gitlens.openFileRevision",
"title": "Open File at Revision...",
"icon": "$(gitlens-open-revision)",
"category": "GitLens"
},
{
"command": "gitlens.openFileRevisionFrom",
"title": "Open File at Revision from...",
"icon": "$(gitlens-open-revision)",
"category": "GitLens"
},
{
"command": "gitlens.openAutolinkUrl",
"title": "Open Autolink URL",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyAutolinkUrl",
"title": "Copy Autolink URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openIssueOnRemote",
"title": "Open Issue on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyRemoteIssueUrl",
"title": "Copy Issue URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openPullRequestOnRemote",
"title": "Open Pull Request on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyRemotePullRequestUrl",
"title": "Copy Pull Request URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openAssociatedPullRequestOnRemote",
"title": "Open Associated Pull Request",
"category": "GitLens",
"icon": "$(git-pull-request)"
},
{
"command": "gitlens.openRepoOnRemote",
"title": "Open Repository on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyRemoteRepositoryUrl",
"title": "Copy Remote Repository URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.openRevisionFile",
"title": "Open File at Revision",
"category": "GitLens",
"icon": "$(gitlens-open-revision)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.openRevisionFileInDiffLeft",
"title": "Open File at Revision",
"category": "GitLens",
"icon": "$(gitlens-open-revision)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.openRevisionFileInDiffRight",
"title": "Open File at Revision",
"category": "GitLens",
"icon": "$(gitlens-open-revision)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.openWorkingFile",
"title": "Open File",
"category": "GitLens",
"icon": "$(go-to-file)"
},
{
"command": "gitlens.openWorkingFileInDiffLeft",
"title": "Open File",
"category": "GitLens",
"icon": "$(go-to-file)"
},
{
"command": "gitlens.openWorkingFileInDiffRight",
"title": "Open File",
"category": "GitLens",
"icon": "$(go-to-file)"
},
{
"command": "gitlens.stashApply",
"title": "Apply Stash",
"category": "GitLens",
"icon": "$(gitlens-stash-pop)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.stash.delete",
"title": "Drop Stash...",
"category": "GitLens",
"icon": "$(trash)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.stash.rename",
"title": "Rename Stash...",
"category": "GitLens",
"icon": "$(edit)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.stashSave",
"title": "Stash All Changes",
"category": "GitLens",
"icon": "$(gitlens-stash-save)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.stashSaveFiles",
"title": "Stash Changes",
"category": "GitLens",
"icon": "$(gitlens-stash-save)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.externalDiff",
"title": "Open Changes (difftool)",
"category": "GitLens"
},
{
"command": "gitlens.externalDiffAll",
"title": "Open All Changes (difftool)",
"category": "GitLens"
},
{
"command": "gitlens.resetAvatarCache",
"title": "Reset Avatar Cache",
"category": "GitLens"
},
{
"command": "gitlens.resetSuppressedWarnings",
"title": "Reset Suppressed Warnings",
"category": "GitLens"
},
{
"command": "gitlens.resetTrackedUsage",
"title": "Reset Tracked Usage",
"category": "GitLens"
},
{
"command": "gitlens.inviteToLiveShare",
"title": "Invite to Live Share",
"category": "GitLens",
"icon": "$(live-share)"
},
{
"command": "gitlens.browseRepoAtRevision",
"title": "Browse Repository from Revision",
"category": "GitLens",
"icon": "$(folder-opened)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.browseRepoAtRevisionInNewWindow",
"title": "Browse Repository from Revision in New Window",
"category": "GitLens",
"icon": "$(folder-opened)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.browseRepoBeforeRevision",
"title": "Browse Repository from Before Revision",
"category": "GitLens",
"icon": "$(folder-opened)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.browseRepoBeforeRevisionInNewWindow",
"title": "Browse Repository from Before Revision in New Window",
"category": "GitLens",
"icon": "$(folder-opened)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.views.browseRepoAtRevision",
"title": "Repository from Here",
"category": "GitLens",
"icon": "$(folder-opened)"
},
{
"command": "gitlens.views.browseRepoAtRevisionInNewWindow",
"title": "Repository from Here in New Window",
"category": "GitLens",
"icon": "$(folder-opened)"
},
{
"command": "gitlens.views.browseRepoBeforeRevision",
"title": "Repository from Before Here",
"category": "GitLens",
"icon": "$(folder-opened)"
},
{
"command": "gitlens.views.browseRepoBeforeRevisionInNewWindow",
"title": "Repository from Before Here in New Window",
"category": "GitLens",
"icon": "$(folder-opened)"
},
{
"command": "gitlens.fetchRepositories",
"title": "Fetch",
"category": "GitLens",
"icon": "$(sync)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.pullRepositories",
"title": "Pull",
"category": "GitLens",
"icon": "$(arrow-down)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.pushRepositories",
"title": "Push",
"category": "GitLens",
"icon": "$(arrow-up)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.addRemote",
"title": "Add Remote",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.highlightChanges",
"title": "Highlight All Changes Since Before this Commit",
"category": "GitLens"
},
{
"command": "gitlens.views.highlightRevisionChanges",
"title": "Highlight Changes from this Commit",
"category": "GitLens"
},
{
"command": "gitlens.views.restore",
"title": "Restore (Checkout)",
"category": "GitLens",
"icon": "$(gitlens-switch)"
},
{
"command": "gitlens.views.switchToAnotherBranch",
"title": "Switch to Another Branch...",
"category": "GitLens",
"icon": "$(gitlens-switch)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.switchToBranch",
"title": "Switch to Branch...",
"category": "GitLens",
"icon": "$(gitlens-switch)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.switchToCommit",
"title": "Switch to Commit...",
"category": "GitLens",
"icon": "$(gitlens-switch)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.switchToTag",
"title": "Switch to Tag...",
"category": "GitLens",
"icon": "$(gitlens-switch)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.copy",
"title": "Copy",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.views.pruneRemote",
"title": "Prune",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.fetch",
"title": "Fetch",
"category": "GitLens",
"icon": "$(sync)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.publishBranch",
"title": "Publish Branch",
"category": "GitLens",
"icon": "$(cloud-upload)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.publishRepository",
"title": "Publish Repository",
"category": "GitLens",
"icon": "$(cloud-upload)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.pull",
"title": "Pull",
"category": "GitLens",
"icon": "$(arrow-down)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.push",
"title": "Push",
"category": "GitLens",
"icon": "$(arrow-up)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.pushWithForce",
"title": "Push (force)",
"category": "GitLens",
"icon": "$(gitlens-arrow-up-force)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.openInTerminal",
"title": "Open in Terminal",
"category": "GitLens"
},
{
"command": "gitlens.views.setAsDefault",
"title": "Set as Default",
"category": "GitLens"
},
{
"command": "gitlens.views.unsetAsDefault",
"title": "Unset as Default",
"category": "GitLens"
},
{
"command": "gitlens.views.stageDirectory",
"title": "Stage All Changes",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.stageFile",
"title": "Stage Changes",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.unstageDirectory",
"title": "Unstage All Changes",
"category": "GitLens",
"icon": "$(remove)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.unstageFile",
"title": "Unstage Changes",
"category": "GitLens",
"icon": "$(remove)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.star",
"title": "Add to Favorites",
"category": "GitLens",
"icon": "$(star-empty)"
},
{
"command": "gitlens.views.unstar",
"title": "Remove from Favorites",
"category": "GitLens",
"icon": "$(star-full)"
},
{
"command": "gitlens.views.openDirectoryDiff",
"title": "Open Directory Compare",
"category": "GitLens"
},
{
"command": "gitlens.views.openDirectoryDiffWithWorking",
"title": "Open Directory Compare with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.views.openChanges",
"title": "Open Changes",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.views.openChangesWithWorking",
"title": "Open Changes with Working File",
"category": "GitLens",
"icon": "$(gitlens-compare-ref-working)"
},
{
"command": "gitlens.views.openPreviousChangesWithWorking",
"title": "Open Previous Changes with Working File",
"category": "GitLens"
},
{
"command": "gitlens.views.openFile",
"title": "Open File",
"category": "GitLens",
"icon": "$(go-to-file)"
},
{
"command": "gitlens.views.openFileRevision",
"title": "Open File at Revision",
"category": "GitLens",
"icon": "$(gitlens-open-revision)"
},
{
"command": "gitlens.views.openChangedFiles",
"title": "Open Files",
"category": "GitLens"
},
{
"command": "gitlens.views.openChangedFileDiffs",
"title": "Open All Changes",
"category": "GitLens"
},
{
"command": "gitlens.views.openChangedFileDiffsWithWorking",
"title": "Open All Changes with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.views.openChangedFileRevisions",
"title": "Open Files at Revision",
"category": "GitLens"
},
{
"command": "gitlens.views.openOnlyChangedFiles",
"title": "Open Changed & Close Unchanged Files",
"category": "GitLens"
},
{
"command": "gitlens.views.applyChanges",
"title": "Apply Changes",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.closeRepository",
"title": "Close Repository",
"category": "GitLens"
},
{
"command": "gitlens.views.compareAncestryWithWorking",
"title": "Compare Ancestry with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.views.compareWithHead",
"title": "Compare with HEAD",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.views.compareWithUpstream",
"title": "Compare with Upstream",
"category": "GitLens"
},
{
"command": "gitlens.views.compareWithSelected",
"title": "Compare with Selected",
"category": "GitLens"
},
{
"command": "gitlens.views.selectForCompare",
"title": "Select for Compare",
"category": "GitLens"
},
{
"command": "gitlens.views.compareFileWithSelected",
"title": "Compare with Selected",
"category": "GitLens"
},
{
"command": "gitlens.views.selectFileForCompare",
"title": "Select for Compare",
"category": "GitLens"
},
{
"command": "gitlens.views.compareWithWorking",
"title": "Compare with Working Tree",
"category": "GitLens",
"icon": "$(gitlens-compare-ref-working)"
},
{
"command": "gitlens.views.addAuthors",
"title": "Add Co-authors",
"category": "GitLens",
"icon": "$(person-add)"
},
{
"command": "gitlens.views.addAuthor",
"title": "Add as Co-author",
"category": "GitLens",
"icon": "$(person-add)"
},
{
"command": "gitlens.views.title.applyStash",
"title": "Apply a Stash...",
"category": "GitLens",
"icon": "$(gitlens-stash-pop)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.createWorktree",
"title": "Create Worktree...",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.ghpr.views.openOrCreateWorktree",
"title": "Open Worktree for Pull Request via GitLens...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.title.createWorktree",
"title": "Create Worktree...",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.deleteWorktree",
"title": "Delete Worktree...",
"category": "GitLens",
"icon": "$(trash)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.openWorktree",
"title": "Open Worktree",
"category": "GitLens",
"icon": "$(window)"
},
{
"command": "gitlens.views.openWorktreeInNewWindow",
"title": "Open Worktree in New Window",
"category": "GitLens",
"icon": "$(empty-window)"
},
{
"command": "gitlens.views.revealRepositoryInExplorer",
"title": "Reveal in File Explorer",
"category": "GitLens"
},
{
"command": "gitlens.views.revealWorktreeInExplorer",
"title": "Reveal in File Explorer",
"category": "GitLens"
},
{
"command": "gitlens.views.cherryPick",
"title": "Cherry Pick Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.createBranch",
"title": "Create Branch...",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.title.createBranch",
"title": "Create Branch...",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.deleteBranch",
"title": "Delete Branch...",
"category": "GitLens",
"icon": "$(trash)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.renameBranch",
"title": "Rename Branch...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.createTag",
"title": "Create Tag...",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.title.createTag",
"title": "Create Tag...",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.deleteTag",
"title": "Delete Tag...",
"category": "GitLens",
"icon": "$(trash)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.mergeBranchInto",
"title": "Merge Branch into Current Branch...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.pushToCommit",
"title": "Push to Commit...",
"category": "GitLens",
"icon": "$(arrow-up)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.rebaseOntoBranch",
"title": "Rebase Current Branch onto Branch...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.rebaseOntoCommit",
"title": "Rebase Current Branch onto Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.rebaseOntoUpstream",
"title": "Rebase Current Branch onto Upstream...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.removeRemote",
"title": "Remove Remote...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.resetCommit",
"title": "Reset Current Branch to Previous Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.resetToCommit",
"title": "Reset Current Branch to Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.resetToTip",
"title": "Reset Current Branch to Tip...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.revert",
"title": "Revert Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.undoCommit",
"title": "Undo Commit",
"category": "GitLens",
"icon": "$(discard)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.views.setBranchComparisonToWorking",
"title": "Compare with Working Tree",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.views.setBranchComparisonToBranch",
"title": "Compare with Branch (HEAD)",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.views.createPullRequest",
"title": "Create Pull Request...",
"category": "GitLens",
"icon": "$(git-pull-request-create)"
},
{
"command": "gitlens.views.openPullRequest",
"title": "Open Pull Request",
"category": "GitLens",
"icon": "$(git-pull-request)"
},
{
"command": "gitlens.views.clearComparison",
"title": "Clear Comparison",
"category": "GitLens",
"icon": "$(close)"
},
{
"command": "gitlens.views.clearReviewed",
"title": "Clear Reviewed Files",
"category": "GitLens"
},
{
"command": "gitlens.views.collapseNode",
"title": "Collapse",
"category": "GitLens"
},
{
"command": "gitlens.views.dismissNode",
"title": "Dismiss",
"category": "GitLens",
"icon": "$(close)"
},
{
"command": "gitlens.views.editNode",
"title": "Edit...",
"category": "GitLens",
"icon": "$(edit)"
},
{
"command": "gitlens.views.expandNode",
"title": "Expand",
"category": "GitLens"
},
{
"command": "gitlens.views.refreshNode",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.loadMoreChildren",
"title": "Load More",
"category": "GitLens"
},
{
"command": "gitlens.views.loadAllChildren",
"title": "Load All",
"category": "GitLens",
"icon": "$(gitlens-expand)"
},
{
"command": "gitlens.views.setShowRelativeDateMarkersOn",
"title": "Show Date Markers",
"category": "GitLens"
},
{
"command": "gitlens.views.setShowRelativeDateMarkersOff",
"title": "Hide Date Markers",
"category": "GitLens"
},
{
"command": "gitlens.views.branches.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.branches.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.branches.setLayoutToList",
"title": "View as List",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.branches.setLayoutToTree",
"title": "View as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.branches.setFilesLayoutToAuto",
"title": "View Files as Auto",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.branches.setFilesLayoutToList",
"title": "View Files as List",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.branches.setFilesLayoutToTree",
"title": "View Files as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.branches.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.branches.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.branches.setShowBranchComparisonOn",
"title": "Show Branch Comparisons",
"category": "GitLens"
},
{
"command": "gitlens.views.branches.setShowBranchComparisonOff",
"title": "Hide Branch Comparisons",
"category": "GitLens"
},
{
"command": "gitlens.views.branches.setShowBranchPullRequestOn",
"title": "Show Branch Pull Requests",
"category": "GitLens"
},
{
"command": "gitlens.views.branches.setShowBranchPullRequestOff",
"title": "Hide Branch Pull Requests",
"category": "GitLens"
},
{
"command": "gitlens.views.commitDetails.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.patchDetails.close",
"title": "Close Patch",
"category": "GitLens",
"icon": "$(close)"
},
{
"command": "gitlens.views.patchDetails.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.commits.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.commits.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.commits.setFilesLayoutToAuto",
"title": "View Files as Auto",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.commits.setFilesLayoutToList",
"title": "View Files as List",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.commits.setFilesLayoutToTree",
"title": "View Files as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.commits.setCommitsFilterAuthors",
"title": "Filter Commits by Author...",
"category": "GitLens",
"icon": "$(filter)"
},
{
"command": "gitlens.views.commits.setCommitsFilterOff",
"title": "Clear Filter",
"category": "GitLens",
"icon": "$(filter-filled)"
},
{
"command": "gitlens.views.commits.setShowMergeCommitsOff",
"title": "Hide Merge Commits",
"category": "GitLens"
},
{
"command": "gitlens.views.commits.setShowMergeCommitsOn",
"title": "Show Merge Commits",
"category": "GitLens"
},
{
"command": "gitlens.views.commits.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.commits.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.commits.setShowBranchComparisonOn",
"title": "Show Branch Comparison",
"category": "GitLens"
},
{
"command": "gitlens.views.commits.setShowBranchComparisonOff",
"title": "Hide Branch Comparison",
"category": "GitLens"
},
{
"command": "gitlens.views.commits.setShowBranchPullRequestOn",
"title": "Show Current Branch Pull Request",
"category": "GitLens"
},
{
"command": "gitlens.views.commits.setShowBranchPullRequestOff",
"title": "Hide Current Branch Pull Request",
"category": "GitLens"
},
{
"command": "gitlens.views.contributors.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.contributors.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToAuto",
"title": "View Files as Auto",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToList",
"title": "View Files as List",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToTree",
"title": "View Files as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.contributors.setShowAllBranchesOn",
"title": "View for All Branches",
"category": "GitLens"
},
{
"command": "gitlens.views.contributors.setShowAllBranchesOff",
"title": "View for Current Branch Only",
"category": "GitLens"
},
{
"command": "gitlens.views.contributors.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.contributors.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.contributors.setShowStatisticsOn",
"title": "Show Statistics",
"category": "GitLens"
},
{
"command": "gitlens.views.contributors.setShowStatisticsOff",
"title": "Hide Statistics",
"category": "GitLens"
},
{
"command": "gitlens.views.drafts.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.drafts.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.drafts.create",
"title": "Create Cloud Patch...",
"category": "GitLens",
"icon": "$(add)"
},
{
"command": "gitlens.views.drafts.delete",
"title": "Delete Cloud Patch...",
"category": "GitLens",
"icon": "$(trash)"
},
{
"command": "gitlens.views.drafts.open",
"title": "Open",
"category": "GitLens",
"icon": "$(eye)"
},
{
"command": "gitlens.views.fileHistory.changeBase",
"title": "Change Base...",
"category": "GitLens",
"icon": "$(history)"
},
{
"command": "gitlens.views.fileHistory.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOn",
"title": "View Line History",
"category": "GitLens",
"icon": "$(file)",
"enablement": "gitlens:views:fileHistory:editorFollowing"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOff",
"title": "View File History",
"category": "GitLens",
"icon": "$(list-selection)",
"enablement": "gitlens:views:fileHistory:editorFollowing || gitlens:views:fileHistory:cursorFollowing"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOn",
"title": "Unpin the Current History",
"category": "GitLens",
"icon": "$(pinned)"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOff",
"title": "Pin the Current History",
"category": "GitLens",
"icon": "$(pin)"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOn",
"title": "Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOff",
"title": "Don't Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOn",
"title": "View History for All Branches",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOff",
"title": "View History for Current Branch Only",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setShowMergeCommitsOn",
"title": "Show Merge Commits",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setShowMergeCommitsOff",
"title": "Hide Merge Commits",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.graph.openInTab",
"title": "Open in Editor Area",
"category": "GitLens",
"icon": "$(link-external)"
},
{
"command": "gitlens.views.graph.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.graphDetails.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.home.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.account.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.lineHistory.changeBase",
"title": "Change Base...",
"category": "GitLens",
"icon": "$(history)"
},
{
"command": "gitlens.views.lineHistory.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.lineHistory.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOn",
"title": "Unpin the Current History",
"category": "GitLens",
"icon": "$(pinned)"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOff",
"title": "Pin the Current History",
"category": "GitLens",
"icon": "$(pin)"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.remotes.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.remotes.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.remotes.setLayoutToList",
"title": "View as List",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.remotes.setLayoutToTree",
"title": "View as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToAuto",
"title": "View Files as Auto",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToList",
"title": "View Files as List",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToTree",
"title": "View Files as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.remotes.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.remotes.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.remotes.setShowBranchPullRequestOn",
"title": "Show Branch Pull Requests",
"category": "GitLens"
},
{
"command": "gitlens.views.remotes.setShowBranchPullRequestOff",
"title": "Hide Branch Pull Requests",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.repositories.setAutoRefreshToOn",
"title": "Enable Automatic Refresh",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setAutoRefreshToOff",
"title": "Disable Automatic Refresh",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToList",
"title": "View Branches as List",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToTree",
"title": "View Branches as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToAuto",
"title": "View Files as Auto",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToList",
"title": "View Files as List",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToTree",
"title": "View Files as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowBranchComparisonOn",
"title": "Show Branch Comparison",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowBranchComparisonOff",
"title": "Hide Branch Comparison",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setBranchesShowBranchComparisonOn",
"title": "Show Branch Comparisons",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setBranchesShowBranchComparisonOff",
"title": "Hide Branch Comparisons",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowBranchesOn",
"title": "Show Branches",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowBranchesOff",
"title": "Hide Branches",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowCommitsOn",
"title": "Show Commits",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowCommitsOff",
"title": "Hide Commits",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowContributorsOn",
"title": "Show Contributors",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowContributorsOff",
"title": "Hide Contributors",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowRemotesOn",
"title": "Show Remotes",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowRemotesOff",
"title": "Hide Remotes",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowStashesOn",
"title": "Show Stashes",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowStashesOff",
"title": "Hide Stashes",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowTagsOn",
"title": "Show Tags",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowTagsOff",
"title": "Hide Tags",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowWorktreesOn",
"title": "Show Worktrees",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowWorktreesOff",
"title": "Hide Worktrees",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowUpstreamStatusOn",
"title": "Show Current Branch Status",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowUpstreamStatusOff",
"title": "Hide Current Branch Status",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowSectionOff",
"title": "Hide",
"category": "GitLens"
},
{
"command": "gitlens.views.searchAndCompare.clear",
"title": "Clear Results",
"category": "GitLens",
"icon": "$(clear-all)"
},
{
"command": "gitlens.views.searchAndCompare.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.searchAndCompare.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.searchAndCompare.searchCommits",
"title": "Search Commits...",
"category": "GitLens",
"icon": "$(search)"
},
{
"command": "gitlens.views.searchAndCompare.selectForCompare",
"title": "Compare References...",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToAuto",
"title": "View Files as Auto",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToList",
"title": "View Files as List",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToTree",
"title": "View Files as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.setResultsCommitsFilterAuthors",
"title": "Filter Commits by Author...",
"category": "GitLens",
"icon": "$(filter)"
},
{
"command": "gitlens.views.setResultsCommitsFilterOff",
"title": "Clear Filter",
"category": "GitLens",
"icon": "$(filter-filled)"
},
{
"command": "gitlens.views.searchAndCompare.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.searchAndCompare.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.searchAndCompare.swapComparison",
"title": "Swap Comparison",
"category": "GitLens",
"icon": "$(arrow-swap)",
"enablement": "viewItem =~ /gitlens:compare:results(?!:)\\b(?!.*?\\b\\+working\\b)/"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnLeft",
"title": "Show Left-side Files Only",
"category": "GitLens",
"enablement": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~left\\b)/"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnRight",
"title": "Show Right-side Files Only",
"category": "GitLens",
"enablement": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~right\\b)/"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOff",
"title": "Clear Filter",
"category": "GitLens"
},
{
"command": "gitlens.views.stashes.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.stashes.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToAuto",
"title": "View Files as Auto",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToList",
"title": "View Files as List",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToTree",
"title": "View Files as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.tags.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.tags.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.tags.setLayoutToList",
"title": "View as List",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.tags.setLayoutToTree",
"title": "View as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.tags.setFilesLayoutToAuto",
"title": "View Files as Auto",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.tags.setFilesLayoutToList",
"title": "View Files as List",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.tags.setFilesLayoutToTree",
"title": "View Files as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.tags.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.tags.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.timeline.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.workspaces.addRepos",
"title": "Add Repositories...",
"category": "GitLens",
"icon": "$(add)"
},
{
"command": "gitlens.views.workspaces.addReposFromLinked",
"title": "Add Repositories from Linked Workspace...",
"category": "GitLens"
},
{
"command": "gitlens.views.workspaces.info",
"title": "Learn more about GitKraken Workspaces...",
"category": "GitLens",
"icon": "$(info)"
},
{
"command": "gitlens.views.workspaces.convert",
"title": "Convert to Cloud Workspace...",
"category": "GitLens",
"icon": "$(cloud-upload)"
},
{
"command": "gitlens.views.workspaces.create",
"title": "Create Cloud Workspace...",
"category": "GitLens",
"icon": "$(add)"
},
{
"command": "gitlens.views.workspaces.delete",
"title": "Delete Workspace...",
"category": "GitLens",
"icon": "$(trash)"
},
{
"command": "gitlens.views.workspaces.locateAllRepos",
"title": "Locate Repositories...",
"category": "GitLens",
"icon": "$(location)"
},
{
"command": "gitlens.views.workspaces.createLocal",
"title": "Create VS Code Workspace...",
"category": "GitLens",
"icon": "$(empty-window)"
},
{
"command": "gitlens.views.workspaces.openLocal",
"title": "Open VS Code Workspace in Current Window...",
"category": "GitLens",
"icon": "$(window)"
},
{
"command": "gitlens.views.workspaces.openLocalNewWindow",
"title": "Open VS Code Workspace in New Window...",
"category": "GitLens",
"icon": "$(window)"
},
{
"command": "gitlens.views.workspaces.changeAutoAddSetting",
"title": "Change Linked Workspace Auto-Add Behavior...",
"category": "GitLens"
},
{
"command": "gitlens.views.workspaces.repo.locate",
"title": "Locate Repository...",
"category": "GitLens",
"icon": "$(location)"
},
{
"command": "gitlens.views.workspaces.repo.open",
"title": "Open Repository",
"category": "GitLens",
"icon": "$(window)"
},
{
"command": "gitlens.views.workspaces.repo.openInNewWindow",
"title": "Open Repository in New Window",
"category": "GitLens",
"icon": "$(empty-window)"
},
{
"command": "gitlens.views.workspaces.repo.addToWindow",
"title": "Add Repository to VS Code Workspace",
"category": "GitLens"
},
{
"command": "gitlens.views.workspaces.repo.remove",
"title": "Remove from Workspace...",
"category": "GitLens",
"icon": "$(trash)"
},
{
"command": "gitlens.views.workspaces.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.workspaces.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.worktrees.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.worktrees.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToAuto",
"title": "View Files as Auto",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToList",
"title": "View Files as List",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToTree",
"title": "View Files as Tree",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.worktrees.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.worktrees.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.worktrees.setShowBranchComparisonOn",
"title": "Show Branch Comparison",
"category": "GitLens"
},
{
"command": "gitlens.views.worktrees.setShowBranchComparisonOff",
"title": "Hide Branch Comparison",
"category": "GitLens"
},
{
"command": "gitlens.views.worktrees.setShowBranchPullRequestOn",
"title": "Show Branch Pull Requests",
"category": "GitLens"
},
{
"command": "gitlens.views.worktrees.setShowBranchPullRequestOff",
"title": "Hide Branch Pull Requests",
"category": "GitLens"
},
{
"command": "gitlens.enableDebugLogging",
"title": "Enable Debug Logging",
"category": "GitLens"
},
{
"command": "gitlens.disableDebugLogging",
"title": "Disable Debug Logging",
"category": "GitLens"
},
{
"command": "gitlens.focus.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.graph.switchToEditorLayout",
"title": "Prefer Commit Graph in Editor Area",
"category": "GitLens",
"enablement": "config.gitlens.graph.layout != editor"
},
{
"command": "gitlens.graph.switchToPanelLayout",
"title": "Prefer Commit Graph in Panel",
"category": "GitLens",
"enablement": "config.gitlens.graph.layout != panel"
},
{
"command": "gitlens.graph.push",
"title": "Push",
"category": "GitLens",
"icon": "$(arrow-up)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.pull",
"title": "Pull",
"category": "GitLens",
"icon": "$(arrow-down)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.fetch",
"title": "Fetch",
"category": "GitLens",
"icon": "$(sync)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.switchToAnotherBranch",
"title": "Switch to Another Branch...",
"category": "GitLens",
"icon": "$(gitlens-switch)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.graph.copyDeepLinkToBranch",
"title": "Copy Link to Branch",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.graph.copyDeepLinkToCommit",
"title": "Copy Link to Commit",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.graph.copyDeepLinkToRepo",
"title": "Copy Link to Repository",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.graph.copyDeepLinkToTag",
"title": "Copy Link to Tag",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.graph.copyRemoteBranchUrl",
"title": "Copy Remote Branch URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.graph.createBranch",
"title": "Create Branch...",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.deleteBranch",
"title": "Delete Branch...",
"category": "GitLens",
"icon": "$(trash)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.openBranchOnRemote",
"title": "Open Branch on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.graph.mergeBranchInto",
"title": "Merge Branch into Current Branch...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.publishBranch",
"title": "Publish Branch",
"category": "GitLens",
"icon": "$(cloud-upload)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.rebaseOntoBranch",
"title": "Rebase Current Branch onto Branch...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.rebaseOntoUpstream",
"title": "Rebase Current Branch onto Upstream...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.renameBranch",
"title": "Rename Branch...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.switchToBranch",
"title": "Switch to Branch...",
"category": "GitLens",
"icon": "$(gitlens-switch)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.hideLocalBranch",
"title": "Hide Local Branch",
"category": "GitLens"
},
{
"command": "gitlens.graph.hideRemoteBranch",
"title": "Hide Remote Branch",
"category": "GitLens"
},
{
"command": "gitlens.graph.hideRemote",
"title": "Hide Remote",
"category": "GitLens"
},
{
"command": "gitlens.graph.hideTag",
"title": "Hide Tag",
"category": "GitLens"
},
{
"command": "gitlens.graph.hideRefGroup",
"title": "Hide",
"category": "GitLens"
},
{
"command": "gitlens.graph.cherryPick",
"title": "Cherry Pick Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.copyMessage",
"title": "Copy Message",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.graph.copySha",
"title": "Copy SHA",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.graph.copyRemoteCommitUrl",
"title": "Copy Remote Commit URL",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.graph.showInDetailsView",
"title": "Open Details",
"category": "GitLens",
"icon": "$(eye)"
},
{
"command": "gitlens.graph.openSCM",
"title": "Open Source Control",
"category": "GitLens"
},
{
"command": "gitlens.graph.openCommitOnRemote",
"title": "Open Commit on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.graph.rebaseOntoCommit",
"title": "Rebase Current Branch onto Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.resetCommit",
"title": "Reset Current Branch to Previous Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.resetToCommit",
"title": "Reset Current Branch to Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.resetToTip",
"title": "Reset Current Branch to Tip...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.revert",
"title": "Revert Commit...",
"category": "GitLens",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.switchToCommit",
"title": "Switch to Commit...",
"category": "GitLens",
"icon": "$(gitlens-switch)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.undoCommit",
"title": "Undo Commit",
"category": "GitLens",
"icon": "$(discard)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.saveStash",
"title": "Stash All Changes",
"category": "GitLens",
"icon": "$(gitlens-stash-save)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.applyStash",
"title": "Apply Stash",
"category": "GitLens",
"icon": "$(gitlens-stash-pop)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.stash.delete",
"title": "Drop Stash...",
"category": "GitLens",
"icon": "$(trash)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.stash.rename",
"title": "Rename Stash...",
"category": "GitLens",
"icon": "$(edit)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.createTag",
"title": "Create Tag...",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.deleteTag",
"title": "Delete Tag...",
"category": "GitLens",
"icon": "$(trash)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.switchToTag",
"title": "Switch to Tag...",
"category": "GitLens",
"icon": "$(gitlens-switch)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.createWorktree",
"title": "Create Worktree...",
"category": "GitLens",
"icon": "$(add)",
"enablement": "!operationInProgress"
},
{
"command": "gitlens.graph.createPullRequest",
"title": "Create Pull Request...",
"category": "GitLens",
"icon": "$(git-pull-request-create)"
},
{
"command": "gitlens.graph.openPullRequestOnRemote",
"title": "Open Pull Request on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.graph.compareAncestryWithWorking",
"title": "Compare Ancestry with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.graph.compareWithHead",
"title": "Compare with HEAD",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.graph.compareWithUpstream",
"title": "Compare with Upstream",
"category": "GitLens"
},
{
"command": "gitlens.graph.compareWithWorking",
"title": "Compare with Working Tree",
"category": "GitLens",
"icon": "$(gitlens-compare-ref-working)"
},
{
"command": "gitlens.graph.openChangedFiles",
"title": "Open Files",
"category": "GitLens"
},
{
"command": "gitlens.graph.openChangedFileDiffs",
"title": "Open All Changes",
"category": "GitLens"
},
{
"command": "gitlens.graph.openChangedFileDiffsWithWorking",
"title": "Open All Changes with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.graph.openChangedFileRevisions",
"title": "Open Files at Revision",
"category": "GitLens"
},
{
"command": "gitlens.graph.openOnlyChangedFiles",
"title": "Open Changed & Close Unchanged Files",
"category": "GitLens"
},
{
"command": "gitlens.graph.addAuthor",
"title": "Add as Co-author",
"category": "GitLens",
"icon": "$(person-add)"
},
{
"command": "gitlens.graph.copy",
"title": "Copy",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.graph.columnAuthorOn",
"title": "Show Author Column",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnAuthorOff",
"title": "Hide Author Column",
"category": "GitLens",
"enablement": "webviewItemValue =~ /\\bcolumns:canHide\\b/"
},
{
"command": "gitlens.graph.columnDateTimeOn",
"title": "Show Date Column",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnDateTimeOff",
"title": "Hide Date Column",
"category": "GitLens",
"enablement": "webviewItemValue =~ /\\bcolumns:canHide\\b/"
},
{
"command": "gitlens.graph.columnShaOn",
"title": "Show SHA Column",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnShaOff",
"title": "Hide SHA Column",
"category": "GitLens",
"enablement": "webviewItemValue =~ /\\bcolumns:canHide\\b/"
},
{
"command": "gitlens.graph.columnChangesOn",
"title": "Show Changes Column",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnChangesOff",
"title": "Hide Changes Column",
"category": "GitLens",
"enablement": "webviewItemValue =~ /\\bcolumns:canHide\\b/"
},
{
"command": "gitlens.graph.columnGraphOn",
"title": "Show Graph Column",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnGraphOff",
"title": "Hide Graph Column",
"category": "GitLens",
"enablement": "webviewItemValue =~ /\\bcolumns:canHide\\b/"
},
{
"command": "gitlens.graph.columnMessageOn",
"title": "Show Commit Message Column",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnMessageOff",
"title": "Hide Commit Message Column",
"category": "GitLens",
"enablement": "webviewItemValue =~ /\\bcolumns:canHide\\b/"
},
{
"command": "gitlens.graph.columnRefOn",
"title": "Show Branch / Tag Column",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnRefOff",
"title": "Hide Branch / Tag Column",
"category": "GitLens",
"enablement": "webviewItemValue =~ /\\bcolumns:canHide\\b/"
},
{
"command": "gitlens.graph.columnGraphCompact",
"title": "Use Compact Graph Column",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnGraphDefault",
"title": "Use Expanded Graph Column",
"category": "GitLens"
},
{
"command": "gitlens.graph.resetColumnsDefault",
"title": "Reset Columns to Default Layout",
"category": "GitLens"
},
{
"command": "gitlens.graph.resetColumnsCompact",
"title": "Reset Columns to Compact Layout",
"category": "GitLens"
},
{
"command": "gitlens.graph.scrollMarkerLocalBranchOn",
"title": "Show Local Branch Markers",
"category": "GitLens"
},
{
"command": "gitlens.graph.scrollMarkerLocalBranchOff",
"title": "Hide Local Branch Markers",
"category": "GitLens"
},
{
"command": "gitlens.graph.scrollMarkerRemoteBranchOn",
"title": "Show Remote Branch Markers",
"category": "GitLens"
},
{
"command": "gitlens.graph.scrollMarkerRemoteBranchOff",
"title": "Hide Remote Branch Markers",
"category": "GitLens"
},
{
"command": "gitlens.graph.scrollMarkerStashOn",
"title": "Show Stash Markers",
"category": "GitLens"
},
{
"command": "gitlens.graph.scrollMarkerStashOff",
"title": "Hide Stash Markers",
"category": "GitLens"
},
{
"command": "gitlens.graph.scrollMarkerTagOn",
"title": "Show Tag Markers",
"category": "GitLens"
},
{
"command": "gitlens.graph.scrollMarkerTagOff",
"title": "Hide Tag Markers",
"category": "GitLens"
},
{
"command": "gitlens.graph.shareAsCloudPatch",
"title": "Share as Cloud Patch...",
"category": "GitLens"
},
{
"command": "gitlens.timeline.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
}
],
"icons": {
"gitlens-commit-horizontal": {
"description": "commit-horizontal icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f101"
}
},
"gitlens-graph": {
"description": "graph icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f102"
}
},
"gitlens-next-commit": {
"description": "next-commit icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f103"
}
},
"gitlens-prev-commit-menu": {
"description": "prev-commit-menu icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f104"
}
},
"gitlens-prev-commit": {
"description": "prev-commit icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f105"
}
},
"gitlens-compare-ref-working": {
"description": "compare-ref-working icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f106"
}
},
"gitlens-branches-view": {
"description": "branches-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f107"
}
},
"gitlens-commit-view": {
"description": "commit-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f108"
}
},
"gitlens-commits-view": {
"description": "commits-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f109"
}
},
"gitlens-compare-view": {
"description": "compare-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f10a"
}
},
"gitlens-contributors-view": {
"description": "contributors-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f10b"
}
},
"gitlens-history-view": {
"description": "history-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f10c"
}
},
"gitlens-history": {
"description": "history icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f10c"
}
},
"gitlens-remotes-view": {
"description": "remotes-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f10d"
}
},
"gitlens-repositories-view": {
"description": "repositories-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f10e"
}
},
"gitlens-search-view": {
"description": "search-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f10f"
}
},
"gitlens-stashes-view": {
"description": "stashes-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f110"
}
},
"gitlens-stashes": {
"description": "stashes icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f110"
}
},
"gitlens-tags-view": {
"description": "tags-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f111"
}
},
"gitlens-worktrees-view": {
"description": "worktrees-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f112"
}
},
"gitlens-gitlens": {
"description": "gitlens icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f113"
}
},
"gitlens-stash-pop": {
"description": "stash-pop icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f114"
}
},
"gitlens-stash-save": {
"description": "stash-save icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f115"
}
},
"gitlens-unplug": {
"description": "unplug icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f116"
}
},
"gitlens-open-revision": {
"description": "open-revision icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f117"
}
},
"gitlens-switch": {
"description": "switch icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f118"
}
},
"gitlens-expand": {
"description": "expand icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f119"
}
},
"gitlens-list-auto": {
"description": "list-auto icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f11a"
}
},
"gitlens-arrow-up-force": {
"description": "arrow-up-force icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f11b"
}
},
"gitlens-pinned-filled": {
"description": "pinned-filled icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f11c"
}
},
"gitlens-clock": {
"description": "clock icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f11d"
}
},
"gitlens-provider-azdo": {
"description": "provider-azdo icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f11e"
}
},
"gitlens-provider-bitbucket": {
"description": "provider-bitbucket icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f11f"
}
},
"gitlens-provider-gerrit": {
"description": "provider-gerrit icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f120"
}
},
"gitlens-provider-gitea": {
"description": "provider-gitea icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f121"
}
},
"gitlens-provider-github": {
"description": "provider-github icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f122"
}
},
"gitlens-provider-gitlab": {
"description": "provider-gitlab icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f123"
}
},
"gitlens-gitlens-inspect": {
"description": "gitlens-inspect icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f124"
}
},
"gitlens-workspaces-view": {
"description": "workspaces-view icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f125"
}
},
"gitlens-confirm-checked": {
"description": "confirm-checked icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f126"
}
},
"gitlens-confirm-unchecked": {
"description": "confirm-unchecked icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f127"
}
},
"gitlens-cloud-patch": {
"description": "cloud-patch icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f128"
}
},
"gitlens-cloud-patch-share": {
"description": "cloud-patch-share icon",
"default": {
"fontPath": "dist/glicons.woff2",
"fontCharacter": "\\f129"
}
}
},
"menus": {
"commandPalette": [
{
"command": "gitlens.plus.loginOrSignUp",
"when": "!gitlens:plus"
},
{
"command": "gitlens.plus.logout",
"when": "true"
},
{
"command": "gitlens.plus.startPreviewTrial",
"when": "!gitlens:plus"
},
{
"command": "gitlens.plus.manage",
"when": "gitlens:plus"
},
{
"command": "gitlens.plus.hide",
"when": "config.gitlens.plusFeatures.enabled"
},
{
"command": "gitlens.plus.restore",
"when": "!config.gitlens.plusFeatures.enabled"
},
{
"command": "gitlens.plus.reset",
"when": "gitlens:debugging"
},
{
"command": "gitlens.plus.resetRepositoryAccess",
"when": "gitlens:enabled"
},
{
"command": "gitlens.plus.refreshRepositoryAccess",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showPatchDetailsPage",
"when": "gitlens:enabled && config.gitlens.cloudPatches.enabled"
},
{
"command": "gitlens.createPatch",
"when": "false && gitlens:enabled"
},
{
"command": "gitlens.createCloudPatch",
"when": "gitlens:enabled && config.gitlens.cloudPatches.enabled"
},
{
"command": "gitlens.shareAsCloudPatch",
"when": "gitlens:enabled && config.gitlens.cloudPatches.enabled"
},
{
"command": "gitlens.openCloudPatch",
"when": "false"
},
{
"command": "gitlens.openPatch",
"when": "false && gitlens:enabled"
},
{
"command": "gitlens.timeline.refresh",
"when": "false"
},
{
"command": "gitlens.showBranchesView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showCommitDetailsView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showCommitsView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showContributorsView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showDraftsView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showFileHistoryView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showFocusPage",
"when": "gitlens:enabled"
},
{
"command": "gitlens.focus.split",
"when": "gitlens:enabled && config.gitlens.focus.allowMultiple"
},
{
"command": "gitlens.showGraph",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showGraphPage",
"when": "gitlens:enabled"
},
{
"command": "gitlens.graph.split",
"when": "gitlens:enabled && config.gitlens.graph.allowMultiple"
},
{
"command": "gitlens.showGraphView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.toggleGraph",
"when": "gitlens:enabled"
},
{
"command": "gitlens.toggleMaximizedGraph",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showHomeView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showAccountView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showInCommitGraph",
"when": "false"
},
{
"command": "gitlens.showInCommitGraphView",
"when": "false"
},
{
"command": "gitlens.showLineHistoryView",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.showRemotesView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showRepositoriesView",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.showSearchAndCompareView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showSettingsPage!views",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!branches-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!commits-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!contributors-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!file-history-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!line-history-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!remotes-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!repositories-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!search-compare-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!stashes-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!tags-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!worktrees-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage!commit-graph",
"when": "false"
},
{
"command": "gitlens.showStashesView",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.showTagsView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showTimelinePage",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showInTimeline",
"when": "gitlens:enabled && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.timeline.split",
"when": "gitlens:enabled && config.gitlens.visualHistory.allowMultiple"
},
{
"command": "gitlens.showTimelineView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showWorktreesView",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.showWorkspacesView",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.compareWith",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.compareHeadWith",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.compareWorkingWith",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.diffDirectory",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.diffDirectoryWithHead",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.diffWithRevisionFrom",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithNext",
"when": "gitlens:activeFileStatus =~ /revision/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"when": "gitlens:activeFileStatus =~ /revision/ && isInDiffEditor && !isInDiffRightEditor"
},
{
"command": "gitlens.diffWithNextInDiffRight",
"when": "gitlens:activeFileStatus =~ /revision/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffWithPrevious",
"when": "gitlens:activeFileStatus =~ /tracked/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithPreviousInDiffLeft",
"when": "gitlens:activeFileStatus =~ /tracked/ && isInDiffEditor && !isInDiffRightEditor"
},
{
"command": "gitlens.diffWithPreviousInDiffRight",
"when": "gitlens:activeFileStatus =~ /tracked/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffLineWithPrevious",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.diffWithRevision",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithWorking",
"when": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffWithWorkingInDiffLeft",
"when": "false"
},
{
"command": "gitlens.diffWithWorkingInDiffRight",
"when": "false"
},
{
"command": "gitlens.diffLineWithWorking",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.disableRebaseEditor",
"when": "gitlens:enabled"
},
{
"command": "gitlens.enableRebaseEditor",
"when": "gitlens:enabled"
},
{
"command": "gitlens.externalDiff",
"when": "!gitlens:hasVirtualFolders && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.externalDiffAll",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.toggleFileBlame",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleFileBlameInDiffLeft",
"when": "false"
},
{
"command": "gitlens.toggleFileBlameInDiffRight",
"when": "false"
},
{
"command": "gitlens.clearFileAnnotations",
"when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:annotationStatus == computed"
},
{
"command": "gitlens.computingFileAnnotations",
"when": "false"
},
{
"command": "gitlens.toggleFileHeatmap",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleFileHeatmapInDiffLeft",
"when": "false"
},
{
"command": "gitlens.toggleFileHeatmapInDiffRight",
"when": "false"
},
{
"command": "gitlens.toggleFileChanges",
"when": "gitlens:activeFileStatus =~ /blameable/ && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.toggleFileChangesOnly",
"when": "false"
},
{
"command": "gitlens.toggleLineBlame",
"when": "!gitlens:disabled"
},
{
"command": "gitlens.toggleCodeLens",
"when": "!gitlens:disabled && !gitlens:disabledToggleCodeLens"
},
{
"command": "gitlens.gitCommands",
"when": "!gitlens:disabled"
},
{
"command": "gitlens.gitCommands.branch",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.gitCommands.cherryPick",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.gitCommands.merge",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.gitCommands.rebase",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.gitCommands.reset",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.gitCommands.revert",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.gitCommands.switch",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.gitCommands.tag",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.gitCommands.worktree",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.gitCommands.worktree.open",
"when": "!gitlens:disabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.switchAIModel",
"when": "gitlens:enabled"
},
{
"command": "gitlens.switchMode",
"when": "gitlens:enabled"
},
{
"command": "gitlens.toggleReviewMode",
"when": "gitlens:enabled"
},
{
"command": "gitlens.toggleZenMode",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showCommitSearch",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showLastQuickPick",
"when": "gitlens:enabled"
},
{
"command": "gitlens.revealCommitInView",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.showCommitInView",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.showInDetailsView",
"when": "false"
},
{
"command": "gitlens.showCommitsInView",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.showFileHistoryInView",
"when": "false"
},
{
"command": "gitlens.openFileHistory",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.openFolderHistory",
"when": "false"
},
{
"command": "gitlens.showQuickCommitDetails",
"when": "false"
},
{
"command": "gitlens.showLineCommitInView",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.showQuickRevisionDetails",
"when": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffLeft",
"when": "false"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffRight",
"when": "false"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.quickOpenFileHistory",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.showQuickBranchHistory",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoHistory",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoStatus",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showQuickStashList",
"when": "gitlens:enabled"
},
{
"command": "gitlens.addAuthors",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.connectRemoteProvider",
"when": "config.gitlens.integrations.enabled && gitlens:hasRichRemotes && !gitlens:hasConnectedRemotes"
},
{
"command": "gitlens.disconnectRemoteProvider",
"when": "config.gitlens.integrations.enabled && gitlens:hasRichRemotes && gitlens:hasConnectedRemotes"
},
{
"command": "gitlens.copyCurrentBranch",
"when": "gitlens:enabled"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.copyRelativePathToClipboard",
"when": "gitlens:enabled"
},
{
"command": "gitlens.closeUnchangedFiles",
"when": "gitlens:enabled"
},
{
"command": "gitlens.openChangedFiles",
"when": "gitlens:enabled"
},
{
"command": "gitlens.openOnlyChangedFiles",
"when": "gitlens:enabled"
},
{
"command": "gitlens.openBranchesOnRemote",
"when": "gitlens:hasRemotes"
},
{
"command": "gitlens.copyRemoteBranchesUrl",
"when": "false"
},
{
"command": "gitlens.openBranchOnRemote",
"when": "gitlens:hasRemotes"
},
{
"command": "gitlens.openCurrentBranchOnRemote",
"when": "gitlens:hasRemotes"
},
{
"command": "gitlens.copyDeepLinkToBranch",
"when": "false"
},
{
"command": "gitlens.copyDeepLinkToCommit",
"when": "false"
},
{
"command": "gitlens.copyDeepLinkToComparison",
"when": "false"
},
{
"command": "gitlens.copyDeepLinkToRepo",
"when": "gitlens:enabled"
},
{
"command": "gitlens.copyDeepLinkToTag",
"when": "false"
},
{
"command": "gitlens.copyDeepLinkToWorkspace",
"when": "false"
},
{
"command": "gitlens.copyRemoteBranchUrl",
"when": "false"
},
{
"command": "gitlens.openCommitOnRemote",
"when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.copyRemoteCommitUrl",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.openComparisonOnRemote",
"when": "false"
},
{
"command": "gitlens.copyRemoteComparisonUrl",
"when": "false"
},
{
"command": "gitlens.openAutolinkUrl",
"when": "false"
},
{
"command": "gitlens.copyAutolinkUrl",
"when": "false"
},
{
"command": "gitlens.openIssueOnRemote",
"when": "false"
},
{
"command": "gitlens.copyRemoteIssueUrl",
"when": "false"
},
{
"command": "gitlens.openPullRequestOnRemote",
"when": "false"
},
{
"command": "gitlens.copyRemotePullRequestUrl",
"when": "false"
},
{
"command": "gitlens.openAssociatedPullRequestOnRemote",
"when": "gitlens:hasRemotes"
},
{
"command": "gitlens.openFileFromRemote",
"when": "gitlens:enabled"
},
{
"command": "gitlens.openFileOnRemote",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "false"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.openBlamePriorToChange",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.openFileRevision",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.openFileRevisionFrom",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.openRepoOnRemote",
"when": "gitlens:hasRemotes"
},
{
"command": "gitlens.copyRemoteRepositoryUrl",
"when": "false"
},
{
"command": "gitlens.openRevisionFile",
"when": "gitlens:activeFileStatus =~ /revision/ && isInDiffEditor"
},
{
"command": "gitlens.openRevisionFileInDiffLeft",
"when": "false"
},
{
"command": "gitlens.openRevisionFileInDiffRight",
"when": "false"
},
{
"command": "gitlens.openWorkingFile",
"when": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.openWorkingFileInDiffLeft",
"when": "false"
},
{
"command": "gitlens.openWorkingFileInDiffRight",
"when": "false"
},
{
"command": "gitlens.stashApply",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.views.stash.delete",
"when": "false"
},
{
"command": "gitlens.views.stash.rename",
"when": "false"
},
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.stashSaveFiles",
"when": "false"
},
{
"command": "gitlens.resetAvatarCache",
"when": "gitlens:enabled"
},
{
"command": "gitlens.resetSuppressedWarnings",
"when": "gitlens:enabled"
},
{
"command": "gitlens.resetTrackedUsage",
"when": "gitlens:enabled"
},
{
"command": "gitlens.inviteToLiveShare",
"when": "false"
},
{
"command": "gitlens.browseRepoAtRevision",
"when": "!gitlens:hasVirtualFolders && gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.browseRepoAtRevisionInNewWindow",
"when": "!gitlens:hasVirtualFolders && gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.browseRepoBeforeRevision",
"when": "!gitlens:hasVirtualFolders && gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.browseRepoBeforeRevisionInNewWindow",
"when": "!gitlens:hasVirtualFolders && gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.views.browseRepoAtRevision",
"when": "false"
},
{
"command": "gitlens.views.browseRepoAtRevisionInNewWindow",
"when": "false"
},
{
"command": "gitlens.views.browseRepoBeforeRevision",
"when": "false"
},
{
"command": "gitlens.views.browseRepoBeforeRevisionInNewWindow",
"when": "false"
},
{
"command": "gitlens.fetchRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.pullRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.pushRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.views.addRemote",
"when": "false"
},
{
"command": "gitlens.views.highlightChanges",
"when": "false"
},
{
"command": "gitlens.views.highlightRevisionChanges",
"when": "false"
},
{
"command": "gitlens.views.restore",
"when": "false"
},
{
"command": "gitlens.views.switchToAnotherBranch",
"when": "false"
},
{
"command": "gitlens.views.switchToBranch",
"when": "false"
},
{
"command": "gitlens.views.switchToCommit",
"when": "false"
},
{
"command": "gitlens.views.switchToTag",
"when": "false"
},
{
"command": "gitlens.views.copy",
"when": "false"
},
{
"command": "gitlens.views.pruneRemote",
"when": "false"
},
{
"command": "gitlens.views.fetch",
"when": "false"
},
{
"command": "gitlens.views.publishBranch",
"when": "false"
},
{
"command": "gitlens.views.publishRepository",
"when": "false"
},
{
"command": "gitlens.views.pull",
"when": "false"
},
{
"command": "gitlens.views.push",
"when": "false"
},
{
"command": "gitlens.views.pushWithForce",
"when": "false"
},
{
"command": "gitlens.views.openInTerminal",
"when": "false"
},
{
"command": "gitlens.views.setAsDefault",
"when": "false"
},
{
"command": "gitlens.views.unsetAsDefault",
"when": "false"
},
{
"command": "gitlens.views.stageDirectory",
"when": "false"
},
{
"command": "gitlens.views.stageFile",
"when": "false"
},
{
"command": "gitlens.views.unstageDirectory",
"when": "false"
},
{
"command": "gitlens.views.unstageFile",
"when": "false"
},
{
"command": "gitlens.views.star",
"when": "false"
},
{
"command": "gitlens.views.unstar",
"when": "false"
},
{
"command": "gitlens.views.openChanges",
"when": "false"
},
{
"command": "gitlens.views.openDirectoryDiff",
"when": "false"
},
{
"command": "gitlens.views.openDirectoryDiffWithWorking",
"when": "false"
},
{
"command": "gitlens.views.openChangesWithWorking",
"when": "false"
},
{
"command": "gitlens.views.openPreviousChangesWithWorking",
"when": "false"
},
{
"command": "gitlens.views.openFile",
"when": "false"
},
{
"command": "gitlens.views.openFileRevision",
"when": "false"
},
{
"command": "gitlens.views.openChangedFiles",
"when": "false"
},
{
"command": "gitlens.views.openChangedFileDiffs",
"when": "false"
},
{
"command": "gitlens.views.openChangedFileDiffsWithWorking",
"when": "false"
},
{
"command": "gitlens.views.openChangedFileRevisions",
"when": "false"
},
{
"command": "gitlens.views.openOnlyChangedFiles",
"when": "false"
},
{
"command": "gitlens.views.applyChanges",
"when": "false"
},
{
"command": "gitlens.views.closeRepository",
"when": "false"
},
{
"command": "gitlens.views.compareAncestryWithWorking",
"when": "false"
},
{
"command": "gitlens.views.compareWithHead",
"when": "false"
},
{
"command": "gitlens.views.compareWithUpstream",
"when": "false"
},
{
"command": "gitlens.views.compareWithSelected",
"when": "false"
},
{
"command": "gitlens.views.selectForCompare",
"when": "false"
},
{
"command": "gitlens.views.compareFileWithSelected",
"when": "false"
},
{
"command": "gitlens.views.selectFileForCompare",
"when": "false"
},
{
"command": "gitlens.views.compareWithWorking",
"when": "false"
},
{
"command": "gitlens.views.addAuthors",
"when": "false"
},
{
"command": "gitlens.views.addAuthor",
"when": "false"
},
{
"command": "gitlens.views.title.applyStash",
"when": "false"
},
{
"command": "gitlens.views.createWorktree",
"when": "false"
},
{
"command": "gitlens.ghpr.views.openOrCreateWorktree",
"when": "false"
},
{
"command": "gitlens.views.title.createWorktree",
"when": "false"
},
{
"command": "gitlens.views.deleteWorktree",
"when": "false"
},
{
"command": "gitlens.views.openWorktree",
"when": "false"
},
{
"command": "gitlens.views.openWorktreeInNewWindow",
"when": "false"
},
{
"command": "gitlens.views.revealRepositoryInExplorer",
"when": "false"
},
{
"command": "gitlens.views.revealWorktreeInExplorer",
"when": "false"
},
{
"command": "gitlens.views.createBranch",
"when": "false"
},
{
"command": "gitlens.views.title.createBranch",
"when": "false"
},
{
"command": "gitlens.views.deleteBranch",
"when": "false"
},
{
"command": "gitlens.views.renameBranch",
"when": "false"
},
{
"command": "gitlens.views.cherryPick",
"when": "false"
},
{
"command": "gitlens.views.mergeBranchInto",
"when": "false"
},
{
"command": "gitlens.views.pushToCommit",
"when": "false"
},
{
"command": "gitlens.views.rebaseOntoBranch",
"when": "false"
},
{
"command": "gitlens.views.rebaseOntoCommit",
"when": "false"
},
{
"command": "gitlens.views.rebaseOntoUpstream",
"when": "false"
},
{
"command": "gitlens.views.resetCommit",
"when": "false"
},
{
"command": "gitlens.views.resetToCommit",
"when": "false"
},
{
"command": "gitlens.views.resetToTip",
"when": "false"
},
{
"command": "gitlens.views.revert",
"when": "false"
},
{
"command": "gitlens.views.undoCommit",
"when": "false"
},
{
"command": "gitlens.views.removeRemote",
"when": "false"
},
{
"command": "gitlens.views.createTag",
"when": "false"
},
{
"command": "gitlens.views.title.createTag",
"when": "false"
},
{
"command": "gitlens.views.deleteTag",
"when": "false"
},
{
"command": "gitlens.views.setBranchComparisonToWorking",
"when": "false"
},
{
"command": "gitlens.views.setBranchComparisonToBranch",
"when": "false"
},
{
"command": "gitlens.views.createPullRequest",
"when": "false"
},
{
"command": "gitlens.views.openPullRequest",
"when": "false"
},
{
"command": "gitlens.views.clearComparison",
"when": "false"
},
{
"command": "gitlens.views.clearReviewed",
"when": "false"
},
{
"command": "gitlens.views.collapseNode",
"when": "false"
},
{
"command": "gitlens.views.dismissNode",
"when": "false"
},
{
"command": "gitlens.views.editNode",
"when": "false"
},
{
"command": "gitlens.views.expandNode",
"when": "false"
},
{
"command": "gitlens.views.refreshNode",
"when": "false"
},
{
"command": "gitlens.views.loadMoreChildren",
"when": "false"
},
{
"command": "gitlens.views.loadAllChildren",
"when": "false"
},
{
"command": "gitlens.views.setShowRelativeDateMarkersOn",
"when": "false"
},
{
"command": "gitlens.views.setShowRelativeDateMarkersOff",
"when": "false"
},
{
"command": "gitlens.views.branches.copy",
"when": "false"
},
{
"command": "gitlens.views.branches.refresh",
"when": "false"
},
{
"command": "gitlens.views.branches.setLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.branches.setLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.branches.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.branches.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.branches.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.branches.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.branches.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.branches.setShowBranchComparisonOn",
"when": "false"
},
{
"command": "gitlens.views.branches.setShowBranchComparisonOff",
"when": "false"
},
{
"command": "gitlens.views.branches.setShowBranchPullRequestOn",
"when": "false"
},
{
"command": "gitlens.views.branches.setShowBranchPullRequestOff",
"when": "false"
},
{
"command": "gitlens.views.commitDetails.refresh",
"when": "false"
},
{
"command": "gitlens.views.patchDetails.close",
"when": "false"
},
{
"command": "gitlens.views.patchDetails.refresh",
"when": "false"
},
{
"command": "gitlens.views.commits.copy",
"when": "false"
},
{
"command": "gitlens.views.commits.refresh",
"when": "false"
},
{
"command": "gitlens.views.commits.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.commits.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.commits.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.commits.setCommitsFilterAuthors",
"when": "false"
},
{
"command": "gitlens.views.commits.setCommitsFilterOff",
"when": "false"
},
{
"command": "gitlens.views.commits.setShowMergeCommitsOff",
"when": "false"
},
{
"command": "gitlens.views.commits.setShowMergeCommitsOn",
"when": "false"
},
{
"command": "gitlens.views.commits.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.commits.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.commits.setShowBranchComparisonOn",
"when": "false"
},
{
"command": "gitlens.views.commits.setShowBranchComparisonOff",
"when": "false"
},
{
"command": "gitlens.views.commits.setShowBranchPullRequestOn",
"when": "false"
},
{
"command": "gitlens.views.commits.setShowBranchPullRequestOff",
"when": "false"
},
{
"command": "gitlens.views.contributors.copy",
"when": "false"
},
{
"command": "gitlens.views.contributors.refresh",
"when": "false"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.contributors.setShowAllBranchesOn",
"when": "false"
},
{
"command": "gitlens.views.contributors.setShowAllBranchesOff",
"when": "false"
},
{
"command": "gitlens.views.contributors.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.contributors.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.contributors.setShowStatisticsOn",
"when": "false"
},
{
"command": "gitlens.views.contributors.setShowStatisticsOff",
"when": "false"
},
{
"command": "gitlens.views.drafts.copy",
"when": "false"
},
{
"command": "gitlens.views.drafts.refresh",
"when": "false"
},
{
"command": "gitlens.views.drafts.create",
"when": "false"
},
{
"command": "gitlens.views.drafts.delete",
"when": "false"
},
{
"command": "gitlens.views.drafts.open",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.changeBase",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.copy",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.refresh",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOff",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOff",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOff",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOff",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setShowMergeCommitsOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setShowMergeCommitsOff",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.graph.openInTab",
"when": "false"
},
{
"command": "gitlens.views.graph.refresh",
"when": "false"
},
{
"command": "gitlens.views.graphDetails.refresh",
"when": "false"
},
{
"command": "gitlens.views.home.refresh",
"when": "false"
},
{
"command": "gitlens.views.account.refresh",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.changeBase",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.copy",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.refresh",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOn",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOff",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.remotes.copy",
"when": "false"
},
{
"command": "gitlens.views.remotes.refresh",
"when": "false"
},
{
"command": "gitlens.views.remotes.setLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.remotes.setLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.remotes.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.remotes.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.remotes.setShowBranchPullRequestOn",
"when": "false"
},
{
"command": "gitlens.views.remotes.setShowBranchPullRequestOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.copy",
"when": "false"
},
{
"command": "gitlens.views.repositories.refresh",
"when": "false"
},
{
"command": "gitlens.views.repositories.setAutoRefreshToOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setAutoRefreshToOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowBranchComparisonOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowBranchComparisonOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setBranchesShowBranchComparisonOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setBranchesShowBranchComparisonOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowBranchesOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowBranchesOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowCommitsOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowCommitsOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowContributorsOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowContributorsOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowRemotesOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowRemotesOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowStashesOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowStashesOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowTagsOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowTagsOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowWorktreesOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowWorktreesOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowUpstreamStatusOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowUpstreamStatusOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowSectionOff",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.clear",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.copy",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.refresh",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.searchCommits",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.selectForCompare",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.setResultsCommitsFilterAuthors",
"when": "false"
},
{
"command": "gitlens.views.setResultsCommitsFilterOff",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.swapComparison",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnLeft",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnRight",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOff",
"when": "false"
},
{
"command": "gitlens.views.stashes.copy",
"when": "false"
},
{
"command": "gitlens.views.stashes.refresh",
"when": "false"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.tags.copy",
"when": "false"
},
{
"command": "gitlens.views.tags.refresh",
"when": "false"
},
{
"command": "gitlens.views.tags.setLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.tags.setLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.tags.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.tags.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.tags.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.tags.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.tags.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.timeline.refresh",
"when": "false"
},
{
"command": "gitlens.views.workspaces.info",
"when": "false"
},
{
"command": "gitlens.views.workspaces.convert",
"when": "false"
},
{
"command": "gitlens.views.workspaces.create",
"when": "gitlens:plus"
},
{
"command": "gitlens.views.workspaces.delete",
"when": "false"
},
{
"command": "gitlens.views.workspaces.addRepos",
"when": "false"
},
{
"command": "gitlens.views.workspaces.addReposFromLinked",
"when": "false"
},
{
"command": "gitlens.views.workspaces.repo.locate",
"when": "false"
},
{
"command": "gitlens.views.workspaces.locateAllRepos",
"when": "false"
},
{
"command": "gitlens.views.workspaces.createLocal",
"when": "false"
},
{
"command": "gitlens.views.workspaces.openLocal",
"when": "false"
},
{
"command": "gitlens.views.workspaces.openLocalNewWindow",
"when": "false"
},
{
"command": "gitlens.views.workspaces.changeAutoAddSetting",
"when": "false"
},
{
"command": "gitlens.views.workspaces.repo.openInNewWindow",
"when": "false"
},
{
"command": "gitlens.views.workspaces.repo.open",
"when": "false"
},
{
"command": "gitlens.views.workspaces.repo.addToWindow",
"when": "false"
},
{
"command": "gitlens.views.workspaces.repo.remove",
"when": "false"
},
{
"command": "gitlens.views.workspaces.copy",
"when": "false"
},
{
"command": "gitlens.views.workspaces.refresh",
"when": "false"
},
{
"command": "gitlens.views.worktrees.copy",
"when": "false"
},
{
"command": "gitlens.views.worktrees.refresh",
"when": "false"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.worktrees.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.worktrees.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.worktrees.setShowBranchComparisonOn",
"when": "false"
},
{
"command": "gitlens.views.worktrees.setShowBranchComparisonOff",
"when": "false"
},
{
"command": "gitlens.views.worktrees.setShowBranchPullRequestOn",
"when": "false"
},
{
"command": "gitlens.views.worktrees.setShowBranchPullRequestOff",
"when": "false"
},
{
"command": "gitlens.graph.switchToEditorLayout",
"when": "gitlens:enabled && config.gitlens.graph.layout != editor"
},
{
"command": "gitlens.graph.switchToPanelLayout",
"when": "gitlens:enabled && config.gitlens.graph.layout != panel"
},
{
"command": "gitlens.graph.push",
"when": "false"
},
{
"command": "gitlens.graph.pull",
"when": "false"
},
{
"command": "gitlens.graph.fetch",
"when": "false"
},
{
"command": "gitlens.graph.switchToAnotherBranch",
"when": "false"
},
{
"command": "gitlens.graph.refresh",
"when": "false"
},
{
"command": "gitlens.graph.copyDeepLinkToBranch",
"when": "false"
},
{
"command": "gitlens.graph.copyDeepLinkToCommit",
"when": "false"
},
{
"command": "gitlens.graph.copyDeepLinkToRepo",
"when": "false"
},
{
"command": "gitlens.graph.copyDeepLinkToTag",
"when": "false"
},
{
"command": "gitlens.focus.refresh",
"when": "false"
},
{
"command": "gitlens.graph.copyRemoteBranchUrl",
"when": "false"
},
{
"command": "gitlens.graph.createBranch",
"when": "false"
},
{
"command": "gitlens.graph.deleteBranch",
"when": "false"
},
{
"command": "gitlens.graph.openBranchOnRemote",
"when": "false"
},
{
"command": "gitlens.graph.mergeBranchInto",
"when": "false"
},
{
"command": "gitlens.graph.publishBranch",
"when": "false"
},
{
"command": "gitlens.graph.rebaseOntoBranch",
"when": "false"
},
{
"command": "gitlens.graph.rebaseOntoUpstream",
"when": "false"
},
{
"command": "gitlens.graph.renameBranch",
"when": "false"
},
{
"command": "gitlens.graph.switchToBranch",
"when": "false"
},
{
"command": "gitlens.graph.hideLocalBranch",
"when": "false"
},
{
"command": "gitlens.graph.hideRemoteBranch",
"when": "false"
},
{
"command": "gitlens.graph.hideRemote",
"when": "false"
},
{
"command": "gitlens.graph.hideTag",
"when": "false"
},
{
"command": "gitlens.graph.hideRefGroup",
"when": "false"
},
{
"command": "gitlens.graph.cherryPick",
"when": "false"
},
{
"command": "gitlens.graph.copyMessage",
"when": "false"
},
{
"command": "gitlens.graph.copySha",
"when": "false"
},
{
"command": "gitlens.graph.copyRemoteCommitUrl",
"when": "false"
},
{
"command": "gitlens.graph.showInDetailsView",
"when": "false"
},
{
"command": "gitlens.graph.openCommitOnRemote",
"when": "false"
},
{
"command": "gitlens.graph.rebaseOntoCommit",
"when": "false"
},
{
"command": "gitlens.graph.resetCommit",
"when": "false"
},
{
"command": "gitlens.graph.resetToCommit",
"when": "false"
},
{
"command": "gitlens.graph.resetToTip",
"when": "false"
},
{
"command": "gitlens.graph.revert",
"when": "false"
},
{
"command": "gitlens.graph.switchToCommit",
"when": "false"
},
{
"command": "gitlens.graph.undoCommit",
"when": "false"
},
{
"command": "gitlens.graph.saveStash",
"when": "false"
},
{
"command": "gitlens.graph.applyStash",
"when": "false"
},
{
"command": "gitlens.graph.stash.delete",
"when": "false"
},
{
"command": "gitlens.graph.stash.rename",
"when": "false"
},
{
"command": "gitlens.graph.createTag",
"when": "false"
},
{
"command": "gitlens.graph.deleteTag",
"when": "false"
},
{
"command": "gitlens.graph.switchToTag",
"when": "false"
},
{
"command": "gitlens.graph.createWorktree",
"when": "false"
},
{
"command": "gitlens.graph.createPullRequest",
"when": "false"
},
{
"command": "gitlens.graph.openPullRequestOnRemote",
"when": "false"
},
{
"command": "gitlens.graph.compareAncestryWithWorking",
"when": "false"
},
{
"command": "gitlens.graph.compareWithHead",
"when": "false"
},
{
"command": "gitlens.graph.compareWithUpstream",
"when": "false"
},
{
"command": "gitlens.graph.compareWithWorking",
"when": "false"
},
{
"command": "gitlens.graph.openChangedFiles",
"when": "false"
},
{
"command": "gitlens.graph.openChangedFileDiffs",
"when": "false"
},
{
"command": "gitlens.graph.openChangedFileDiffsWithWorking",
"when": "false"
},
{
"command": "gitlens.graph.openChangedFileRevisions",
"when": "false"
},
{
"command": "gitlens.graph.openOnlyChangedFiles",
"when": "false"
},
{
"command": "gitlens.graph.addAuthor",
"when": "false"
},
{
"command": "gitlens.graph.copy",
"when": "false"
},
{
"command": "gitlens.graph.columnAuthorOn",
"when": "false"
},
{
"command": "gitlens.graph.columnAuthorOff",
"when": "false"
},
{
"command": "gitlens.graph.columnDateTimeOn",
"when": "false"
},
{
"command": "gitlens.graph.columnDateTimeOff",
"when": "false"
},
{
"command": "gitlens.graph.columnShaOn",
"when": "false"
},
{
"command": "gitlens.graph.columnShaOff",
"when": "false"
},
{
"command": "gitlens.graph.columnGraphCompact",
"when": "false"
},
{
"command": "gitlens.graph.columnGraphDefault",
"when": "false"
},
{
"command": "gitlens.graph.columnChangesOn",
"when": "false"
},
{
"command": "gitlens.graph.columnChangesOff",
"when": "false"
},
{
"command": "gitlens.graph.columnGraphOn",
"when": "false"
},
{
"command": "gitlens.graph.columnGraphOff",
"when": "false"
},
{
"command": "gitlens.graph.columnMessageOn",
"when": "false"
},
{
"command": "gitlens.graph.columnMessageOff",
"when": "false"
},
{
"command": "gitlens.graph.columnRefOn",
"when": "false"
},
{
"command": "gitlens.graph.columnRefOff",
"when": "false"
},
{
"command": "gitlens.graph.resetColumnsDefault",
"when": "false"
},
{
"command": "gitlens.graph.resetColumnsCompact",
"when": "false"
},
{
"command": "gitlens.graph.scrollMarkerLocalBranchOn",
"when": "false"
},
{
"command": "gitlens.graph.scrollMarkerLocalBranchOff",
"when": "false"
},
{
"command": "gitlens.graph.scrollMarkerRemoteBranchOn",
"when": "false"
},
{
"command": "gitlens.graph.scrollMarkerRemoteBranchOff",
"when": "false"
},
{
"command": "gitlens.graph.scrollMarkerStashOn",
"when": "false"
},
{
"command": "gitlens.graph.scrollMarkerStashOff",
"when": "false"
},
{
"command": "gitlens.graph.scrollMarkerTagOn",
"when": "false"
},
{
"command": "gitlens.graph.scrollMarkerTagOff",
"when": "false"
},
{
"command": "gitlens.graph.shareAsCloudPatch",
"when": "false"
},
{
"command": "gitlens.enableDebugLogging",
"when": "config.gitlens.outputLevel != debug"
},
{
"command": "gitlens.disableDebugLogging",
"when": "config.gitlens.outputLevel == debug"
},
{
"command": "gitlens.generateCommitMessage",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.ai.experimental.generateCommitMessage.enabled"
},
{
"command": "gitlens.resetAIKey",
"when": "gitlens:enabled"
}
],
"editor/context": [
{
"command": "gitlens.openWorkingFile",
"when": "editorTextFocus && config.gitlens.menus.editor.compare && resourceScheme == gitlens",
"group": "1_z_gitlens@0"
},
{
"submenu": "gitlens/editor/context/changes",
"when": "editorTextFocus && config.gitlens.menus.editor.compare && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_z_gitlens_open@1"
},
{
"submenu": "gitlens/editor/context/openOn",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_z_gitlens_open@2"
},
{
"submenu": "gitlens/editor/annotations",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.blame && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_z_gitlens_open_file@1"
},
{
"submenu": "gitlens/editor/history",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_z_gitlens_open_file@2"
}
],
"editor/context/copy": [
{
"command": "gitlens.copyRelativePathToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_gitlens_remote@1"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_gitlens_remote@2"
},
{
"command": "gitlens.copyRemoteCommitUrl",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_gitlens_remote@3"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "3_gitlens@2"
}
],
"editor/lineNumber/context": [
{
"submenu": "gitlens/editor/lineNumber/context/share",
"when": "gitlens:hasRemotes && config.gitlens.menus.editorGutter.share && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "2_gitlens@2"
},
{
"submenu": "gitlens/editor/lineNumber/context/changes",
"when": "config.gitlens.menus.editorGutter.compare && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "3_gitlens@1"
},
{
"submenu": "gitlens/editor/lineNumber/context/openOn",
"when": "gitlens:hasRemotes && config.gitlens.menus.editorGutter.remote && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "3_gitlens@2"
}
],
"editor/title": [
{
"command": "gitlens.openPatch",
"when": "false && editorLangId == diff"
},
{
"command": "gitlens.diffWithWorking",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && !isInDiffEditor",
"group": "navigation@-99"
},
{
"command": "gitlens.diffWithWorkingInDiffLeft",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && isInDiffEditor && !isInDiffRightEditor",
"group": "navigation@-99"
},
{
"command": "gitlens.diffWithWorkingInDiffRight",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && isInDiffRightEditor",
"group": "navigation@-99"
},
{
"command": "gitlens.openWorkingFile",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme == git && !isInDiffEditor",
"group": "navigation@-98"
},
{
"command": "gitlens.openWorkingFile",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && !isInDiffEditor",
"group": "navigation@-98"
},
{
"command": "gitlens.openWorkingFileInDiffLeft",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && isInDiffEditor && !isInDiffRightEditor",
"group": "navigation@-98"
},
{
"command": "gitlens.openWorkingFileInDiffRight",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && isInDiffRightEditor",
"group": "navigation@-98"
},
{
"command": "gitlens.openRevisionFileInDiffLeft",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && isInDiffEditor && !isInDiffRightEditor",
"group": "navigation@-97"
},
{
"command": "gitlens.openRevisionFileInDiffRight",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && isInDiffRightEditor",
"group": "navigation@-97"
},
{
"command": "gitlens.diffWithPrevious",
"alt": "gitlens.diffWithRevision",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && !isInDiffEditor",
"group": "navigation@97"
},
{
"command": "gitlens.diffWithPreviousInDiffLeft",
"alt": "gitlens.diffWithRevision",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && isInDiffEditor && !isInDiffRightEditor",
"group": "navigation@97"
},
{
"command": "gitlens.diffWithPreviousInDiffRight",
"alt": "gitlens.diffWithRevision",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && isInDiffRightEditor",
"group": "navigation@97"
},
{
"command": "gitlens.showQuickRevisionDetails",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && !isInDiffEditor",
"group": "navigation@98"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffLeft",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && isInDiffEditor && !isInDiffRightEditor",
"group": "navigation@98"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffRight",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && isInDiffRightEditor",
"group": "navigation@98"
},
{
"command": "gitlens.diffWithNext",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && !isInDiffEditor",
"group": "navigation@99"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && isInDiffEditor && !isInDiffRightEditor",
"group": "navigation@99"
},
{
"command": "gitlens.diffWithNextInDiffRight",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && isInDiffRightEditor",
"group": "navigation@99"
},
{
"command": "gitlens.toggleFileBlame",
"when": "config.gitlens.fileAnnotations.command == blame && gitlens:activeFileStatus =~ /blameable/ && !gitlens:annotationStatus && config.gitlens.menus.editorGroup.blame",
"group": "navigation@100",
"alt": "gitlens.toggleFileHeatmap"
},
{
"command": "gitlens.toggleFileHeatmap",
"when": "config.gitlens.fileAnnotations.command == heatmap && gitlens:activeFileStatus =~ /blameable/ && !gitlens:annotationStatus && config.gitlens.menus.editorGroup.blame",
"group": "navigation@100",
"alt": "gitlens.toggleFileBlame"
},
{
"command": "gitlens.toggleFileChanges",
"when": "config.gitlens.fileAnnotations.command == changes && gitlens:activeFileStatus =~ /blameable/ && !gitlens:hasVirtualFolders && !gitlens:annotationStatus && config.gitlens.menus.editorGroup.blame",
"group": "navigation@100",
"alt": "gitlens.toggleFileBlame"
},
{
"submenu": "gitlens/editor/annotations",
"when": "!config.gitlens.fileAnnotations.command && gitlens:activeFileStatus =~ /blameable/ && !gitlens:annotationStatus && config.gitlens.menus.editorGroup.blame",
"group": "navigation@100"
},
{
"command": "gitlens.computingFileAnnotations",
"when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:annotationStatus == computing && config.gitlens.menus.editorGroup.blame",
"group": "navigation@100"
},
{
"command": "gitlens.clearFileAnnotations",
"when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:annotationStatus == computed && config.gitlens.menus.editorGroup.blame",
"group": "navigation@100"
},
{
"command": "gitlens.timeline.refresh",
"when": "activeWebviewPanelId === gitlens.timeline",
"group": "navigation@-99"
},
{
"command": "gitlens.graph.refresh",
"when": "activeWebviewPanelId === gitlens.graph",
"group": "navigation@-99"
},
{
"submenu": "gitlens/graph/configuration",
"when": "activeWebviewPanelId === gitlens.graph",
"group": "navigation@-98"
},
{
"command": "gitlens.focus.refresh",
"when": "activeWebviewPanelId === gitlens.focus",
"group": "navigation@-98"
},
{
"command": "gitlens.focus.split",
"when": "resourceScheme == webview-panel && activeWebviewPanelId === gitlens.focus && config.gitlens.focus.allowMultiple",
"group": "navigation@-97"
},
{
"command": "gitlens.graph.split",
"when": "resourceScheme == webview-panel && activeWebviewPanelId === gitlens.graph && config.gitlens.graph.allowMultiple",
"group": "navigation@-97"
},
{
"command": "gitlens.timeline.split",
"when": "resourceScheme == webview-panel && activeWebviewPanelId === gitlens.timeline && config.gitlens.visualHistory.allowMultiple",
"group": "navigation@-97"
}
],
"editor/title/context": [
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.editorTab.clipboard && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_cutcopypaste@100"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.editorTab.clipboard && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "1_cutcopypaste@101"
},
{
"command": "gitlens.openWorkingFile",
"when": "resourceScheme == gitlens && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "2_a_gitlens@0"
},
{
"submenu": "gitlens/editor/changes",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.compare && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "2_a_gitlens_open@1"
},
{
"submenu": "gitlens/editor/openOn",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.editorTab.remote && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "2_a_gitlens_open@2"
},
{
"submenu": "gitlens/editor/history",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.history && isFileSystemResource && resourceScheme =~ /^(?!output$|vscode-(?!remote|vfs$)).*$/",
"group": "2_a_gitlens_open_file@1"
},
{
"command": "gitlens.focus.split",
"when": "resourceScheme == webview-panel && activeWebviewPanelId === gitlens.focus && config.gitlens.focus.allowMultiple",
"group": "6_split_in_group_gitlens@2"
},
{
"command": "gitlens.graph.split",
"when": "resourceScheme == webview-panel && activeWebviewPanelId === gitlens.graph && config.gitlens.graph.allowMultiple",
"group": "6_split_in_group_gitlens@2"
},
{
"command": "gitlens.timeline.split",
"when": "resourceScheme == webview-panel && activeWebviewPanelId === gitlens.timeline && config.gitlens.visualHistory.allowMultiple",
"group": "6_split_in_group_gitlens@2"
}
],
"explorer/context": [
{
"submenu": "gitlens/explorer/changes",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.compare",
"group": "4_t_gitlens@0"
},
{
"submenu": "gitlens/explorer/openOn",
"when": "!explorerResourceIsRoot && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.remote",
"group": "4_t_gitlens@1"
},
{
"submenu": "gitlens/explorer/history",
"when": "gitlens:enabled && config.gitlens.menus.explorer.history",
"group": "4_timeline@0"
},
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "!explorerResourceIsRoot && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.clipboard",
"group": "6_copypath@100"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"when": "!explorerResourceIsRoot && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.clipboard",
"group": "6_copypath@101"
}
],
"extension/context": [
{
"command": "gitlens.getStarted",
"when": "extension =~ /^eamodio.gitlens?$/ && extensionStatus == installed",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showWelcomePage",
"when": "extension =~ /^eamodio.gitlens?$/ && extensionStatus == installed",
"group": "9_gitlens@2"
},
{
"command": "gitlens.showSettingsPage",
"when": "extension =~ /^eamodio.gitlens?$/ && extensionStatus == installed",
"group": "9_gitlens@3"
}
],
"git.commit": [
{
"command": "gitlens.addAuthors",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.menus.scmRepository.authors",
"group": "4_gitlens@1"
},
{
"command": "gitlens.generateCommitMessage",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.ai.experimental.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage",
"group": "4_gitlens@2"
}
],
"menuBar/edit/copy": [
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "1_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"when": "gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "1_gitlens@2"
}
],
"scm/sourceControl": [
{
"command": "gitlens.showGraph",
"when": "gitlens:enabled && config.gitlens.menus.scm.graph && gitlens:plus:enabled && scmProvider == git && scmProviderRootUri not in gitlens:plus:disallowedRepos",
"group": "6_gitlens@1"
}
],
"scm/title": [
{
"command": "gitlens.showGraph",
"when": "gitlens:enabled && config.gitlens.menus.scmRepositoryInline.graph && gitlens:plus:enabled && scmProvider == git && scmProviderRootUri not in gitlens:plus:disallowedRepos",
"group": "navigation@-1000"
},
{
"command": "gitlens.addAuthors",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && scmProvider == git && config.gitlens.menus.scmRepository.authors",
"group": "2_z_gitlens@1"
},
{
"command": "gitlens.generateCommitMessage",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.ai.experimental.generateCommitMessage.enabled && scmProvider == git && config.gitlens.menus.scmRepository.generateCommitMessage",
"group": "2_z_gitlens@2"
},
{
"command": "gitlens.showGraph",
"when": "gitlens:enabled && config.gitlens.menus.scmRepository.graph && gitlens:plus:enabled && scmProvider == git && scmProviderRootUri not in gitlens:plus:disallowedRepos",
"group": "2_z_gitlens@3"
}
],
"scm/resourceGroup/context": [
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && scmProvider == git && scmResourceGroup =~ /^(workingTree|index)$/ && config.gitlens.menus.scmGroupInline.stash",
"group": "inline@-1"
},
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && scmProvider == git && scmResourceGroup =~ /^(workingTree|index)$/ && config.gitlens.menus.scmGroup.stash",
"group": "1_modification@100"
},
{
"submenu": "gitlens/scm/resourceGroup/changes",
"when": "gitlens:enabled && scmProvider == git && scmResourceGroup =~ /^(workingTree|index)$/ && config.gitlens.menus.scmGroup.compare",
"group": "2_gitlens@1"
},
{
"command": "gitlens.openChangedFiles",
"when": "gitlens:enabled && scmProvider == git && scmResourceGroup =~ /^(workingTree|index)$/ && config.gitlens.menus.scmGroup.openClose",
"group": "3_gitlens@1"
},
{
"command": "gitlens.closeUnchangedFiles",
"when": "gitlens:enabled && scmProvider == git && scmResourceGroup =~ /^(workingTree|index)$/ && config.gitlens.menus.scmGroup.openClose",
"group": "3_gitlens@2"
},
{
"command": "gitlens.openOnlyChangedFiles",
"when": "gitlens:enabled && scmProvider == git && scmResourceGroup =~ /^(workingTree|index)$/ && config.gitlens.menus.scmGroup.openClose",
"group": "3_gitlens@2"
}
],
"scm/resourceState/context": [
{
"command": "gitlens.stashSaveFiles",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && scmProvider == git && scmResourceGroup =~ /^(workingTree|index)$/ && config.gitlens.menus.scmItemInline.stash",
"group": "inline@1"
},
{
"submenu": "gitlens/scm/resourceState/changes",
"when": "gitlens:enabled && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.compare",
"group": "navigation"
},
{
"submenu": "gitlens/scm/resourceState/openOn",
"when": "gitlens:enabled && gitlens:hasRemotes && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.remote",
"group": "navigation"
},
{
"submenu": "gitlens/scm/resourceState/history",
"when": "gitlens:enabled && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.history",
"group": "1_a_gitlens@2"
},
{
"command": "gitlens.stashSaveFiles",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && scmProvider == git && scmResourceGroup =~ /^(workingTree|index)$/ && config.gitlens.menus.scmItem.stash",
"group": "1_modification@2"
},
{
"submenu": "gitlens/share",
"when": "gitlens:enabled && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.share",
"group": "7_a_gitlens_share@1"
},
{
"command": "gitlens.copyRelativePathToClipboard",
"when": "gitlens:enabled && gitlens:hasRemotes && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.clipboard",
"group": "7_cutcopypaste@98"
}
],
"timeline/item/context": [
{
"command": "gitlens.openCommitOnRemote",
"when": "false && gitlens:enabled && gitlens:hasRemotes && timelineItem =~ /git:file:commit\\b/",
"group": "inline@99",
"alt": "gitlens.copyRemoteCommitUrl"
}
],
"view/title": [
{
"command": "gitlens.views.switchToAnotherBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.branches/",
"group": "navigation@10"
},
{
"command": "gitlens.views.title.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /gitlens\\.views\\.branches\\b/",
"group": "navigation@11"
},
{
"command": "gitlens.views.branches.setLayoutToList",
"when": "view =~ /gitlens\\.views\\.branches/ && config.gitlens.views.branches.branches.layout == tree",
"group": "navigation@50"
},
{
"command": "gitlens.views.branches.setLayoutToTree",
"when": "view =~ /gitlens\\.views\\.branches/ && config.gitlens.views.branches.branches.layout == list",
"group": "navigation@50"
},
{
"command": "gitlens.views.branches.refresh",
"when": "view =~ /^gitlens\\.views\\.branches/",
"group": "navigation@99"
},
{
"command": "gitlens.views.branches.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.branches/ && config.gitlens.views.branches.files.layout == tree",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.branches.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.branches/ && config.gitlens.views.branches.files.layout == auto",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.branches.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.branches/ && config.gitlens.views.branches.files.layout == list",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.branches.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.branches/ && !config.gitlens.views.branches.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.branches.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.branches/ && config.gitlens.views.branches.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.branches.setShowBranchComparisonOn",
"when": "view =~ /^gitlens\\.views\\.branches/ && !config.gitlens.views.branches.showBranchComparison",
"group": "5_gitlens@1"
},
{
"command": "gitlens.views.branches.setShowBranchComparisonOff",
"when": "view =~ /^gitlens\\.views\\.branches/ && config.gitlens.views.branches.showBranchComparison",
"group": "5_gitlens@1"
},
{
"command": "gitlens.views.branches.setShowBranchPullRequestOn",
"when": "view =~ /^gitlens\\.views\\.branches/ && !config.gitlens.views.branches.pullRequests.enabled && !config.gitlens.views.branches.pullRequests.showForBranches",
"group": "5_gitlens@2"
},
{
"command": "gitlens.views.branches.setShowBranchPullRequestOff",
"when": "view =~ /^gitlens\\.views\\.branches/ && config.gitlens.views.branches.pullRequests.enabled && config.gitlens.views.branches.pullRequests.showForBranches",
"group": "5_gitlens@2"
},
{
"command": "gitlens.pushRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.commits/",
"group": "navigation@1"
},
{
"command": "gitlens.pullRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.commits/",
"group": "navigation@2"
},
{
"command": "gitlens.fetchRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.commits/",
"group": "navigation@3"
},
{
"command": "gitlens.views.switchToAnotherBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.commits/",
"group": "navigation@10"
},
{
"command": "gitlens.showGraph",
"when": "view =~ /^gitlens\\.views\\.commits/ && gitlens:plus:enabled",
"group": "navigation@11"
},
{
"command": "gitlens.views.commitDetails.refresh",
"when": "view =~ /^gitlens\\.views\\.commitDetails/",
"group": "navigation@99"
},
{
"command": "gitlens.views.patchDetails.refresh",
"when": "view =~ /^gitlens\\.views\\.patchDetails/",
"group": "navigation@98"
},
{
"command": "gitlens.views.patchDetails.close",
"when": "view =~ /^gitlens\\.views\\.patchDetails/",
"group": "navigation@99"
},
{
"command": "gitlens.views.commits.setCommitsFilterOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && gitlens:views:commits:filtered",
"group": "navigation@50"
},
{
"command": "gitlens.views.commits.refresh",
"when": "view =~ /^gitlens\\.views\\.commits/",
"group": "navigation@99"
},
{
"command": "gitlens.views.commits.setCommitsFilterOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && gitlens:views:commits:filtered",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.commits.setCommitsFilterAuthors",
"when": "view =~ /^gitlens\\.views\\.commits/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.commits.setShowMergeCommitsOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && !gitlens:views:commits:hideMergeCommits",
"group": "3_gitlens@2"
},
{
"command": "gitlens.views.commits.setShowMergeCommitsOn",
"when": "view =~ /^gitlens\\.views\\.commits/ && gitlens:views:commits:hideMergeCommits",
"group": "3_gitlens@2"
},
{
"command": "gitlens.views.commits.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.commits/ && config.gitlens.views.commits.files.layout == tree",
"group": "3_gitlens@2"
},
{
"command": "gitlens.views.commits.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.commits/ && config.gitlens.views.commits.files.layout == auto",
"group": "3_gitlens@2"
},
{
"command": "gitlens.views.commits.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.commits/ && config.gitlens.views.commits.files.layout == list",
"group": "3_gitlens@2"
},
{
"command": "gitlens.views.commits.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.commits/ && !config.gitlens.views.commits.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.commits.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && config.gitlens.views.commits.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.commits.setShowBranchComparisonOn",
"when": "view =~ /^gitlens\\.views\\.commits/ && !config.gitlens.views.commits.showBranchComparison",
"group": "5_gitlens@1"
},
{
"command": "gitlens.views.commits.setShowBranchComparisonOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && config.gitlens.views.commits.showBranchComparison",
"group": "5_gitlens@1"
},
{
"command": "gitlens.views.commits.setShowBranchPullRequestOn",
"when": "view =~ /^gitlens\\.views\\.commits/ && !config.gitlens.views.commits.pullRequests.enabled && !config.gitlens.views.commits.pullRequests.showForBranches",
"group": "5_gitlens@2"
},
{
"command": "gitlens.views.commits.setShowBranchPullRequestOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && config.gitlens.views.commits.pullRequests.enabled && config.gitlens.views.commits.pullRequests.showForBranches",
"group": "5_gitlens@2"
},
{
"command": "gitlens.showGraph",
"when": "view =~ /^gitlens\\.views\\.commits/ && gitlens:plus:enabled",
"group": "8_gitlens_toggles@0"
},
{
"command": "gitlens.showRepositoriesView",
"when": "!gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.commits/",
"group": "8_gitlens_toggles@1"
},
{
"command": "gitlens.views.addAuthors",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.contributors/",
"group": "navigation@10"
},
{
"command": "gitlens.views.contributors.refresh",
"when": "view =~ /^gitlens\\.views\\.contributors/",
"group": "navigation@99"
},
{
"command": "gitlens.views.contributors.setShowAllBranchesOn",
"when": "view =~ /^gitlens\\.views\\.contributors/ && !config.gitlens.views.contributors.showAllBranches",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.contributors.setShowAllBranchesOff",
"when": "view =~ /^gitlens\\.views\\.contributors/ && config.gitlens.views.contributors.showAllBranches",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.contributors/ && config.gitlens.views.contributors.files.layout == tree",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.contributors/ && config.gitlens.views.contributors.files.layout == auto",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.contributors/ && config.gitlens.views.contributors.files.layout == list",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.contributors.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.contributors/ && !config.gitlens.views.contributors.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.contributors.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.contributors/ && config.gitlens.views.contributors.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.contributors.setShowStatisticsOn",
"when": "view =~ /^gitlens\\.views\\.contributors/ && !config.gitlens.views.contributors.showStatistics",
"group": "5_gitlens@1"
},
{
"command": "gitlens.views.contributors.setShowStatisticsOff",
"when": "view =~ /^gitlens\\.views\\.contributors/ && config.gitlens.views.contributors.showStatistics",
"group": "5_gitlens@1"
},
{
"command": "gitlens.views.drafts.refresh",
"when": "view =~ /^gitlens\\.views\\.drafts/",
"group": "navigation@99"
},
{
"command": "gitlens.views.drafts.create",
"when": "view =~ /^gitlens\\.views\\.drafts/ && gitlens:plus",
"group": "navigation@1"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && gitlens:views:fileHistory:canPin && !gitlens:views:fileHistory:editorFollowing",
"group": "navigation@10"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && gitlens:views:fileHistory:canPin && gitlens:views:fileHistory:editorFollowing",
"group": "navigation@10"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOn",
"when": "!gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing",
"group": "navigation@11"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOff",
"when": "!gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.fileHistory/ && gitlens:views:fileHistory:cursorFollowing",
"group": "navigation@11"
},
{
"command": "gitlens.views.fileHistory.refresh",
"when": "view =~ /^gitlens\\.views\\.fileHistory/",
"group": "navigation@99"
},
{
"command": "gitlens.views.fileHistory.changeBase",
"when": "view =~ /^gitlens\\.views\\.fileHistory/",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing && !config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing && config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.fileHistory.setShowMergeCommitsOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing && !config.gitlens.advanced.fileHistoryShowMergeCommits",
"group": "3_gitlens@2"
},
{
"command": "gitlens.views.fileHistory.setShowMergeCommitsOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing && config.gitlens.advanced.fileHistoryShowMergeCommits",
"group": "3_gitlens@2"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing && !config.gitlens.advanced.fileHistoryShowAllBranches",
"group": "3_gitlens@3"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing && config.gitlens.advanced.fileHistoryShowAllBranches",
"group": "3_gitlens@3"
},
{
"command": "gitlens.views.fileHistory.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !config.gitlens.views.fileHistory.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.fileHistory.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && config.gitlens.views.fileHistory.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.graph.openInTab",
"when": "view =~ /^gitlens\\.views\\.graph\\b/",
"group": "navigation@-100"
},
{
"command": "gitlens.views.graph.refresh",
"when": "view =~ /^gitlens\\.views\\.graph\\b/",
"group": "navigation@-99"
},
{
"command": "gitlens.views.graphDetails.refresh",
"when": "view =~ /^gitlens\\.views\\.graphDetails/",
"group": "navigation@99"
},
{
"command": "gitlens.views.home.refresh",
"when": "view =~ /^gitlens\\.views\\.home/",
"group": "navigation@99"
},
{
"command": "gitlens.views.account.refresh",
"when": "view =~ /^gitlens\\.views\\.account/",
"group": "navigation@99"
},
{
"command": "gitlens.showLineHistoryView",
"when": "!gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.fileHistory/",
"group": "8_gitlens_toggles@0"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOn",
"when": "view =~ /^gitlens\\.views\\.lineHistory/ && !gitlens:views:lineHistory:editorFollowing",
"group": "navigation@10"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOff",
"when": "view =~ /^gitlens\\.views\\.lineHistory/ && gitlens:views:lineHistory:editorFollowing",
"group": "navigation@10"
},
{
"command": "gitlens.views.lineHistory.refresh",
"when": "view =~ /^gitlens\\.views\\.lineHistory/",
"group": "navigation@99"
},
{
"command": "gitlens.views.lineHistory.changeBase",
"when": "view =~ /^gitlens\\.views\\.lineHistory/",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.lineHistory/ && !config.gitlens.views.lineHistory.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.lineHistory/ && config.gitlens.views.lineHistory.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.addRemote",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /gitlens\\.views\\.remotes/",
"group": "navigation@1"
},
{
"command": "gitlens.views.remotes.setLayoutToList",
"when": "view =~ /gitlens\\.views\\.remotes/ && config.gitlens.views.remotes.branches.layout == tree",
"group": "navigation@50"
},
{
"command": "gitlens.views.remotes.setLayoutToTree",
"when": "view =~ /gitlens\\.views\\.remotes/ && config.gitlens.views.remotes.branches.layout == list",
"group": "navigation@50"
},
{
"command": "gitlens.views.remotes.refresh",
"when": "view =~ /^gitlens\\.views\\.remotes/",
"group": "navigation@99"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.remotes/ && config.gitlens.views.remotes.files.layout == tree",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.remotes/ && config.gitlens.views.remotes.files.layout == auto",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.remotes/ && config.gitlens.views.remotes.files.layout == list",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.remotes.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.remotes/ && !config.gitlens.views.remotes.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.remotes.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.remotes/ && config.gitlens.views.remotes.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.remotes.setShowBranchPullRequestOn",
"when": "view =~ /^gitlens\\.views\\.remotes/ && !config.gitlens.views.remotes.pullRequests.enabled && !config.gitlens.views.remotes.pullRequests.showForBranches",
"group": "5_gitlens@2"
},
{
"command": "gitlens.views.remotes.setShowBranchPullRequestOff",
"when": "view =~ /^gitlens\\.views\\.remotes/ && config.gitlens.views.remotes.pullRequests.enabled && config.gitlens.views.remotes.pullRequests.showForBranches",
"group": "5_gitlens@2"
},
{
"command": "gitlens.pushRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.repositories/",
"group": "navigation@1"
},
{
"command": "gitlens.pullRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.repositories/",
"group": "navigation@2"
},
{
"command": "gitlens.fetchRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.repositories/",
"group": "navigation@3"
},
{
"command": "gitlens.views.repositories.refresh",
"when": "view =~ /^gitlens\\.views\\.repositories/",
"group": "navigation@99"
},
{
"command": "gitlens.views.repositories.setAutoRefreshToOn",
"when": "view =~ /^gitlens\\.views\\.repositories/ && config.gitlens.views.repositories.autoRefresh && !gitlens:views:repositories:autoRefresh",
"group": "2_gitlens@0"
},
{
"command": "gitlens.views.repositories.setAutoRefreshToOff",
"when": "view =~ /^gitlens\\.views\\.repositories/ && config.gitlens.views.repositories.autoRefresh && gitlens:views:repositories:autoRefresh",
"group": "2_gitlens@0"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.repositories/ && config.gitlens.views.repositories.files.layout == tree",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.repositories/ && config.gitlens.views.repositories.files.layout == auto",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.repositories/ && config.gitlens.views.repositories.files.layout == list",
"group": "3_gitlens@0"
},
{
"submenu": "gitlens/view/repositories/sections",
"when": "view =~ /^gitlens\\.views\\.repositories/",
"group": "4_gitlens@1"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.repositories/ && !config.gitlens.views.repositories.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.repositories/ && config.gitlens.views.repositories.avatars",
"group": "5_gitlens@0"
},
{
"submenu": "gitlens/view/searchAndCompare/new",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/",
"group": "navigation@10"
},
{
"command": "gitlens.views.searchAndCompare.clear",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/",
"group": "navigation@98"
},
{
"command": "gitlens.views.searchAndCompare.refresh",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/",
"group": "navigation@99"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/ && config.gitlens.views.searchAndCompare.files.layout == tree",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/ && config.gitlens.views.searchAndCompare.files.layout == auto",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/ && config.gitlens.views.searchAndCompare.files.layout == list",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.searchAndCompare.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/ && !config.gitlens.views.searchAndCompare.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.searchAndCompare.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/ && config.gitlens.views.searchAndCompare.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.stashes/",
"group": "navigation@10"
},
{
"command": "gitlens.views.title.applyStash",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.stashes/",
"group": "navigation@11"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.stashes/ && config.gitlens.views.stashes.files.layout == tree",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.stashes/ && config.gitlens.views.stashes.files.layout == auto",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.stashes/ && config.gitlens.views.stashes.files.layout == list",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.stashes.refresh",
"when": "view =~ /^gitlens\\.views\\.stashes/",
"group": "navigation@99"
},
{
"command": "gitlens.views.title.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view =~ /gitlens\\.views\\.tags\\b/",
"group": "navigation@10"
},
{
"command": "gitlens.views.tags.setLayoutToList",
"when": "view =~ /gitlens\\.views\\.tags/ && config.gitlens.views.tags.branches.layout == tree",
"group": "navigation@50"
},
{
"command": "gitlens.views.tags.setLayoutToTree",
"when": "view =~ /gitlens\\.views\\.tags/ && config.gitlens.views.tags.branches.layout == list",
"group": "navigation@50"
},
{
"command": "gitlens.views.tags.refresh",
"when": "view =~ /^gitlens\\.views\\.tags/",
"group": "navigation@99"
},
{
"command": "gitlens.views.tags.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.tags/ && config.gitlens.views.tags.files.layout == tree",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.tags.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.tags/ && config.gitlens.views.tags.files.layout == auto",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.tags.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.tags/ && config.gitlens.views.tags.files.layout == list",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.tags.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.tags/ && !config.gitlens.views.tags.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.tags.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.tags/ && config.gitlens.views.tags.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.timeline.refresh",
"when": "view =~ /^gitlens\\.views\\.timeline/",
"group": "navigation@99"
},
{
"command": "gitlens.views.workspaces.info",
"when": "view =~ /^gitlens\\.views\\.workspaces/",
"group": "8_info@1"
},
{
"command": "gitlens.views.workspaces.create",
"when": "view =~ /^gitlens\\.views\\.workspaces/ && gitlens:plus",
"group": "navigation@1"
},
{
"command": "gitlens.views.workspaces.refresh",
"when": "view =~ /^gitlens\\.views\\.workspaces/",
"group": "navigation@99"
},
{
"command": "gitlens.views.title.createWorktree",
"when": "view =~ /^gitlens\\.views\\.worktrees/",
"group": "navigation@10"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.worktrees/",
"group": "navigation@10"
},
{
"command": "gitlens.views.worktrees.refresh",
"when": "view =~ /^gitlens\\.views\\.worktrees/",
"group": "navigation@99"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.worktrees/ && config.gitlens.views.worktrees.files.layout == tree",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.worktrees/ && config.gitlens.views.worktrees.files.layout == auto",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.worktrees/ && config.gitlens.views.worktrees.files.layout == list",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.worktrees.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.worktrees/ && !config.gitlens.views.worktrees.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.worktrees.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.worktrees/ && config.gitlens.views.worktrees.avatars",
"group": "5_gitlens@0"
},
{
"command": "gitlens.views.worktrees.setShowBranchComparisonOn",
"when": "view =~ /^gitlens\\.views\\.worktrees/ && !config.gitlens.views.worktrees.showBranchComparison",
"group": "5_gitlens@1"
},
{
"command": "gitlens.views.worktrees.setShowBranchComparisonOff",
"when": "view =~ /^gitlens\\.views\\.worktrees/ && config.gitlens.views.worktrees.showBranchComparison",
"group": "5_gitlens@1"
},
{
"command": "gitlens.views.worktrees.setShowBranchPullRequestOn",
"when": "view =~ /^gitlens\\.views\\.worktrees/ && !config.gitlens.views.worktrees.pullRequests.enabled && !config.gitlens.views.worktrees.pullRequests.showForBranches",
"group": "5_gitlens@2"
},
{
"command": "gitlens.views.worktrees.setShowBranchPullRequestOff",
"when": "view =~ /^gitlens\\.views\\.worktrees/ && config.gitlens.views.worktrees.pullRequests.enabled && config.gitlens.views.worktrees.pullRequests.showForBranches",
"group": "5_gitlens@2"
},
{
"command": "gitlens.views.setShowRelativeDateMarkersOn",
"when": "view =~ /^gitlens\\.views\\.(branches|commits|fileHistory|lineHistory|remotes|repositories|tags|worktrees)/ && !config.gitlens.views.showRelativeDateMarkers",
"group": "5_gitlens@3"
},
{
"command": "gitlens.views.setShowRelativeDateMarkersOff",
"when": "view =~ /^gitlens\\.views\\.(branches|commits|fileHistory|lineHistory|remotes|repositories|tags|worktrees)/ && config.gitlens.views.showRelativeDateMarkers",
"group": "5_gitlens@3"
},
{
"submenu": "gitlens/graph/configuration",
"when": "view =~ /^gitlens\\.views\\.graph\\b/",
"group": "navigation@-98"
},
{
"command": "gitlens.showSettingsPage!branches-view",
"when": "view =~ /^gitlens\\.views\\.branches/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!commits-view",
"when": "view =~ /^gitlens\\.views\\.commits/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!contributors-view",
"when": "view =~ /^gitlens\\.views\\.contributors/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!file-history-view",
"when": "view =~ /^gitlens\\.views\\.fileHistory/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!line-history-view",
"when": "view =~ /^gitlens\\.views\\.lineHistory/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!remotes-view",
"when": "view =~ /^gitlens\\.views\\.remotes/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!repositories-view",
"when": "view =~ /^gitlens\\.views\\.repositories/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!search-compare-view",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!stashes-view",
"when": "view =~ /^gitlens\\.views\\.stashes/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!tags-view",
"when": "view =~ /^gitlens\\.views\\.tags/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!worktrees-view",
"when": "view =~ /^gitlens\\.views\\.worktrees/",
"group": "9_gitlens@1"
}
],
"view/item/context": [
{
"command": "gitlens.plus.loginOrSignUp",
"when": "viewItem == gitlens:message:signin",
"group": "inline@1"
},
{
"command": "gitlens.views.drafts.open",
"when": "viewItem =~ /gitlens:draft\\b/ && gitlens:plus",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.drafts.delete",
"when": "viewItem =~ /gitlens:draft\\b/ && gitlens:plus",
"group": "6_gitlens_actions@1"
},
{
"command": "gitlens.views.workspaces.convert",
"when": "viewItem =~ /gitlens:repositories\\b(?=.*?\\b\\+workspaces\\b)/ && gitlens:plus",
"group": "inline@1"
},
{
"command": "gitlens.views.workspaces.convert",
"when": "viewItem =~ /gitlens:repositories\\b(?=.*?\\b\\+workspaces\\b)/ && gitlens:plus",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.workspaces.addRepos",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+cloud\\b)/",
"group": "inline@1"
},
{
"command": "gitlens.views.workspaces.locateAllRepos",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+cloud\\b)(?!.*?\\b\\+empty\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.workspaces.createLocal",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+(cloud|local)\\b)(?!.*?\\b\\+current\\b)(?!.*?\\b\\+hasPath\\b)(?!.*?\\b\\+empty\\b)/",
"group": "inline@3"
},
{
"command": "gitlens.views.workspaces.openLocalNewWindow",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+(cloud|local)\\b)(?!.*?\\b\\+current\\b)(?=.*?\\b\\+hasPath\\b)/",
"group": "inline@3",
"alt": "gitlens.views.workspaces.openLocal"
},
{
"command": "gitlens.views.workspaces.addRepos",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+cloud\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.workspaces.locateAllRepos",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+cloud\\b)(?!.*?\\b\\+empty\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.workspaces.addReposFromLinked",
"when": "viewItem =~ /gitlens:repositories\\b(?=.*?\\b\\+linked\\b)(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.workspaces.createLocal",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+(cloud|local)\\b)(?!.*?\\b\\+empty\\b)/",
"group": "2_gitlens_quickopen@3"
},
{
"command": "gitlens.views.workspaces.openLocal",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+(cloud|local)\\b)(?!.*?\\b\\+current\\b)(?=.*?\\b\\+hasPath\\b)/",
"group": "2_gitlens_quickopen@4"
},
{
"command": "gitlens.views.workspaces.openLocalNewWindow",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+(cloud|local)\\b)(?!.*?\\b\\+current\\b)(?=.*?\\b\\+hasPath\\b)/",
"group": "2_gitlens_quickopen@5"
},
{
"command": "gitlens.views.workspaces.changeAutoAddSetting",
"when": "viewItem =~ /(gitlens:workspace\\b(?=.*?\\b\\+(cloud|local)\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+hasPath\\b)|gitlens:repositories\\b(?=.*?\\b\\+linked\\b))/",
"group": "2_gitlens_quickopen@6"
},
{
"command": "gitlens.views.workspaces.delete",
"when": "viewItem =~ /gitlens:workspace\\b(?=.*?\\b\\+cloud\\b)/",
"group": "6_gitlens_actions@1"
},
{
"command": "gitlens.views.switchToAnotherBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branches\\b(?!.*?\\b\\+closed\\b)/",
"group": "inline@10"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branches\\b(?!.*?\\b\\+closed\\b)/",
"group": "inline@11"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToList",
"when": "viewItem =~ /gitlens:branches\\b/ && config.gitlens.views.repositories.branches.layout == tree",
"group": "inline@50"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToTree",
"when": "viewItem =~ /gitlens:branches\\b/ && config.gitlens.views.repositories.branches.layout == list",
"group": "inline@50"
},
{
"command": "gitlens.openBranchesOnRemote",
"when": "viewItem =~ /gitlens:branches\\b(?=.*?\\b\\+remotes\\b)/",
"group": "inline@98",
"alt": "gitlens.copyRemoteBranchesUrl"
},
{
"command": "gitlens.views.switchToAnotherBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branches\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branches\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.openBranchesOnRemote",
"when": "viewItem =~ /gitlens:branches\\b(?=.*?\\b\\+remotes\\b)/",
"group": "2_gitlens_quickopen@1",
"alt": "gitlens.copyRemoteBranchesUrl"
},
{
"command": "gitlens.views.repositories.setBranchesShowBranchComparisonOn",
"when": "view =~ /^gitlens\\.views\\.repositories/ && viewItem =~ /gitlens:branches\\b/ && !config.gitlens.views.repositories.branches.showBranchComparison",
"group": "8_gitlens_toggles@1"
},
{
"command": "gitlens.views.repositories.setBranchesShowBranchComparisonOff",
"when": "view =~ /^gitlens\\.views\\.repositories/ && viewItem =~ /gitlens:branches\\b/ && config.gitlens.views.repositories.branches.showBranchComparison",
"group": "8_gitlens_toggles@1"
},
{
"command": "gitlens.views.switchToBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)(?!.*?\\b\\+closed\\b)/",
"group": "inline@7"
},
{
"command": "gitlens.views.switchToAnotherBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)(?!.*?\\b\\+closed\\b)/",
"group": "inline@7"
},
{
"command": "gitlens.views.publishBranch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+remote\\b)(?!.*?\\b\\+tracking\\b)(?!.*?\\b\\+closed\\b)/",
"group": "inline@8"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+ahead\\b)(?!.*?\\b\\+behind\\b)(?!.*?\\b\\+closed\\b)/",
"group": "inline@8"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+behind\\b)(?!.*?\\b\\+closed\\b)/",
"group": "inline@8"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(remote|tracking)\\b)(?!.*?\\b\\+ahead\\b)(?!.*?\\b\\+behind\\b)(?!.*?\\b\\+closed\\b)/",
"group": "inline@8"
},
{
"command": "gitlens.views.createPullRequest",
"when": "gitlens:hasRemotes && gitlens:action:createPullRequest && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(tracking|remote)\\b)(?!.*?\\b\\+closed\\b)/",
"group": "inline@9"
},
{
"command": "gitlens.views.undoCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+HEAD\\b)/",
"group": "inline@95"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+unpublished\\b)(?=.*?\\b\\+HEAD\\b)/",
"group": "inline@96",
"alt": "gitlens.views.pushWithForce"
},
{
"command": "gitlens.views.pushToCommit",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+unpublished\\b)(?!.*?\\b\\+HEAD\\b)/",
"group": "inline@96"
},
{
"command": "gitlens.views.compareWithHead",
"when": "viewItem =~ /gitlens:(branch\\b(?!.*?\\b\\+current\\b)|commit\\b|stash\\b|tag\\b)/",
"group": "inline@97",
"alt": "gitlens.views.compareWithWorking"
},
{
"command": "gitlens.views.compareWithWorking",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)/",
"group": "inline@97"
},
{
"command": "gitlens.views.star",
"when": "viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+starred\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.views.unstar",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+starred\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.openBranchOnRemote",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(tracking|remote)\\b)/",
"group": "inline@99",
"alt": "gitlens.copyRemoteBranchUrl"
},
{
"command": "gitlens.views.switchToAnotherBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.switchToBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.publishBranch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+remote\\b)(?!.*?\\b\\+tracking\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+ahead\\b)(?!.*?\\b\\+behind\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+behind\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(remote|tracking)\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.mergeBranchInto",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.rebaseOntoBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.views.rebaseOntoUpstream",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+tracking\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.views.renameBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@6"
},
{
"command": "gitlens.views.deleteBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@7"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions_@7"
},
{
"command": "gitlens.views.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions_@8"
},
{
"command": "gitlens.views.createWorktree",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions_@9"
},
{
"command": "gitlens.views.createPullRequest",
"when": "gitlens:hasRemotes && gitlens:action:createPullRequest && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(tracking|remote)\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions_@10"
},
{
"command": "gitlens.openBranchOnRemote",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(tracking|remote)\\b)/",
"group": "2_gitlens_quickopen@1",
"alt": "gitlens.copyRemoteBranchUrl"
},
{
"command": "gitlens.views.openDirectoryDiffWithWorking",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:(branch|tag)\\b/",
"group": "3_gitlens_explore@11"
},
{
"command": "gitlens.views.compareWithUpstream",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+tracking\\b)/",
"group": "4_gitlens_compare@1"
},
{
"command": "gitlens.views.compareWithHead",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:(branch\\b(?!.*?\\b\\+current\\b)|commit\\b|stash\\b|tag\\b)/",
"group": "4_gitlens_compare@2"
},
{
"command": "gitlens.views.compareWithWorking",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/",
"group": "4_gitlens_compare@3"
},
{
"command": "gitlens.views.compareAncestryWithWorking",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "4_gitlens_compare@4"
},
{
"command": "gitlens.views.compareWithSelected",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/ && gitlens:views:canCompare",
"group": "4_gitlens_compare@98"
},
{
"command": "gitlens.views.selectForCompare",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/",
"group": "4_gitlens_compare@99"
},
{
"command": "gitlens.views.compareFileWithSelected",
"when": "viewItem =~ /gitlens:file\\b/ && gitlens:views:canCompare:file",
"group": "4_gitlens_compare@98"
},
{
"command": "gitlens.views.selectFileForCompare",
"when": "viewItem =~ /gitlens:file\\b(?!.*?\\b\\+conflicted\\b)/",
"group": "4_gitlens_compare@99"
},
{
"command": "gitlens.views.star",
"when": "viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+starred\\b)/",
"group": "8_gitlens_actions@1"
},
{
"command": "gitlens.views.unstar",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+starred\\b)/",
"group": "8_gitlens_actions@1"
},
{
"command": "gitlens.views.addAuthors",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:contributors\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.addAuthors",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:contributors\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.inviteToLiveShare",
"when": "gitlens:vsls && gitlens:vsls != guest && viewItem =~ /gitlens:contributor\\b(?!.*?\\b\\+current\\b)/",
"group": "inline@1"
},
{
"command": "gitlens.views.addAuthor",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:contributor\\b(?!.*?\\b\\+current\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.copy",
"when": "viewItem =~ /gitlens:contributor\\b/",
"group": "inline@98"
},
{
"command": "gitlens.inviteToLiveShare",
"when": "gitlens:vsls && gitlens:vsls != guest && viewItem =~ /gitlens:contributor\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.addAuthor",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:contributor\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "inline@98",
"alt": "gitlens.copyMessageToClipboard"
},
{
"command": "gitlens.openCommitOnRemote",
"when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes",
"group": "inline@99",
"alt": "gitlens.copyRemoteCommitUrl"
},
{
"command": "gitlens.views.cherryPick",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?!.*?\\b\\+(current|rebase)\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.undoCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+HEAD\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+unpublished\\b)(?=.*?\\b\\+HEAD\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.pushToCommit",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+unpublished\\b)(?!.*?\\b\\+HEAD\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.revert",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.resetToCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?!.*?\\b\\+rebase\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.resetToTip",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+rebase\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.resetCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?!.*?\\b\\+rebase\\b)/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.views.rebaseOntoCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?!.*?\\b\\+rebase\\b)/",
"group": "1_gitlens_actions@6"
},
{
"command": "gitlens.views.switchToCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?!.*?\\b\\+rebase\\b)/",
"group": "1_gitlens_actions@7"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions_1@1"
},
{
"command": "gitlens.createPatch",
"when": "false && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "1_gitlens_actions_1@2"
},
{
"command": "gitlens.createCloudPatch",
"when": "!gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.cloudPatches.enabled && viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "1_gitlens_actions_1@3"
},
{
"command": "gitlens.views.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions_1@4"
},
{
"submenu": "gitlens/commit/changes",
"when": "viewItem =~ /gitlens:(commit|stash|results:files)\\b/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.showInDetailsView",
"when": "viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "3_gitlens_explore@0"
},
{
"command": "gitlens.showInCommitGraph",
"when": "viewItem =~ /gitlens:(branch|commit|stash|tag)\\b(?!.*?\\b\\+closed\\b)/",
"group": "3_gitlens_explore@1"
},
{
"command": "gitlens.revealCommitInView",
"when": "view =~ /gitlens\\.views\\.(?!commits|branches\\b)/ && viewItem =~ /gitlens:commit\\b/",
"group": "3_gitlens_explore@2"
},
{
"command": "gitlens.openCommitOnRemote",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:commit\\b/",
"group": "3_gitlens_explore@2",
"alt": "gitlens.copyRemoteCommitUrl"
},
{
"submenu": "gitlens/share",
"when": "viewItem =~ /gitlens:(branch|commit|compare:(branch(?=.*?\\b\\+comparing\\b)|results(?!:))|remote|repo-folder|repository|stash|status:upstream|tag|workspace|file\\b(?=.*?\\b\\+committed\\b))\\b/",
"group": "7_gitlens_a_share@1"
},
{
"command": "gitlens.copyRelativePathToClipboard",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "7_gitlens_cutcopypaste@2"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "(viewItem =~ /gitlens:(commit|stash)\\b/) || (viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/ && view =~ /gitlens\\.views\\.(file|line)History/)",
"group": "7_gitlens_cutcopypaste@3"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "(viewItem =~ /gitlens:(commit|stash)\\b/) || (viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/ && view =~ /gitlens\\.views\\.(file|line)History/)",
"group": "7_gitlens_cutcopypaste@4"
},
{
"submenu": "gitlens/commit/copy",
"when": "viewItem =~ /gitlens:(branch|commit|remote|repo-folder|repository|stash|tag|file\\b(?=.*?\\b\\+committed\\b))\\b/",
"group": "7_gitlens_cutcopypaste@10"
},
{
"command": "gitlens.views.openFile",
"when": "viewItem =~ /gitlens:(history:(file|line)|status:file)\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.undoCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)(?=.*?\\b\\+HEAD\\b)/",
"group": "inline@-2"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+unpublished\\b)(?=.*?\\b\\+HEAD\\b)/",
"group": "inline@-1"
},
{
"command": "gitlens.views.pushToCommit",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+unpublished\\b)(?!.*?\\b\\+HEAD\\b)/",
"group": "inline@-1"
},
{
"command": "gitlens.views.openFile",
"when": "view =~ /gitlens\\.views\\.(?!(fileHistory|lineHistory)\\b)/ && viewItem =~ /gitlens:file(:results|\\b(?=.*?\\b\\+(committed|stashed)\\b))/",
"group": "inline@1",
"alt": "gitlens.views.openFileRevision"
},
{
"command": "gitlens.views.openFileRevision",
"when": "view =~ /gitlens\\.views\\.(fileHistory|lineHistory)\\b/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+(committed|stashed)\\b)/",
"group": "inline@1",
"alt": "gitlens.views.openFile"
},
{
"command": "gitlens.views.openChanges",
"when": "view =~ /gitlens\\.views\\.(?!fileHistory|lineHistory)\\b/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+conflicted\\b)/",
"group": "inline@96"
},
{
"command": "gitlens.views.openFile",
"when": "view =~ /gitlens\\.views\\.(fileHistory|lineHistory)\\b/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+conflicted\\b)/",
"group": "inline@96"
},
{
"command": "gitlens.views.openChangesWithWorking",
"when": "viewItem =~ /gitlens:file\\b(?!.*?\\b\\+(conflicted|unstaged)\\b)/",
"group": "inline@96"
},
{
"command": "gitlens.views.stageFile",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+unstaged\\b)/",
"group": "inline@97"
},
{
"command": "gitlens.views.unstageFile",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+staged\\b)/",
"group": "inline@97"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "view =~ /gitlens\\.views\\.(fileHistory|lineHistory)\\b/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "inline@98",
"alt": "gitlens.copyMessageToClipboard"
},
{
"command": "gitlens.openFileOnRemote",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results)/ && gitlens:hasRemotes",
"group": "inline@99",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"command": "gitlens.views.stageFile",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+unstaged\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.unstageFile",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+staged\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.stashSaveFiles",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+(un)?staged\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.openChanges",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens_quickopen@1"
},
{
"submenu": "gitlens/commit/file/changes",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens_quickopen@2"
},
{
"command": "gitlens.views.openFile",
"when": "viewItem =~ /gitlens:(file|history:(file|line)|status:file)\\b/",
"group": "2_gitlens_quickopen_file@3"
},
{
"command": "gitlens.views.openFileRevision",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+(committed|stashed)\\b)|:results)/",
"group": "2_gitlens_quickopen_file@4"
},
{
"command": "gitlens.openFileOnRemote",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results)/ && gitlens:hasRemotes",
"group": "2_gitlens_quickopen_file@5",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"submenu": "gitlens/commit/file/commit",
"when": "view =~ /^gitlens\\.views\\.(fileHistory|lineHistory)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "3_gitlens_explore@1"
},
{
"submenu": "gitlens/commit/file/history",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "3_gitlens_explore@2"
},
{
"command": "gitlens.views.compareWithHead",
"when": "!gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.(fileHistory|lineHistory)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "4_gitlens_compare@2"
},
{
"command": "gitlens.views.compareWithWorking",
"when": "!gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.(fileHistory|lineHistory)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "4_gitlens_compare@3"
},
{
"command": "gitlens.views.applyChanges",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+stashed\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.restore",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+stashed\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.applyChanges",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results\\b)/",
"group": "8_gitlens_actions@1"
},
{
"command": "gitlens.views.restore",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results\\b)/",
"group": "8_gitlens_actions@2"
},
{
"command": "gitlens.openFileOnRemote",
"when": "viewItem =~ /gitlens:(history:(file|line)|status:file)\\b/ && gitlens:hasRemotes",
"group": "5_gitlens_open@2",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"command": "gitlens.showSettingsPage!autolinks",
"when": "viewItem =~ /gitlens:autolinked:items\\b/",
"group": "inline@99"
},
{
"command": "gitlens.showSettingsPage!autolinks",
"when": "viewItem =~ /gitlens:autolinked:items\\b/",
"group": "1_gitlens_actions@99"
},
{
"command": "gitlens.openIssueOnRemote",
"when": "viewItem =~ /gitlens:autolinked:issue\\b/",
"group": "inline@99",
"alt": "gitlens.copyRemoteIssueUrl"
},
{
"command": "gitlens.openIssueOnRemote",
"when": "viewItem =~ /gitlens:autolinked:issue\\b/",
"group": "1_gitlens_actions@99",
"alt": "gitlens.copyRemoteIssueUrl"
},
{
"command": "gitlens.copyRemoteIssueUrl",
"when": "viewItem =~ /gitlens:autolinked:issue\\b/",
"group": "7_gitlens_cutcopypaste@1"
},
{
"command": "gitlens.openAutolinkUrl",
"when": "viewItem =~ /gitlens:autolinked:item\\b/",
"group": "inline@99",
"alt": "gitlens.copyAutolinkUrl"
},
{
"command": "gitlens.openAutolinkUrl",
"when": "viewItem =~ /gitlens:autolinked:item\\b/",
"group": "1_gitlens_actions@99",
"alt": "gitlens.copyAutolinkUrl"
},
{
"command": "gitlens.copyAutolinkUrl",
"when": "viewItem =~ /gitlens:autolinked:item\\b/",
"group": "7_gitlens_cutcopypaste@1"
},
{
"command": "gitlens.views.openPullRequest",
"when": "gitlens:action:openPullRequest > 1 && viewItem =~ /gitlens:pullrequest\\b/",
"group": "inline@1"
},
{
"command": "gitlens.openPullRequestOnRemote",
"when": "viewItem =~ /gitlens:pullrequest\\b/",
"group": "inline@99",
"alt": "gitlens.copyRemotePullRequestUrl"
},
{
"command": "gitlens.views.openPullRequest",
"when": "gitlens:action:openPullRequest > 1 && viewItem =~ /gitlens:pullrequest\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.openPullRequestOnRemote",
"when": "viewItem =~ /gitlens:pullrequest\\b/",
"group": "1_gitlens_actions@99",
"alt": "gitlens.copyRemotePullRequestUrl"
},
{
"command": "gitlens.copyRemotePullRequestUrl",
"when": "viewItem =~ /gitlens:pullrequest\\b/",
"group": "7_gitlens_cutcopypaste@1"
},
{
"command": "gitlens.views.addRemote",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:remotes\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToList",
"when": "viewItem =~ /gitlens:remotes\\b/ && config.gitlens.views.repositories.branches.layout == tree",
"group": "inline@50"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToTree",
"when": "viewItem =~ /gitlens:remotes\\b/ && config.gitlens.views.repositories.branches.layout == list",
"group": "inline@50"
},
{
"command": "gitlens.views.addRemote",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:remotes\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.fetch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:remote\\b/",
"group": "inline@97"
},
{
"command": "gitlens.connectRemoteProvider",
"when": "config.gitlens.integrations.enabled && viewItem =~ /gitlens:remote\\b(?=.*?\\b\\+disconnected\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.disconnectRemoteProvider",
"when": "config.gitlens.integrations.enabled && viewItem =~ /gitlens:remote\\b(?=.*?\\b\\+connected\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.openRepoOnRemote",
"when": "viewItem =~ /gitlens:remote\\b/",
"group": "inline@99",
"alt": "gitlens.copyRemoteRepositoryUrl"
},
{
"command": "gitlens.views.fetch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:remote\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pruneRemote",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:remote\\b/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.openRepoOnRemote",
"when": "viewItem =~ /gitlens:remote\\b/",
"group": "5_gitlens_open@1",
"alt": "gitlens.copyRemoteRepositoryUrl"
},
{
"command": "gitlens.openBranchesOnRemote",
"when": "viewItem =~ /gitlens:remote\\b/",
"group": "5_gitlens_open@2",
"alt": "gitlens.copyRemoteBranchesUrl"
},
{
"command": "gitlens.views.removeRemote",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:remote\\b/",
"group": "6_gitlens_terminal@1"
},
{
"command": "gitlens.views.setAsDefault",
"when": "viewItem =~ /gitlens:remote\\b(?!.*?\\b\\+default\\b)/",
"group": "8_gitlens_actions@1"
},
{
"command": "gitlens.views.unsetAsDefault",
"when": "viewItem =~ /gitlens:remote\\b(?=.*?\\b\\+default\\b)/",
"group": "8_gitlens_actions@1"
},
{
"command": "gitlens.connectRemoteProvider",
"when": "config.gitlens.integrations.enabled && viewItem =~ /gitlens:remote\\b(?=.*?\\b\\+disconnected\\b)/",
"group": "8_gitlens_actions@2"
},
{
"command": "gitlens.disconnectRemoteProvider",
"when": "config.gitlens.integrations.enabled && viewItem =~ /gitlens:remote\\b(?=.*?\\b\\+connected\\b)/",
"group": "8_gitlens_actions@2"
},
{
"submenu": "gitlens/commit/browse",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:(branch|commit|file\\b(?=.*?\\b\\+committed\\b)|stash|tag)\\b/",
"group": "3_gitlens_explore@10"
},
{
"command": "gitlens.views.workspaces.repo.locate",
"when": "viewItem =~ /gitlens:workspaceMissingRepository\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.workspaces.repo.locate",
"when": "viewItem =~ /gitlens:workspaceMissingRepository\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.workspaces.repo.remove",
"when": "viewItem =~ /gitlens:workspaceMissingRepository\\b/",
"group": "6_gitlens_actions@1"
},
{
"command": "gitlens.views.workspaces.repo.openInNewWindow",
"when": "viewItem =~ /gitlens:repository\\b(?=.*?\\b\\+workspace\\b)/",
"group": "inline@100",
"alt": "gitlens.views.workspaces.repo.open"
},
{
"command": "gitlens.views.workspaces.repo.open",
"when": "viewItem =~ /gitlens:repository\\b(?=.*?\\b\\+workspace\\b)/",
"group": "0_1gitlens_actions@1"
},
{
"command": "gitlens.views.workspaces.repo.openInNewWindow",
"when": "viewItem =~ /gitlens:repository\\b(?=.*?\\b\\+workspace\\b)/",
"group": "0_1gitlens_actions@2"
},
{
"command": "gitlens.views.workspaces.repo.addToWindow",
"when": "viewItem =~ /gitlens:repository\\b(?=.*?\\b\\+workspace\\b)/",
"group": "0_1gitlens_actions@3"
},
{
"command": "gitlens.views.revealRepositoryInExplorer",
"when": "viewItem =~ /gitlens:repository\\b(?=.*?\\b\\+workspace\\b)/",
"group": "0_2gitlens_actions@1"
},
{
"command": "gitlens.views.workspaces.repo.locate",
"when": "viewItem =~ /gitlens:repository\\b(?=.*?\\b\\+workspace\\b)(?!.*?\\b\\+local\\b)/",
"group": "0_2gitlens_actions@2"
},
{
"command": "gitlens.views.workspaces.repo.remove",
"when": "viewItem =~ /gitlens:repository\\b(?=.*?\\b\\+workspace\\b)(?!.*?\\b\\+local\\b)/",
"group": "0_3gitlens_actions@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+closed\\b)/",
"group": "inline@96",
"alt": "gitlens.views.pushWithForce"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+closed\\b)/",
"group": "inline@97"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+closed\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.views.star",
"when": "viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+(starred|workspace)\\b)/",
"group": "inline@99"
},
{
"command": "gitlens.views.unstar",
"when": "viewItem =~ /gitlens:repository\\b(?=.*?\\b\\+starred\\b)/",
"group": "inline@99"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pushWithForce",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.openInTerminal",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.openRepoOnRemote",
"when": "viewItem =~ /gitlens:repository\\b/ && gitlens:hasRemotes",
"group": "2_gitlens_quickopen@2",
"alt": "gitlens.copyRemoteRepositoryUrl"
},
{
"command": "gitlens.views.revealRepositoryInExplorer",
"when": "viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+workspace\\b)/",
"group": "2_gitlens_quickopen@2"
},
{
"command": "gitlens.showCommitSearch",
"when": "viewItem =~ /gitlens:repository\\b/",
"group": "3_gitlens_explore@1"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+workspace\\b)/",
"group": "1_gitlens_actions_1@1"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+workspace\\b)/",
"group": "1_gitlens_actions_1@2"
},
{
"command": "gitlens.views.star",
"when": "viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+(starred|workspace)\\b)/",
"group": "8_gitlens_actions_@1"
},
{
"command": "gitlens.views.unstar",
"when": "viewItem =~ /gitlens:repository\\b(?=.*?\\b\\+starred\\b)/",
"group": "8_gitlens_actions_@1"
},
{
"command": "gitlens.views.closeRepository",
"when": "viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+closed\\b)/",
"group": "8_gitlens_actions_@2"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b(?=.*?\\b\\+ahead\\b)(?!.*?\\b\\+behind\\b)/",
"group": "inline@96",
"alt": "gitlens.views.pushWithForce"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b(?=.*?\\b\\+behind\\b)/",
"group": "inline@97"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b(?!.*?\\b\\+ahead\\b)(?!.*?\\b\\+behind\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.views.star",
"when": "viewItem =~ /gitlens:repo-folder\\b(?!.*?\\b\\+starred\\b)/",
"group": "inline@99"
},
{
"command": "gitlens.views.unstar",
"when": "viewItem =~ /gitlens:repo-folder\\b(?=.*?\\b\\+starred\\b)/",
"group": "inline@99"
},
{
"command": "gitlens.showGraph",
"when": "viewItem =~ /gitlens:repo-folder\\b/ && gitlens:plus:enabled",
"group": "inline@100"
},
{
"command": "gitlens.views.commits.setCommitsFilterOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && viewItem =~ /gitlens:repo-folder\\b(?=.*?\\b\\+filtered\\b)/ && gitlens:views:commits:filtered",
"group": "inline@101"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pushWithForce",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.openInTerminal",
"when": "!gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.openRepoOnRemote",
"when": "viewItem =~ /gitlens:repo-folder\\b/ && gitlens:hasRemotes",
"group": "2_gitlens_quickopen@2",
"alt": "gitlens.copyRemoteRepositoryUrl"
},
{
"command": "gitlens.showGraph",
"when": "viewItem =~ /gitlens:repo-folder\\b/ && gitlens:plus:enabled",
"group": "3_gitlens_explore@1"
},
{
"command": "gitlens.showCommitSearch",
"when": "viewItem =~ /gitlens:repo-folder\\b/",
"group": "3_gitlens_explore@2"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b/",
"group": "1_gitlens_actions_1@1"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repo-folder\\b/",
"group": "1_gitlens_actions_1@2"
},
{
"command": "gitlens.views.star",
"when": "viewItem =~ /gitlens:repo-folder\\b(?!.*?\\b\\+starred\\b)/",
"group": "8_gitlens_actions_@1"
},
{
"command": "gitlens.views.unstar",
"when": "viewItem =~ /gitlens:repo-folder\\b(?=.*?\\b\\+starred\\b)/",
"group": "8_gitlens_actions_@1"
},
{
"command": "gitlens.views.closeRepository",
"when": "viewItem =~ /gitlens:repo-folder\\b/",
"group": "8_gitlens_actions_@2"
},
{
"command": "gitlens.views.commits.setCommitsFilterOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && viewItem =~ /gitlens:repo-folder\\b(?=.*?\\b\\+filtered\\b)/ && gitlens:views:commits:filtered",
"group": "8_gitlens_filter_@1"
},
{
"command": "gitlens.views.commits.setCommitsFilterAuthors",
"when": "view =~ /^gitlens\\.views\\.commits/ && viewItem =~ /gitlens:repo-folder\\b/",
"group": "8_gitlens_filter_@2"
},
{
"command": "gitlens.views.publishRepository",
"when": "!gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status(\\-branch)?:upstream:(missing|none)/",
"group": "inline@1"
},
{
"command": "gitlens.views.addRemote",
"when": "!gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status(\\-branch)?:upstream:none/",
"group": "inline@2"
},
{
"command": "gitlens.views.publishBranch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status(\\-branch)?:upstream:(missing|none)/",
"group": "inline@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status(\\-branch)?:upstream:ahead/",
"group": "inline@1",
"alt": "gitlens.views.pushWithForce"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status(\\-branch)?:upstream:behind/",
"group": "inline@1"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status(\\-branch)?:upstream:(?!(missing|none))/",
"group": "inline@2"
},
{
"command": "gitlens.views.createPullRequest",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:action:createPullRequest && viewItem =~ /gitlens:status:upstream:(?!(missing|none))/",
"group": "inline@3"
},
{
"command": "gitlens.openBranchOnRemote",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status:upstream:(?!(missing|none))/",
"group": "inline@99",
"alt": "gitlens.copyRemoteBranchUrl"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:status:upstream:ahead",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pushWithForce",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:status:upstream:ahead",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:status:upstream:behind",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status:upstream:(?!(missing|none))/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status:upstream/",
"group": "1_gitlens_secondary_actions@1"
},
{
"command": "gitlens.views.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status:upstream/",
"group": "1_gitlens_secondary_actions@2"
},
{
"command": "gitlens.views.createPullRequest",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:action:createPullRequest && viewItem =~ /gitlens:status:upstream:(?!(missing|none))/",
"group": "1_gitlens_secondary_actions@3"
},
{
"command": "gitlens.openBranchOnRemote",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status:upstream:(?!(missing|none))/",
"group": "2_gitlens_quickopen@1",
"alt": "gitlens.copyRemoteBranchUrl"
},
{
"command": "gitlens.views.dismissNode",
"when": "viewItem =~ /gitlens:(compare:picker|(compare|search):results(?!:)\\b)\\b(?!:(commits|files))/",
"group": "inline@99"
},
{
"command": "gitlens.views.clearComparison",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)/",
"group": "inline@99"
},
{
"command": "gitlens.views.editNode",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)/",
"group": "inline@96"
},
{
"command": "gitlens.views.setBranchComparisonToWorking",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+root\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+branch\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.setBranchComparisonToBranch",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+root\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+working\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.setBranchComparisonToWorking",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+root\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+branch\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.setBranchComparisonToBranch",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+root\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+working\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.editNode",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.clearReviewed",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)/",
"group": "1_gitlens@3"
},
{
"command": "gitlens.views.clearComparison",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)/",
"group": "1_gitlens@4"
},
{
"command": "gitlens.views.branches.setShowBranchComparisonOff",
"when": "view =~ /gitlens\\.views\\.branches\\b/ && viewItem =~ /gitlens:compare:branch\\b/",
"group": "8_gitlens_toggles@1"
},
{
"command": "gitlens.views.commits.setShowBranchComparisonOff",
"when": "view =~ /gitlens\\.views\\.commits\\b/ && viewItem =~ /gitlens:compare:branch\\b/",
"group": "8_gitlens_toggles@1"
},
{
"command": "gitlens.views.repositories.setBranchesShowBranchComparisonOff",
"when": "view =~ /gitlens\\.views\\.repositories\\b/ && viewItem =~ /gitlens:compare:branch(?!.*?\\b\\+root\\b)\\b/",
"group": "8_gitlens_toggles@1"
},
{
"command": "gitlens.views.repositories.setShowSectionOff",
"when": "view =~ /gitlens\\.views\\.repositories\\b/ && viewItem =~ /gitlens:(compare:branch(?=.*?\\b\\+root\\b)|branches|branch(?=.*?\\b\\+commits\\b)|reflog|remotes|stashes|status:upstream|tags)\\b/",
"group": "8_gitlens_toggles@99"
},
{
"command": "gitlens.views.searchAndCompare.swapComparison",
"when": "viewItem =~ /gitlens:compare:results(?!:)\\b/",
"group": "inline@1"
},
{
"submenu": "gitlens/comparison/results/files/filter/inline",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filterable\\b)(?!.*?\\b\\+filtered\\b)/",
"group": "inline@1"
},
{
"submenu": "gitlens/comparison/results/files/filtered/inline",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filterable\\b)(?=.*?\\b\\+filtered\\b)/",
"group": "inline@1"
},
{
"command": "gitlens.views.clearReviewed",
"when": "viewItem =~ /gitlens:results:files\\b/",
"group": "1_gitlens@1"
},
{
"submenu": "gitlens/comparison/results/files/filter",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filterable\\b)(?!.*?\\b\\+filtered\\b)/",
"group": "1_gitlens@2"
},
{
"submenu": "gitlens/comparison/results/files/filtered",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filterable\\b)(?=.*?\\b\\+filtered\\b)/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.refreshNode",
"when": "viewItem =~ /gitlens:compare:(branch(?=.*?\\b\\+comparing\\b)|results(?!:))\\b/",
"group": "inline@97"
},
{
"command": "gitlens.views.refreshNode",
"when": "viewItem =~ /gitlens:search:results(?!:)\\b/",
"group": "inline@97"
},
{
"command": "gitlens.views.setResultsCommitsFilterOff",
"when": "viewItem =~ /gitlens:compare:(results(?!:)|branch)\\b(?=.*?\\b\\+filtered\\b)/",
"group": "inline@96"
},
{
"command": "gitlens.views.searchAndCompare.swapComparison",
"when": "viewItem =~ /gitlens:compare:results(?!:)\\b(?!.*?\\b\\+working\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.clearReviewed",
"when": "viewItem =~ /gitlens:compare:results(?!:)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.createPatch",
"when": "false && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:compare:results(?!:)\\b/",
"group": "1_gitlens_secondary_actions@1"
},
{
"command": "gitlens.createCloudPatch",
"when": "!gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.cloudPatches.enabled && viewItem =~ /gitlens:compare:results(?!:)\\b/",
"group": "1_gitlens_secondary_actions@2"
},
{
"command": "gitlens.openComparisonOnRemote",
"when": "viewItem =~ /gitlens:compare:results(?!:)\\b/",
"group": "2_gitlens_quickopen@1 && gitlens:hasRemotes",
"alt": "gitlens.copyRemoteComparisonUrl"
},
{
"command": "gitlens.views.openDirectoryDiff",
"when": "viewItem =~ /gitlens:compare:results(?!:)\\b/",
"group": "2_gitlens_quickopen@2"
},
{
"command": "gitlens.views.setResultsCommitsFilterOff",
"when": "viewItem =~ /gitlens:compare:(results(?!:)|branch)\\b(?=.*?\\b\\+filtered\\b)/",
"group": "7_gitlens_filter@1"
},
{
"command": "gitlens.views.setResultsCommitsFilterAuthors",
"when": "viewItem =~ /gitlens:compare:(results(?!:)|branch)\\b/",
"group": "7_gitlens_filter@2"
},
{
"command": "gitlens.views.editNode",
"when": "viewItem =~ /gitlens:search:results(?!:)\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.editNode",
"when": "viewItem =~ /gitlens:search:results(?!:)\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.openComparisonOnRemote",
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && gitlens:hasRemotes",
"group": "inline@99",
"alt": "gitlens.copyRemoteComparisonUrl"
},
{
"command": "gitlens.openComparisonOnRemote",
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && gitlens:hasRemotes",
"group": "3_gitlens_explore@0",
"alt": "gitlens.copyRemoteComparisonUrl"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /^gitlens:(stashes|status:files)$/",
"group": "inline@98"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:stashes",
"group": "inline@99"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /^gitlens:(stashes|status:files)$/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:stashes",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:stash",
"group": "inline@1"
},
{
"command": "gitlens.views.stash.rename",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:stash",
"group": "inline@98"
},
{
"command": "gitlens.views.stash.delete",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:stash",
"group": "inline@99"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:stash",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.stash.rename",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:stash",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.stash.delete",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:stash",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:tags\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:tags\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.switchToTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:tag\\b/",
"group": "inline@10"
},
{
"command": "gitlens.views.switchToTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:tag\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.deleteTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:tag",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:tag\\b/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.createWorktree",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:worktrees\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.createWorktree",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:worktrees\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.openWorktree",
"when": "viewItem =~ /gitlens:worktree\\b(?!.*?\\b\\+active\\b)/",
"group": "inline@1",
"alt": "gitlens.views.openWorktreeInNewWindow"
},
{
"command": "gitlens.views.openWorktree",
"when": "viewItem =~ /gitlens:worktree\\b(?=.*?\\b\\+active\\b)/ && workspaceFolderCount != 1",
"group": "inline@1",
"alt": "gitlens.views.openWorktreeInNewWindow"
},
{
"command": "gitlens.views.openWorktree",
"when": "viewItem =~ /gitlens:worktree\\b(?!.*?\\b\\+active\\b)/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.views.openWorktree",
"when": "viewItem =~ /gitlens:worktree\\b(?=.*?\\b\\+active\\b)/ && workspaceFolderCount != 1",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.views.openWorktreeInNewWindow",
"when": "viewItem =~ /gitlens:worktree\\b(?!.*?\\b\\+active\\b)/",
"group": "2_gitlens_quickopen@2"
},
{
"command": "gitlens.views.openWorktreeInNewWindow",
"when": "viewItem =~ /gitlens:worktree\\b(?=.*?\\b\\+active\\b)/ && workspaceFolderCount != 1",
"group": "2_gitlens_quickopen@2"
},
{
"command": "gitlens.views.revealWorktreeInExplorer",
"when": "viewItem =~ /gitlens:worktree\\b/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.deleteWorktree",
"when": "!gitlens:readonly && viewItem =~ /gitlens:worktree\\b(?!.*?\\b\\+(active|main)\\b)/",
"group": "6_gitlens_actions@1"
},
{
"command": "gitlens.views.stageDirectory",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:folder\\b(?=.*?\\b\\+working\\b)/",
"group": "inline@1"
},
{
"command": "gitlens.views.unstageDirectory",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:folder\\b(?=.*?\\b\\+working\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.stageDirectory",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:folder\\b(?=.*?\\b\\+working\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.unstageDirectory",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:folder\\b(?=.*?\\b\\+working\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.copy",
"when": "viewItem =~ /gitlens:(?=(autolinked:issue|branch|commit|contributor|folder|history:line|pullrequest|remote|repository|repo-folder|stash|tag|workspace|worktree)\\b)/",
"group": "7_gitlens_cutcopypaste@1"
},
{
"command": "gitlens.views.copy",
"when": "viewItem =~ /gitlens:file(?!.*?\\b\\+(staged|unstaged))\\b/",
"group": "7_gitlens_cutcopypaste@1"
},
{
"command": "gitlens.views.dismissNode",
"when": "viewItem =~ /gitlens:(compare:picker:ref|(compare|search):results(?!:)\\b)\\b(?!:(commits|files))/",
"group": "1_gitlens_actions@98"
},
{
"command": "gitlens.views.collapseNode",
"when": "viewItem =~ /gitlens:(branch|compare|folder|results|search|status)\\b/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.views.expandNode",
"when": "viewItem =~ /gitlens:(branch|compare|folder|results|search|status)\\b/",
"group": "9_gitlens@2"
},
{
"command": "gitlens.views.refreshNode",
"when": "viewItem =~ /gitlens:(?!(file|message|date-marker)\\b)/",
"group": "9_gitlens_z@99"
},
{
"command": "gitlens.views.loadAllChildren",
"when": "viewItem =~ /gitlens:pager\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.loadAllChildren",
"when": "viewItem =~ /gitlens:pager\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.setShowRelativeDateMarkersOff",
"when": "viewItem == gitlens:date-marker && config.gitlens.views.showRelativeDateMarkers",
"group": "1_gitlens@0"
},
{
"command": "gitlens.ghpr.views.openOrCreateWorktree",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && view == pr:github && viewItem =~ /pullrequest(:local)?:nonactive|description/ && config.gitlens.menus.ghpr.worktree",
"group": "2_gitlens@1"
}
],
"webview/context": [
{
"command": "gitlens.graph.switchToAnotherBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.graph.switchToBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.graph.publishBranch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+remote\\b)(?!.*?\\b\\+tracking\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.graph.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+ahead\\b)(?!.*?\\b\\+behind\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.graph.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+behind\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.graph.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(remote|tracking)\\b)(?!.*?\\b\\+closed\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.graph.mergeBranchInto",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.graph.rebaseOntoBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.graph.rebaseOntoUpstream",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+tracking\\b)/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.graph.renameBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions@6"
},
{
"command": "gitlens.graph.deleteBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@7"
},
{
"command": "gitlens.graph.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions_@7"
},
{
"command": "gitlens.graph.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions_@8"
},
{
"command": "gitlens.graph.createWorktree",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions_@9"
},
{
"command": "gitlens.graph.createPullRequest",
"when": "gitlens:hasRemotes && gitlens:action:createPullRequest && webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(tracking|remote)\\b)/",
"group": "1_gitlens_actions_@10"
},
{
"command": "gitlens.graph.hideLocalBranch",
"when": "webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+(current|remote)\\b)/",
"group": "8_gitlens_actions@11"
},
{
"command": "gitlens.graph.hideRemote",
"when": "webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+remote\\b)(?!.*?\\b\\+current\\b)/",
"group": "8_gitlens_actions@10"
},
{
"command": "gitlens.graph.hideRemoteBranch",
"when": "webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+remote\\b)(?!.*?\\b\\+current\\b)/",
"group": "8_gitlens_actions@11"
},
{
"command": "gitlens.graph.hideRefGroup",
"when": "webviewItemGroup =~ /gitlens:refGroup\\b(?!.*?\\b\\+current\\b)/",
"group": "8_gitlens_actions@12"
},
{
"command": "gitlens.graph.openBranchOnRemote",
"when": "gitlens:hasRemotes && webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(tracking|remote)\\b)/",
"group": "2_gitlens_quickopen@1",
"alt": "gitlens.copyRemoteBranchUrl"
},
{
"command": "gitlens.graph.cherryPick",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.graph.undoCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b(?=.*?\\b\\+HEAD\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.graph.revert",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.graph.resetToCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.graph.resetToTip",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.graph.resetCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.graph.rebaseOntoCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions@6"
},
{
"command": "gitlens.graph.switchToCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions@7"
},
{
"command": "gitlens.graph.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions_1@1"
},
{
"command": "gitlens.createPatch",
"when": "false && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:(commit|stash)\\b/",
"group": "1_gitlens_actions_1@2"
},
{
"command": "gitlens.createCloudPatch",
"when": "!gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.cloudPatches.enabled && webviewItem =~ /gitlens:(commit|stash)\\b/",
"group": "1_gitlens_actions_1@3"
},
{
"command": "gitlens.graph.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions_1@4"
},
{
"submenu": "gitlens/graph/commit/changes",
"when": "webviewItem =~ /gitlens:(commit|stash|wip)\\b/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.graph.showInDetailsView",
"when": "webviewItem =~ /gitlens:(commit|stash|wip)\\b/",
"group": "3_gitlens_explore@0"
},
{
"command": "gitlens.graph.openSCM",
"when": "webviewItem == gitlens:wip",
"group": "3_gitlens_explore@1"
},
{
"command": "gitlens.graph.openCommitOnRemote",
"when": "gitlens:hasRemotes && webviewItem =~ /gitlens:commit\\b/",
"group": "3_gitlens_explore@2",
"alt": "gitlens.copyRemoteCommitUrl"
},
{
"submenu": "gitlens/share",
"when": "webviewItem =~ /gitlens:(branch|commit|compare:results(?!:)|stash|tag)\\b/",
"group": "7_gitlens_a_share@1"
},
{
"command": "gitlens.graph.copySha",
"when": "webviewItem =~ /gitlens:(branch|commit|stash|tag)\\b/",
"group": "7_gitlens_cutcopypaste@2"
},
{
"command": "gitlens.graph.copyMessage",
"when": "webviewItem =~ /gitlens:(branch|commit|stash|tag)\\b/",
"group": "7_gitlens_cutcopypaste@3"
},
{
"command": "gitlens.graph.applyStash",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem == gitlens:stash",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.graph.stash.rename",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem == gitlens:stash",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.graph.stash.delete",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem == gitlens:stash",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.graph.saveStash",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem == gitlens:wip",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.graph.switchToTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:tag\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.graph.deleteTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem == gitlens:tag",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.graph.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:tag\\b/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.graph.hideTag",
"when": "webviewItem =~ /gitlens:tag\\b/",
"group": "8_gitlens_actions@10"
},
{
"command": "gitlens.graph.openPullRequestOnRemote",
"when": "webviewItem =~ /gitlens:pullrequest\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.graph.push",
"when": "webviewItem =~ /gitlens:upstreamStatus\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.graph.pull",
"when": "webviewItem =~ /gitlens:upstreamStatus\\b/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.graph.fetch",
"when": "webviewItem =~ /gitlens:upstreamStatus\\b/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.graph.compareWithUpstream",
"when": "!gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+tracking\\b)/",
"group": "4_gitlens_compare@1"
},
{
"command": "gitlens.graph.compareWithHead",
"when": "!gitlens:hasVirtualFolders && webviewItem =~ /gitlens:(branch\\b(?!.*?\\b\\+current\\b)|commit\\b|stash\\b|tag\\b)/",
"group": "4_gitlens_compare@2"
},
{
"command": "gitlens.graph.compareWithWorking",
"when": "!gitlens:hasVirtualFolders && webviewItem =~ /gitlens:(branch|commit|stash|tag)\\b/",
"group": "4_gitlens_compare@3"
},
{
"command": "gitlens.graph.compareAncestryWithWorking",
"when": "!gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "4_gitlens_compare@4"
},
{
"command": "gitlens.graph.addAuthor",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:contributor\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.graph.copy",
"when": "webviewItem =~ /gitlens:(branch|commit|contributor|pullrequest|stash|tag)\\b/",
"group": "7_gitlens_cutcopypaste@1"
},
{
"submenu": "gitlens/graph/markers",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/",
"group": "0_markers@0"
},
{
"command": "gitlens.graph.columnAuthorOn",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:author:hidden\\b/",
"group": "1_columns@1"
},
{
"command": "gitlens.graph.columnAuthorOff",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:author:visible\\b/",
"group": "1_columns@1"
},
{
"command": "gitlens.graph.columnRefOn",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:ref:hidden\\b/",
"group": "1_columns@2"
},
{
"command": "gitlens.graph.columnRefOff",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:ref:visible\\b/",
"group": "1_columns@2"
},
{
"command": "gitlens.graph.columnChangesOn",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:changes:hidden\\b/",
"group": "1_columns@3"
},
{
"command": "gitlens.graph.columnChangesOff",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:changes:visible\\b/",
"group": "1_columns@3"
},
{
"command": "gitlens.graph.columnMessageOn",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:message:hidden\\b/",
"group": "1_columns@4"
},
{
"command": "gitlens.graph.columnMessageOff",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:message:visible\\b/",
"group": "1_columns@4"
},
{
"command": "gitlens.graph.columnDateTimeOn",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:datetime:hidden\\b/",
"group": "1_columns@5"
},
{
"command": "gitlens.graph.columnDateTimeOff",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:datetime:visible\\b/",
"group": "1_columns@5"
},
{
"command": "gitlens.graph.columnGraphOn",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:graph:hidden\\b/",
"group": "1_columns@6"
},
{
"command": "gitlens.graph.columnGraphOff",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:graph:visible\\b/",
"group": "1_columns@6"
},
{
"command": "gitlens.graph.columnShaOn",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:sha:hidden\\b/",
"group": "1_columns@7"
},
{
"command": "gitlens.graph.columnShaOff",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:sha:visible\\b/",
"group": "1_columns@7"
},
{
"command": "gitlens.graph.columnGraphDefault",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:graph:visible[^,]*\\+compact\\b/",
"group": "2_columns@1"
},
{
"command": "gitlens.graph.columnGraphCompact",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/ && webviewItemValue =~ /\\bcolumn:graph:visible(?![^,]*\\+compact\\b)/",
"group": "2_columns@1"
},
{
"command": "gitlens.graph.resetColumnsDefault",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/",
"group": "3_columns@1"
},
{
"command": "gitlens.graph.resetColumnsCompact",
"when": "webviewItem =~ /gitlens:graph:(columns|settings)\\b/",
"group": "3_columns@2"
}
],
"gitlens/commit/browse": [
{
"command": "gitlens.views.browseRepoAtRevision",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.browseRepoAtRevisionInNewWindow",
"group": "1_gitlens@3"
},
{
"command": "gitlens.views.browseRepoBeforeRevision",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.browseRepoBeforeRevisionInNewWindow",
"group": "1_gitlens@4"
}
],
"gitlens/commit/copy": [
{
"command": "gitlens.copyShaToClipboard",
"when": "viewItem =~ /gitlens:(?!(commit|file|remote|repo-folder|repository|stash)\\b)/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "viewItem =~ /gitlens:(?!(commit|file|remote|repo-folder|repository|stash)\\b)/",
"group": "1_gitlens@3"
}
],
"gitlens/share": [
{
"command": "gitlens.shareAsCloudPatch",
"when": "!gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.cloudPatches.enabled && viewItem =~ /gitlens:((commit|stash|compare:results(?!:)|)\\b|file\\b(?=.*?\\b\\+committed\\b))/",
"group": "1_a_gitlens@1"
},
{
"command": "gitlens.graph.shareAsCloudPatch",
"when": "!gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.cloudPatches.enabled && webviewItem =~ /gitlens:(commit|stash)\\b/",
"group": "1_a_gitlens@1"
},
{
"command": "gitlens.copyDeepLinkToBranch",
"when": "viewItem =~ /gitlens:(branch\\b(?=.*?\\b\\+(remote|tracking)\\b)|status:upstream(?!:none))\\b/",
"group": "1_gitlens@50"
},
{
"command": "gitlens.graph.copyDeepLinkToBranch",
"when": "webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(remote|tracking)\\b)/",
"group": "1_gitlens@50"
},
{
"command": "gitlens.copyRemoteBranchUrl",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(remote|tracking)\\b)/",
"group": "2_gitlens@50"
},
{
"command": "gitlens.graph.copyRemoteBranchUrl",
"when": "gitlens:hasRemotes && webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(remote|tracking)\\b)/",
"group": "2_gitlens@50"
},
{
"command": "gitlens.copyDeepLinkToCommit",
"when": "viewItem =~ /gitlens:(commit|file\\b(?=.*?\\b\\+committed\\b))/",
"group": "1_gitlens@25"
},
{
"command": "gitlens.graph.copyDeepLinkToCommit",
"when": "webviewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens@25"
},
{
"command": "gitlens.copyDeepLinkToComparison",
"when": "viewItem =~ /gitlens:compare:(branch(?=.*?\\b\\+comparing\\b)|results(?!:))\\b/",
"group": "1_gitlens@25"
},
{
"command": "gitlens.copyDeepLinkToWorkspace",
"when": "viewItem =~ /gitlens:workspace\\b/",
"group": "1_gitlens@25"
},
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:(file\\b(?=.*?\\b\\+committed\\b)|history:(file|line)|status:file)\\b/",
"group": "2_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:(file\\b(?=.*?\\b\\+committed\\b)|history:(file|line)|status:file)\\b/",
"group": "2_gitlens@2"
},
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "gitlens:enabled && gitlens:hasRemotes && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/",
"group": "2_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"when": "gitlens:enabled && gitlens:hasRemotes && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/",
"group": "2_gitlens@2"
},
{
"command": "gitlens.copyRemoteCommitUrl",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:(commit|file\\b(?=.*?\\b\\+committed\\b))/",
"group": "2_gitlens@25"
},
{
"command": "gitlens.graph.copyRemoteCommitUrl",
"when": "gitlens:hasRemotes && webviewItem =~ /gitlens:commit\\b/",
"group": "2_gitlens@25"
},
{
"command": "gitlens.copyDeepLinkToRepo",
"when": "viewItem =~ /gitlens:(branch\\b(?=.*?\\b\\+(remote|tracking)\\b)|remote|repo-folder|repository|status:upstream(?!:none))\\b/",
"group": "1_gitlens@99"
},
{
"command": "gitlens.copyDeepLinkToTag",
"when": "viewItem =~ /gitlens:tag\\b/",
"group": "1_gitlens@50"
},
{
"command": "gitlens.graph.copyDeepLinkToTag",
"when": "webviewItem =~ /gitlens:tag\\b/",
"group": "1_gitlens@50"
},
{
"command": "gitlens.graph.copyDeepLinkToRepo",
"when": "webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(remote|tracking)\\b)/",
"group": "1_gitlens@99"
},
{
"command": "gitlens.copyRemoteRepositoryUrl",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:(remote|repo-folder|repository)\\b/",
"group": "2_gitlens@99"
}
],
"gitlens/commit/changes": [
{
"command": "gitlens.views.openChangedFileDiffs",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.openChangedFileDiffsWithWorking",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.openChangedFiles",
"group": "2_gitlens@1"
},
{
"command": "gitlens.views.openChangedFileRevisions",
"group": "2_gitlens@2"
},
{
"command": "gitlens.views.openOnlyChangedFiles",
"group": "2_gitlens@3"
}
],
"gitlens/graph/commit/changes": [
{
"command": "gitlens.graph.openChangedFileDiffs",
"group": "1_gitlens@1"
},
{
"command": "gitlens.graph.openChangedFileDiffsWithWorking",
"when": "webviewItem != gitlens:wip",
"group": "1_gitlens@2"
},
{
"command": "gitlens.graph.openChangedFiles",
"group": "2_gitlens@1"
},
{
"command": "gitlens.graph.openChangedFileRevisions",
"group": "2_gitlens@2"
},
{
"command": "gitlens.graph.openOnlyChangedFiles",
"group": "2_gitlens@3"
}
],
"gitlens/commit/file/commit": [
{
"command": "gitlens.showInDetailsView",
"when": "view =~ /gitlens\\.views\\.(fileHistory|lineHistory\\b)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "navigation@1"
},
{
"command": "gitlens.showInCommitGraph",
"when": "view =~ /gitlens\\.views\\.(fileHistory|lineHistory\\b)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)\\b/",
"group": "navigation@2"
},
{
"command": "gitlens.openCommitOnRemote",
"when": "view =~ /^gitlens\\.views\\.(fileHistory|lineHistory)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/ && gitlens:hasRemotes",
"group": "navigation@3",
"alt": "gitlens.copyRemoteCommitUrl"
},
{
"command": "gitlens.revealCommitInView",
"when": "view =~ /gitlens\\.views\\.(fileHistory|lineHistory\\b)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "navigation@4"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+unpublished\\b)(?=.*?\\b\\+HEAD\\b)/",
"group": "1_gitlens_actions@0"
},
{
"command": "gitlens.views.pushToCommit",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+unpublished\\b)(?!.*?\\b\\+HEAD\\b)/",
"group": "1_gitlens_actions@0"
},
{
"command": "gitlens.views.revert",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.resetToCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.resetCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.views.rebaseOntoCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@6"
},
{
"command": "gitlens.views.switchToCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "1_gitlens_actions@7"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "1_gitlens_secondary_actions@1"
},
{
"command": "gitlens.createPatch",
"when": "false && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "1_gitlens_secondary_actions@2"
},
{
"command": "gitlens.createCloudPatch",
"when": "!gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.cloudPatches.enabled && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "1_gitlens_secondary_actions@3"
},
{
"command": "gitlens.views.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "1_gitlens_secondary_actions@4"
}
],
"gitlens/commit/file/changes": [
{
"command": "gitlens.views.openPreviousChangesWithWorking",
"when": "viewItem =~ /gitlens:file\\b(?!.*?\\b\\+(conflicted|stashed|staged|unstaged)\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.openChangesWithWorking",
"when": "viewItem =~ /gitlens:file\\b(?!.*?\\b\\+conflicted\\b)/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.diffWithRevision",
"group": "1_gitlens@3"
},
{
"command": "gitlens.diffWithRevisionFrom",
"group": "1_gitlens@4"
},
{
"command": "gitlens.externalDiff",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?!.*?\\b\\+conflicted\\b)/",
"group": "1_gitlens_@1"
},
{
"command": "gitlens.views.highlightChanges",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+(committed|stashed)\\b)|:results)/",
"group": "2_gitlens@1"
},
{
"command": "gitlens.views.highlightRevisionChanges",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results)/",
"group": "2_gitlens@2"
}
],
"gitlens/commit/file/history": [
{
"command": "gitlens.openFileHistory",
"when": "view != gitlens.views.fileHistory/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.showInTimeline",
"group": "1_gitlens@2"
},
{
"command": "gitlens.quickOpenFileHistory",
"group": "1_gitlens_quick@1"
}
],
"gitlens/editor/annotations": [
{
"command": "gitlens.clearFileAnnotations",
"when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:annotationStatus",
"group": "1_gitlens@1"
},
{
"command": "gitlens.toggleFileBlame",
"when": "gitlens:activeFileStatus =~ /blameable/ && !isInDiffEditor",
"group": "2_gitlens@1"
},
{
"command": "gitlens.toggleFileBlameInDiffLeft",
"when": "gitlens:activeFileStatus =~ /blameable/ && isInDiffEditor && !isInDiffRightEditor",
"group": "2_gitlens@1"
},
{
"command": "gitlens.toggleFileBlameInDiffRight",
"when": "gitlens:activeFileStatus =~ /blameable/ && isInDiffRightEditor",
"group": "2_gitlens@1"
},
{
"command": "gitlens.toggleFileHeatmap",
"when": "gitlens:activeFileStatus =~ /blameable/ && !isInDiffEditor",
"group": "2_gitlens@2"
},
{
"command": "gitlens.toggleFileHeatmapInDiffLeft",
"when": "gitlens:activeFileStatus =~ /blameable/ && isInDiffEditor && !isInDiffRightEditor",
"group": "2_gitlens@2"
},
{
"command": "gitlens.toggleFileHeatmapInDiffRight",
"when": "gitlens:activeFileStatus =~ /blameable/ && isInDiffRightEditor",
"group": "2_gitlens@2"
},
{
"command": "gitlens.toggleFileChanges",
"when": "gitlens:activeFileStatus =~ /blameable/ && !gitlens:hasVirtualFolders",
"group": "2_gitlens@3"
}
],
"gitlens/editor/context/changes": [
{
"command": "gitlens.diffLineWithPrevious",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffLineWithWorking",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.diffWithPrevious",
"group": "2_gitlens@1"
},
{
"command": "gitlens.diffWithWorking",
"when": "resourceScheme == gitlens",
"group": "2_gitlens@2"
},
{
"command": "gitlens.diffWithRevision",
"group": "2_gitlens@3"
},
{
"command": "gitlens.diffWithRevisionFrom",
"group": "2_gitlens@4"
},
{
"command": "gitlens.showLineCommitInView",
"group": "3_gitlens@1"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"group": "3_gitlens@2"
},
{
"command": "gitlens.showQuickRevisionDetails",
"when": "gitlens:activeFileStatus =~ /revision/ && !isInDiffEditor",
"group": "3_gitlens@2"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffLeft",
"when": "gitlens:activeFileStatus =~ /revision/ && isInDiffEditor && !isInDiffRightEditor",
"group": "3_gitlens@2"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffRight",
"when": "gitlens:activeFileStatus =~ /revision/ && isInDiffRightEditor",
"group": "3_gitlens@2"
}
],
"gitlens/editor/context/openOn": [
{
"command": "gitlens.openFileOnRemote",
"group": "1_gitlens@2",
"alt": "gitlens.copyRemoteFileUrlToClipboard"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"group": "1_gitlens@3",
"alt": "gitlens.copyRemoteFileUrlFrom"
},
{
"command": "gitlens.openCommitOnRemote",
"group": "1_gitlens_commit@1",
"alt": "gitlens.copyRemoteCommitUrl"
}
],
"gitlens/editor/changes": [
{
"command": "gitlens.diffWithPrevious",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffWithWorking",
"when": "resourceScheme == gitlens",
"group": "1_gitlens@2"
},
{
"command": "gitlens.diffWithRevision",
"group": "1_gitlens@3"
},
{
"command": "gitlens.diffWithRevisionFrom",
"group": "1_gitlens@4"
}
],
"gitlens/editor/history": [
{
"command": "gitlens.openFileHistory",
"group": "1_gitlens@1"
},
{
"command": "gitlens.showInTimeline",
"group": "1_gitlens@2"
},
{
"command": "gitlens.quickOpenFileHistory",
"group": "1_gitlens_quick@1"
}
],
"gitlens/editor/openOn": [
{
"command": "gitlens.openFileOnRemote",
"group": "1_gitlens@1",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"group": "1_gitlens@2",
"alt": "gitlens.copyRemoteFileUrlFrom"
}
],
"gitlens/editor/lineNumber/context/changes": [
{
"command": "gitlens.diffLineWithPrevious",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffLineWithWorking",
"group": "1_gitlens@2"
},
{
"command": "gitlens.showLineCommitInView",
"group": "3_gitlens@1"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"group": "3_gitlens@2"
}
],
"gitlens/editor/lineNumber/context/openOn": [
{
"command": "gitlens.openFileOnRemote",
"group": "1_gitlens@2",
"alt": "gitlens.copyRemoteFileUrlToClipboard"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"group": "1_gitlens@3",
"alt": "gitlens.copyRemoteFileUrlFrom"
},
{
"command": "gitlens.openCommitOnRemote",
"group": "1_gitlens_commit@1",
"alt": "gitlens.copyRemoteCommitUrl"
}
],
"gitlens/editor/lineNumber/context/share": [
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"group": "1_gitlens@2"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"group": "1_gitlens@3"
},
{
"command": "gitlens.copyRemoteCommitUrl",
"group": "1_gitlens_commit@1"
}
],
"gitlens/explorer/changes": [
{
"command": "gitlens.diffWithPrevious",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffWithRevision",
"group": "1_gitlens@2"
},
{
"command": "gitlens.diffWithRevisionFrom",
"group": "1_gitlens@3"
}
],
"gitlens/explorer/history": [
{
"command": "gitlens.openFileHistory",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled",
"group": "1_gitlens@1"
},
{
"command": "gitlens.openFolderHistory",
"when": "explorerResourceIsFolder && gitlens:enabled",
"group": "1_gitlens@1"
},
{
"command": "gitlens.showInTimeline",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled",
"group": "1_gitlens@2"
},
{
"command": "gitlens.quickOpenFileHistory",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled",
"group": "1_gitlens_quick@1"
}
],
"gitlens/explorer/openOn": [
{
"command": "gitlens.openFileOnRemote",
"group": "1_gitlens@1",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"group": "1_gitlens@2",
"alt": "gitlens.copyRemoteFileUrlFrom"
}
],
"gitlens/graph/configuration": [
{
"command": "gitlens.graph.switchToEditorLayout",
"group": "1_gitlens@1"
},
{
"command": "gitlens.graph.switchToPanelLayout",
"group": "1_gitlens@1"
},
{
"command": "gitlens.showSettingsPage!commit-graph",
"group": "9_gitlens@1"
}
],
"gitlens/graph/markers": [
{
"command": "gitlens.graph.scrollMarkerLocalBranchOn",
"when": "webviewItem =~ /gitlens:graph:settings\\b/ && webviewItemValue =~ /\\bscrollMarker:localBranches:disabled\\b/",
"group": "4_settings@1"
},
{
"command": "gitlens.graph.scrollMarkerLocalBranchOff",
"when": "webviewItem =~ /gitlens:graph:settings\\b/ && webviewItemValue =~ /\\bscrollMarker:localBranches:enabled\\b/",
"group": "4_settings@1"
},
{
"command": "gitlens.graph.scrollMarkerRemoteBranchOn",
"when": "webviewItem =~ /gitlens:graph:settings\\b/ && webviewItemValue =~ /\\bscrollMarker:remoteBranches:disabled\\b/",
"group": "4_settings@2"
},
{
"command": "gitlens.graph.scrollMarkerRemoteBranchOff",
"when": "webviewItem =~ /gitlens:graph:settings\\b/ && webviewItemValue =~ /\\bscrollMarker:remoteBranches:enabled\\b/",
"group": "4_settings@2"
},
{
"command": "gitlens.graph.scrollMarkerStashOn",
"when": "webviewItem =~ /gitlens:graph:settings\\b/ && webviewItemValue =~ /\\bscrollMarker:stashes:disabled\\b/",
"group": "4_settings@3"
},
{
"command": "gitlens.graph.scrollMarkerStashOff",
"when": "webviewItem =~ /gitlens:graph:settings\\b/ && webviewItemValue =~ /\\bscrollMarker:stashes:enabled\\b/",
"group": "4_settings@3"
},
{
"command": "gitlens.graph.scrollMarkerTagOn",
"when": "webviewItem =~ /gitlens:graph:settings\\b/ && webviewItemValue =~ /\\bscrollMarker:tags:disabled\\b/",
"group": "4_settings@4"
},
{
"command": "gitlens.graph.scrollMarkerTagOff",
"when": "webviewItem =~ /gitlens:graph:settings\\b/ && webviewItemValue =~ /\\bscrollMarker:tags:enabled\\b/",
"group": "4_settings@4"
}
],
"gitlens/scm/resourceGroup/changes": [
{
"command": "gitlens.externalDiffAll",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffDirectoryWithHead",
"when": "!gitlens:hasVirtualFolders",
"group": "1_gitlens@2"
},
{
"command": "gitlens.diffDirectory",
"when": "!gitlens:hasVirtualFolders",
"group": "1_gitlens@3"
}
],
"gitlens/scm/resourceState/changes": [
{
"command": "gitlens.diffWithRevision",
"when": "!gitlens:hasVirtualFolders",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffWithRevisionFrom",
"when": "!gitlens:hasVirtualFolders",
"group": "1_gitlens@2"
},
{
"command": "gitlens.externalDiff",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders",
"group": "2_gitlens@1"
}
],
"gitlens/scm/resourceState/history": [
{
"command": "gitlens.openFileHistory",
"group": "1_gitlens@1"
},
{
"command": "gitlens.showInTimeline",
"group": "1_gitlens@2"
},
{
"command": "gitlens.quickOpenFileHistory",
"group": "1_gitlens_quick@1"
}
],
"gitlens/scm/resourceState/openOn": [
{
"command": "gitlens.openFileOnRemote",
"group": "1_gitlens@1",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"group": "1_gitlens@2",
"alt": "gitlens.copyRemoteFileUrlFrom"
}
],
"gitlens/view/repositories/sections": [
{
"command": "gitlens.views.repositories.setShowBranchComparisonOn",
"when": "!config.gitlens.views.repositories.showBranchComparison",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.repositories.setShowBranchComparisonOff",
"when": "config.gitlens.views.repositories.showBranchComparison",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.repositories.setShowUpstreamStatusOn",
"when": "!config.gitlens.views.repositories.showUpstreamStatus",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.repositories.setShowUpstreamStatusOff",
"when": "config.gitlens.views.repositories.showUpstreamStatus",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.repositories.setShowCommitsOn",
"when": "!config.gitlens.views.repositories.showCommits",
"group": "2_gitlens@2"
},
{
"command": "gitlens.views.repositories.setShowCommitsOff",
"when": "config.gitlens.views.repositories.showCommits",
"group": "2_gitlens@2"
},
{
"command": "gitlens.views.repositories.setShowBranchesOn",
"when": "!config.gitlens.views.repositories.showBranches",
"group": "2_gitlens@3"
},
{
"command": "gitlens.views.repositories.setShowBranchesOff",
"when": "config.gitlens.views.repositories.showBranches",
"group": "2_gitlens@3"
},
{
"command": "gitlens.views.repositories.setShowRemotesOn",
"when": "!config.gitlens.views.repositories.showRemotes",
"group": "2_gitlens@4"
},
{
"command": "gitlens.views.repositories.setShowRemotesOff",
"when": "config.gitlens.views.repositories.showRemotes",
"group": "2_gitlens@4"
},
{
"command": "gitlens.views.repositories.setShowStashesOn",
"when": "!config.gitlens.views.repositories.showStashes",
"group": "2_gitlens@5"
},
{
"command": "gitlens.views.repositories.setShowStashesOff",
"when": "config.gitlens.views.repositories.showStashes",
"group": "2_gitlens@5"
},
{
"command": "gitlens.views.repositories.setShowTagsOn",
"when": "!config.gitlens.views.repositories.showTags",
"group": "2_gitlens@6"
},
{
"command": "gitlens.views.repositories.setShowTagsOff",
"when": "config.gitlens.views.repositories.showTags",
"group": "2_gitlens@6"
},
{
"command": "gitlens.views.repositories.setShowWorktreesOn",
"when": "!config.gitlens.views.repositories.showWorktrees",
"group": "2_gitlens@7"
},
{
"command": "gitlens.views.repositories.setShowWorktreesOff",
"when": "config.gitlens.views.repositories.showWorktrees",
"group": "2_gitlens@7"
},
{
"command": "gitlens.views.repositories.setShowContributorsOn",
"when": "!config.gitlens.views.repositories.showContributors",
"group": "2_gitlens@8"
},
{
"command": "gitlens.views.repositories.setShowContributorsOff",
"when": "config.gitlens.views.repositories.showContributors",
"group": "2_gitlens@8"
}
],
"gitlens/view/searchAndCompare/new": [
{
"command": "gitlens.views.searchAndCompare.searchCommits",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/",
"group": "navigation@10"
},
{
"command": "gitlens.views.searchAndCompare.selectForCompare",
"when": "!gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.searchAndCompare\\b/",
"group": "navigation@11"
}
],
"gitlens/comparison/results/files/filter": [
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOff",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filtered\\b)/",
"group": "navigation@1"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnLeft",
"when1": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~left\\b)/",
"group": "navigation_1@1"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnRight",
"when1": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~right\\b)/",
"group": "navigation_1@2"
}
],
"gitlens/comparison/results/files/filter/inline": [
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOff",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filtered\\b)/",
"group": "navigation@1"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnLeft",
"when1": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~left\\b)/",
"group": "navigation_1@1"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnRight",
"when1": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~right\\b)/",
"group": "navigation_1@2"
}
],
"gitlens/comparison/results/files/filtered": [
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOff",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filtered\\b)/",
"group": "navigation@1"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnLeft",
"when1": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~left\\b)/",
"group": "navigation_1@1"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnRight",
"when1": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~right\\b)/",
"group": "navigation_1@2"
}
],
"gitlens/comparison/results/files/filtered/inline": [
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOff",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filtered\\b)/",
"group": "navigation@1"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnLeft",
"when1": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~left\\b)/",
"group": "navigation_1@1"
},
{
"command": "gitlens.views.searchAndCompare.setFilesFilterOnRight",
"when1": "viewItem =~ /gitlens:results:files\\b(?!.*?\\b\\+filtered~right\\b)/",
"group": "navigation_1@2"
}
]
},
"submenus": [
{
"id": "gitlens/commit/browse",
"label": "Browse"
},
{
"id": "gitlens/commit/copy",
"label": "Copy As"
},
{
"id": "gitlens/commit/changes",
"label": "Open Changes"
},
{
"id": "gitlens/graph/commit/changes",
"label": "Open Changes"
},
{
"id": "gitlens/commit/file/commit",
"label": "Commit"
},
{
"id": "gitlens/commit/file/changes",
"label": "Open Changes with"
},
{
"id": "gitlens/commit/file/history",
"label": "File History"
},
{
"id": "gitlens/editor/annotations",
"label": "File Annotations",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"id": "gitlens/editor/context/changes",
"label": "Open Changes"
},
{
"id": "gitlens/editor/context/openOn",
"label": "Open on Remote (Web)"
},
{
"id": "gitlens/editor/changes",
"label": "Open Changes"
},
{
"id": "gitlens/editor/history",
"label": "File History"
},
{
"id": "gitlens/editor/openOn",
"label": "Open on Remote (Web)"
},
{
"id": "gitlens/editor/lineNumber/context/changes",
"label": "Open Changes"
},
{
"id": "gitlens/editor/lineNumber/context/openOn",
"label": "Open on Remote (Web)"
},
{
"id": "gitlens/editor/lineNumber/context/share",
"label": "Share"
},
{
"id": "gitlens/explorer/changes",
"label": "Open Changes"
},
{
"id": "gitlens/explorer/history",
"label": "File History"
},
{
"id": "gitlens/explorer/openOn",
"label": "Open on Remote (Web)"
},
{
"id": "gitlens/graph/configuration",
"label": "Commit Graph Settings",
"icon": "$(gear)"
},
{
"id": "gitlens/graph/markers",
"label": "Scroll Markers"
},
{
"id": "gitlens/scm/resourceGroup/changes",
"label": "Open Changes"
},
{
"id": "gitlens/scm/resourceState/changes",
"label": "Open Changes with"
},
{
"id": "gitlens/scm/resourceState/history",
"label": "File History"
},
{
"id": "gitlens/scm/resourceState/openOn",
"label": "Open on Remote (Web)"
},
{
"id": "gitlens/share",
"label": "Share"
},
{
"id": "gitlens/view/repositories/sections",
"label": "Sections"
},
{
"id": "gitlens/view/searchAndCompare/new",
"label": "New Search or Compare",
"icon": "$(add)"
},
{
"id": "gitlens/comparison/results/files/filter",
"label": "Filter Files",
"icon": "$(filter)"
},
{
"id": "gitlens/comparison/results/files/filter/inline",
"label": "Filter Files",
"icon": "$(filter)"
},
{
"id": "gitlens/comparison/results/files/filtered",
"label": "Filter Files",
"icon": "$(filter-filled)"
},
{
"id": "gitlens/comparison/results/files/filtered/inline",
"label": "Filter Files",
"icon": "$(filter-filled)"
}
],
"keybindings": [
{
"command": "gitlens.key.left",
"key": "left",
"when": "gitlens:key:left"
},
{
"command": "gitlens.key.alt+left",
"key": "alt+left",
"when": "gitlens:key:alt+left"
},
{
"command": "gitlens.key.ctrl+left",
"key": "ctrl+left",
"mac": "cmd+left",
"when": "gitlens:key:ctrl+left"
},
{
"command": "gitlens.key.right",
"key": "right",
"when": "gitlens:key:right"
},
{
"command": "gitlens.key.alt+right",
"key": "alt+right",
"when": "gitlens:key:alt+right"
},
{
"command": "gitlens.key.ctrl+right",
"key": "ctrl+right",
"mac": "cmd+right",
"when": "gitlens:key:ctrl+right"
},
{
"command": "gitlens.key.alt+,",
"key": "alt+,",
"when": "gitlens:key:,"
},
{
"command": "gitlens.key.alt+.",
"key": "alt+.",
"when": "gitlens:key:."
},
{
"command": "gitlens.key.alt+enter",
"key": "alt+enter",
"when": "gitlens:key:alt+enter"
},
{
"command": "gitlens.key.ctrl+enter",
"key": "ctrl+enter",
"when": "gitlens:key:ctrl+enter"
},
{
"command": "gitlens.key.escape",
"key": "escape",
"when": "gitlens:key:escape && editorTextFocus && !findWidgetVisible && !quickFixWidgetVisible && !renameInputVisible && !suggestWidgetVisible && !isInEmbeddedEditor"
},
{
"command": "gitlens.gitCommands",
"key": "alt+/",
"when": "config.gitlens.keymap == alternate && !gitlens:disabled"
},
{
"command": "gitlens.gitCommands",
"key": "ctrl+shift+g /",
"mac": "cmd+alt+g /",
"when": "config.gitlens.keymap == chorded && !gitlens:disabled"
},
{
"command": "gitlens.toggleFileBlame",
"key": "alt+b",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleFileBlame",
"key": "ctrl+shift+g b",
"mac": "cmd+alt+g b",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleCodeLens",
"key": "shift+alt+b",
"when": "config.gitlens.keymap == alternate && editorTextFocus && !gitlens:disabled && !gitlens:disabledToggleCodeLens"
},
{
"command": "gitlens.toggleCodeLens",
"key": "ctrl+shift+g shift+b",
"mac": "cmd+alt+g shift+b",
"when": "config.gitlens.keymap == chorded && editorTextFocus && !gitlens:disabled && !gitlens:disabledToggleCodeLens"
},
{
"command": "gitlens.showQuickFileHistory",
"key": "alt+h",
"when": "config.gitlens.keymap == alternate && !gitlens:disabled"
},
{
"command": "gitlens.showQuickFileHistory",
"key": "ctrl+shift+g h",
"mac": "cmd+alt+g h",
"when": "config.gitlens.keymap == chorded && !gitlens:disabled"
},
{
"command": "gitlens.showQuickRepoHistory",
"key": "shift+alt+h",
"when": "config.gitlens.keymap == alternate && !gitlens:disabled"
},
{
"command": "gitlens.showQuickRepoHistory",
"key": "ctrl+shift+g shift+h",
"mac": "cmd+alt+g shift+h",
"when": "config.gitlens.keymap == chorded && !gitlens:disabled"
},
{
"command": "gitlens.showQuickRepoStatus",
"key": "alt+s",
"when": "config.gitlens.keymap == alternate && !gitlens:disabled"
},
{
"command": "gitlens.showQuickRepoStatus",
"key": "ctrl+shift+g s",
"mac": "cmd+alt+g s",
"when": "config.gitlens.keymap == chorded && !gitlens:disabled"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"key": "alt+c",
"when": "config.gitlens.keymap == alternate && editorTextFocus && !gitlens:disabled"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"key": "ctrl+shift+g c",
"mac": "cmd+alt+g c",
"when": "config.gitlens.keymap == chorded && editorTextFocus && !gitlens:disabled"
},
{
"command": "gitlens.diffWithPrevious",
"key": "alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithPrevious",
"key": "ctrl+shift+g ,",
"mac": "cmd+alt+g ,",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithPreviousInDiffLeft",
"key": "alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && isInDiffEditor && !isInDiffRightEditor"
},
{
"command": "gitlens.diffWithPreviousInDiffLeft",
"key": "ctrl+shift+g ,",
"mac": "cmd+alt+g ,",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && isInDiffEditor && !isInDiffRightEditor"
},
{
"command": "gitlens.diffWithPreviousInDiffRight",
"key": "alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffWithPreviousInDiffRight",
"key": "ctrl+shift+g ,",
"mac": "cmd+alt+g ,",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffWithNext",
"key": "alt+.",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithNext",
"key": "ctrl+shift+g .",
"mac": "cmd+alt+g .",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"key": "alt+.",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && isInDiffEditor && !isInDiffRightEditor"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"key": "ctrl+shift+g .",
"mac": "cmd+alt+g .",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && isInDiffEditor && !isInDiffRightEditor"
},
{
"command": "gitlens.diffWithNextInDiffRight",
"key": "alt+.",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffWithNextInDiffRight",
"key": "ctrl+shift+g .",
"mac": "cmd+alt+g .",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffWithWorking",
"key": "shift+alt+.",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffWithWorking",
"key": "ctrl+shift+g shift+.",
"mac": "cmd+alt+g shift+.",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffLineWithPrevious",
"key": "shift+alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffLineWithPrevious",
"key": "ctrl+shift+g shift+,",
"mac": "cmd+alt+g shift+,",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "workbench.view.scm",
"key": "ctrl+shift+g g",
"mac": "ctrl+shift+g",
"when": "config.gitlens.keymap == chorded && !gitlens:disabled"
},
{
"command": "gitlens.views.branches.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.branches/"
},
{
"command": "gitlens.views.commits.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.commits/"
},
{
"command": "gitlens.views.contributors.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.contributors/"
},
{
"command": "gitlens.views.drafts.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.drafts/"
},
{
"command": "gitlens.views.fileHistory.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.fileHistory/"
},
{
"command": "gitlens.views.lineHistory.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.lineHistory/"
},
{
"command": "gitlens.views.remotes.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.remotes/"
},
{
"command": "gitlens.views.repositories.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.repositories/"
},
{
"command": "gitlens.views.stashes.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.stashes/"
},
{
"command": "gitlens.views.searchAndCompare.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.searchAndCompare\\b/"
},
{
"command": "gitlens.views.tags.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.tags/"
},
{
"command": "gitlens.views.worktrees.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.worktrees/"
},
{
"command": "gitlens.views.workspaces.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.workspaces/"
}
],
"customEditors": [
{
"viewType": "gitlens.rebase",
"displayName": "GitLens Interactive Rebase Editor",
"selector": [
{
"filenamePattern": "git-rebase-todo"
}
]
}
],
"resourceLabelFormatters": [
{
"scheme": "gitlens",
"authority": "*",
"formatting": {
"label": "${path} (${query.ref})",
"normalizeDriveLetter": true,
"tildify": true,
"workspaceSuffix": "GitLens"
}
}
],
"viewsContainers": {
"activitybar": [
{
"id": "gitlens",
"title": "GitLens",
"icon": "$(gitlens-gitlens)"
},
{
"id": "gitlensInspect",
"title": "GitLens Inspect",
"icon": "$(gitlens-gitlens-inspect)"
},
{
"id": "gitlensPatch",
"title": "GitLens Patch",
"icon": "$(gitlens-cloud-patch)"
}
],
"panel": [
{
"id": "gitlensPanel",
"title": "GitLens",
"icon": "$(gitlens-graph)"
}
]
},
"viewsWelcome": [
{
"view": "gitlens.views.searchAndCompare",
"contents": "Search for commits by [message](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22query%22%3A%22message%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), [author](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22query%22%3A%22author%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), [SHA](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22query%22%3A%22commit%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), [file](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22query%22%3A%22file%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), or [changes](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22query%22%3A%22change%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D)\n\n[Search Commits...](command:gitlens.views.searchAndCompare.searchCommits)",
"when": "!gitlens:hasVirtualFolders"
},
{
"view": "gitlens.views.searchAndCompare",
"contents": "Search for commits by [message](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22query%22%3A%22message%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), [author](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22query%22%3A%22author%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), or [SHA](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22query%22%3A%22commit%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D)\n\n[Search Commits...](command:gitlens.views.searchAndCompare.searchCommits)",
"when": "gitlens:hasVirtualFolders"
},
{
"view": "gitlens.views.searchAndCompare",
"contents": "Compare a <branch, tag, or ref> with another <branch, tag, or ref>\n\n[Compare References...](command:gitlens.views.searchAndCompare.selectForCompare)",
"when": "!gitlens:hasVirtualFolders"
},
{
"view": "gitlens.views.drafts",
"contents": "Cloud Patches allow you to easily and securely share code with your teammates or other developers, accessible from anywhere, streamlining your workflow with better collaboration."
},
{
"view": "gitlens.views.drafts",
"contents": "[Create Cloud Patch](command:gitlens.views.drafts.create)\n\n☁️ Access is based on your plan, e.g. Free, Pro, etc",
"when": "gitlens:plus"
},
{
"view": "gitlens.views.drafts",
"contents": "[Start Free Pro Trial](command:gitlens.plus.loginOrSignUp)\n\nStart a free 7-day Pro trial to use Cloud Patches, or [sign in](command:gitlens.plus.loginOrSignUp).\n☁️ Requires a GitKraken account and access is based on your plan, e.g. Free, Pro, etc",
"when": "!gitlens:plus"
},
{
"view": "gitlens.views.workspaces",
"contents": "Workspaces allow you to easily group and manage multiple repositories together, accessible from anywhere, streamlining your workflow.\n\nCreate workspaces just for yourself or share (coming soon in GitLens) them with your team for faster onboarding and better collaboration."
},
{
"view": "gitlens.views.workspaces",
"contents": "[Create Cloud Workspace](command:gitlens.views.workspaces.create)\n\n☁️ Access is based on your plan, e.g. Free, Pro, etc",
"when": "gitlens:plus"
},
{
"view": "gitlens.views.workspaces",
"contents": "[Start Free GitKraken Trial](command:gitlens.plus.loginOrSignUp)\n\nStart a free 7-day GitKraken trial to use GitKraken Workspaces, or [sign in](command:gitlens.plus.loginOrSignUp).\n☁️ Requires a GitKraken account and access is based on your plan, e.g. Free, Pro, etc",
"when": "!gitlens:plus"
},
{
"view": "gitlens.views.worktrees",
"contents": "Worktrees help you multitask by minimizing the context switching between branches, allowing you to easily work on different branches of a repository simultaneously.\n\nYou can create multiple working trees, each of which can be opened in individual windows or all together in a single workspace.",
"when": "!gitlens:plus:required || gitlens:plus:state == 0"
},
{
"view": "gitlens.views.worktrees",
"contents": "[Create Worktree...](command:gitlens.views.createWorktree)",
"when": "!gitlens:plus:required"
},
{
"view": "gitlens.views.worktrees",
"contents": "You must verify your email before you can continue.\n\n[Resend verification email](command:gitlens.plus.resendVerification)\n\n[Refresh verification status](command:gitlens.plus.validate)",
"when": "gitlens:plus:state == -1"
},
{
"view": "gitlens.views.worktrees",
"contents": "[Preview Pro](command:gitlens.plus.startPreviewTrial)\n\nPreview Pro for 3 days, or [sign in](command:gitlens.plus.loginOrSignUp) to start a full 7-day GitKraken trial.\n✨ A trial or paid plan is required to use this on privately hosted repos.",
"when": "gitlens:plus:required && gitlens:plus:state == 0"
},
{
"view": "gitlens.views.worktrees",
"contents": "Your 3-day Pro preview has ended, start a free GitKraken trial to get an additional 7 days, or [sign in](command:gitlens.plus.loginOrSignUp).\n\n[Start Free GitKraken Trial](command:gitlens.plus.loginOrSignUp)\n✨ A trial or paid plan is required to use this on privately hosted repos.",
"when": "gitlens:plus:required && gitlens:plus:state == 2"
},
{
"view": "gitlens.views.worktrees",
"contents": "Your GitKraken trial has ended, please upgrade to continue to use this on privately hosted repos.\n\n[Upgrade to Pro](command:gitlens.plus.purchase)\n✨ A paid plan is required to use this on privately hosted repos.",
"when": "gitlens:plus:required && gitlens:plus:state == 4"
}
],
"views": {
"gitlens": [
{
"type": "webview",
"id": "gitlens.views.home",
"name": "Home",
"contextualTitle": "GitLens",
"icon": "$(gitlens-gitlens)",
"initialSize": 6,
"visibility": "visible"
},
{
"id": "gitlens.views.drafts",
"name": "Cloud Patches",
"when": "!gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.cloudPatches.enabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-cloud-patch)",
"initialSize": 2,
"visibility": "visible"
},
{
"id": "gitlens.views.workspaces",
"name": "GitKraken Workspaces",
"when": "!gitlens:untrusted && !gitlens:hasVirtualFolders",
"contextualTitle": "GitLens",
"icon": "$(gitlens-workspaces-view)",
"initialSize": 2,
"visibility": "visible"
},
{
"type": "webview",
"id": "gitlens.views.account",
"name": "GitKraken Account",
"contextualTitle": "GitLens",
"icon": "$(gitlens-gitlens)",
"initialSize": 1,
"visibility": "collapsed"
}
],
"gitlensInspect": [
{
"type": "webview",
"id": "gitlens.views.commitDetails",
"name": "Commit Details",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-commit-view)",
"initialSize": 6,
"visibility": "visible"
},
{
"id": "gitlens.views.lineHistory",
"name": "Line History",
"when": "!gitlens:disabled && !gitlens:hasVirtualFolders",
"contextualTitle": "GitLens",
"icon": "$(gitlens-history-view)",
"initialSize": 1,
"visibility": "collapsed"
},
{
"id": "gitlens.views.fileHistory",
"name": "File History",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-history-view)",
"initialSize": 2,
"visibility": "visible"
},
{
"type": "webview",
"id": "gitlens.views.timeline",
"name": "Visual File History",
"when": "!gitlens:disabled && gitlens:plus:enabled",
"contextualTitle": "GitLens",
"icon": "$(graph-scatter)",
"initialSize": 1,
"visibility": "visible"
},
{
"id": "gitlens.views.searchAndCompare",
"name": "Search & Compare",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-search-view)",
"initialSize": 2,
"visibility": "visible"
}
],
"gitlensPanel": [
{
"type": "webview",
"id": "gitlens.views.graph",
"name": "Graph",
"when": "!gitlens:disabled && gitlens:plus:enabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-graph)",
"initialSize": 4,
"visibility": "visible"
},
{
"type": "webview",
"id": "gitlens.views.graphDetails",
"name": "Graph Details",
"when": "!gitlens:disabled && gitlens:plus:enabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-commit-view)",
"initialSize": 1,
"visibility": "visible"
}
],
"gitlensPatch": [
{
"type": "webview",
"id": "gitlens.views.patchDetails",
"name": "Patch",
"when": "!gitlens:untrusted && config.gitlens.cloudPatches.enabled && gitlens:views:patchDetails:mode",
"contextualTitle": "GitLens",
"icon": "$(gitlens-cloud-patch)",
"initialSize": 24
}
],
"scm": [
{
"id": "gitlens.views.repositories",
"name": "Repositories",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-repositories-view)",
"visibility": "hidden"
},
{
"id": "gitlens.views.commits",
"name": "Commits",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-commits-view)",
"visibility": "visible"
},
{
"id": "gitlens.views.branches",
"name": "Branches",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-branches-view)",
"visibility": "collapsed"
},
{
"id": "gitlens.views.remotes",
"name": "Remotes",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-remotes-view)",
"visibility": "collapsed"
},
{
"id": "gitlens.views.stashes",
"name": "Stashes",
"when": "!gitlens:disabled && !gitlens:hasVirtualFolders",
"contextualTitle": "GitLens",
"icon": "$(gitlens-stashes-view)",
"visibility": "collapsed"
},
{
"id": "gitlens.views.tags",
"name": "Tags",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-tags-view)",
"visibility": "collapsed"
},
{
"id": "gitlens.views.worktrees",
"name": "Worktrees",
"when": "!gitlens:disabled && !gitlens:hasVirtualFolders && gitlens:plus:enabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-worktrees-view)",
"visibility": "collapsed"
},
{
"id": "gitlens.views.contributors",
"name": "Contributors",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-contributors-view)",
"visibility": "collapsed"
}
]
},
"walkthroughs": [
{
"id": "gitlens.welcome",
"title": "Get Started with GitLens",
"description": "Discover and personalize features that supercharge your Git experience",
"steps": [
{
"id": "gitlens.welcome.tutorial",
"title": "Welcome and Tutorial",
"description": "Open the Welcome experience to quickly get started and discover the many powerful GitLens features.\n\n[Open Welcome](command:gitlens.showWelcomePage \"Opens GitLens Welcome\")\nOr, sit back and watch the our Getting Started video.\n\n[Watch Tutorial Video](https://www.youtube.com/watch?v=UQPb73Zz9qk \"Watch the Getting Started video\")\n💡 **Want more control?** Use the interactive [GitLens Settings](command:gitlens.showSettingsPage \"Opens GitLens Settings\") editor to customize GitLens to meet your needs.",
"media": {
"markdown": "walkthroughs/welcome/tutorial.md"
}
},
{
"id": "gitlens.welcome.sidebars",
"title": "Discover the many powerful views",
"description": "Our views are arranged for focus and productivity, although you can easily drag them around to suit your needs.\n\n$(gitlens-gitlens-inspect)  **GitLens Inspect**\nAn x-ray or developer tools inspector into your code, focused on providing contextual information and insights to what you're actively working on.\n\n[Open GitLens Inspect](command:workbench.view.extension.gitlensInspect)\n\n$(gitlens-gitlens)  **GitLens**\nQuick access to many GitLens features. Also the home of GitKraken teams and collaboration services (e.g. GitKraken Workspaces), help, and support.\n\n[Open GitLens](command:workbench.view.extension.gitlens)\n\n$(source-control) **Source Control**\nShows additional views that are focused on exploring and managing your repositories.\n\n[Open Source Control](command:workbench.view.scm)\n\n$(layout-panel)  **(Bottom) Panel**\nConvenient and easy access to the Commit Graph with a dedicated details view.\n\n[Open Commit Graph](command:gitlens.showGraph)\n💡 Use the [Reset Views Layout](command:workbench.action.quickOpen?%22>GitLens%3A%20Reset%20Views%20Layout%22) command to quickly get back to the default layout.",
"media": {
"markdown": "walkthroughs/welcome/side-bars.md"
}
},
{
"id": "gitlens.welcome.currentLineBlame",
"title": "See who made which changes at a glance",
"description": "**Inline blame** and status bar blame provide historical context about line changes.\n**Git CodeLens** adds contextual and actionable authorship information at the top of each file and at the beginning of each block of code.\n**Hover** over blame annotations to reveal rich details and actions.\n💡 Use the [Toggle Line Blame](command:workbench.action.quickOpen?%22>GitLens%3A%20Toggle%20Line%20Blame%22) and [Toggle Git CodeLens](command:workbench.action.quickOpen?%22>GitLens%3A%20Toggle%20Git%20CodeLens%22) commands from the Command Palette to turn the annotations on and off.",
"media": {
"markdown": "walkthroughs/welcome/blame.md"
}
},
{
"id": "gitlens.welcome.fileAnnotations",
"title": "Get more context with file annotations",
"description": "Toggle on-demand whole file annotations to see authorship, recent changes, and a heatmap. Annotations are rendered as visual indicators directly in the editor.\n💡 **On an active file**, use the [Toggle File Blame](command:workbench.action.quickOpen?%22>GitLens%3A%20Toggle%20File%20Blame%22), [Toggle File Changes](command:workbench.action.quickOpen?%22>GitLens%3A%20Toggle%20File%20Changes%22), and [Toggle File Heatmap](command:workbench.action.quickOpen?%22>GitLens%3A%20Toggle%20File%20Heatmap%22) commands from the Command Palette to turn the annotations on and off.",
"media": {
"markdown": "walkthroughs/welcome/file-annotations.md"
}
},
{
"id": "gitlens.welcome.revisionHistory",
"title": "Effortlessly navigate revision history",
"description": "With just a click of a button, you can navigate backwards and forwards through the history of any file.\nCompare changes over time and see the revision history of the whole file or an individual line.",
"media": {
"markdown": "walkthroughs/welcome/revision-history.md"
}
},
{
"id": "gitlens.welcome.commitGraph",
"title": "Visualize with the Commit Graph ✨",
"description": "Easily visualize your repository and keep track of all work in progress.\nUse the rich commit search to find exactly what you're looking for. It's powerful filters allow you to search by a specific commit, message, author, a changed file or files, or even a specific code change.\n\n[Open Commit Graph](command:gitlens.showGraph)\n\n💡Quickly toggle the Graph via the [Toggle Commit Graph](command:gitlens.toggleGraph) command.\n💡Maximize the Graph via the [Toggle Maximized Commit Graph](command:gitlens.toggleMaximizedGraph) command.",
"media": {
"altText": "Illustrations of the Commit Graph view",
"svg": "walkthroughs/welcome/commit-graph.svg"
}
},
{
"id": "gitlens.welcome.workspaces",
"title": "Work smarter with Focus ✨ and GitKraken Workspaces ☁️",
"description": "Focus brings all of your GitHub pull requests and issues into a unified actionable view to help to you more easily juggle work in progress, pending work, reviews, and more.\nQuickly see if anything requires your attention while keeping you focused.\n\n[Open Focus](command:gitlens.showFocusPage)\n\nGitKraken Workspaces allow you to easily group and manage multiple repositories together, accessible from anywhere, streamlining your workflow.\nCreate workspaces just for yourself or share (coming soon in GitLens) them with your team for faster onboarding and better collaboration.\n\n[Open Workspaces](command:gitlens.showWorkspacesView)",
"media": {
"altText": "Illustrations of Focus and Workspaces view",
"svg": "walkthroughs/welcome/workspaces-focus.svg"
}
},
{
"id": "gitlens.welcome.hostingServiceIntegrations",
"title": "Integrate with Git hosting services",
"description": "Simplify your workflow and quickly gain insights with automatic linking of issues and pull requests across multiple Git hosting services including GitHub, GitHub Enterprise ✨, GitLab, GitLab self-managed ✨, Gitea, Gerrit, Google Source, Bitbucket, Bitbucket Server, Azure DevOps, and custom servers.\n\nAll integration provide automatic linking, while rich integrations with GitHub & GitLab offer detailed hover information for autolinks, and correlations between pull requests, branches, and commits, as well as user avatars for added context.\n\n**Define your own autolinks**\nUse autolinks to linkify external references, like Jira issues or Zendesk tickets, in commit messages.\n\n[Configure Autolinks](command:gitlens.showSettingsPage!autolinks)",
"media": {
"markdown": "walkthroughs/welcome/integrations.md"
}
},
{
"id": "gitlens.welcome.labs",
"title": "Experiment with GitKraken Labs $(beaker)",
"description": "GitKraken Labs is our incubator for experimentation and exploration with the community to gather early reactions and feedback. Below are some of our current experiments.\n**Explain Commit (AI)**\nUse the Explain panel on the [Commit Details view](command:gitlens.showCommitDetailsView) to leverage AI to help you understand the changes introduced by a commit.\n**Automatically Generate Commit Message (AI)**\nUse the [Generate Commit Message](command:workbench.action.quickOpen?%22>GitLens%3A%20Generate%20Commit%20Message%22) command from the Source Control view's context menu to automatically generate a commit message for your staged changes by leveraging AI.",
"media": {
"markdown": "walkthroughs/welcome/labs.md"
}
},
{
"id": "gitlens.welcome.preview",
"title": "Previewing GitKraken Pro",
"description": "During your preview, you have access to ✨ features on privately hosted repos. [Learn more](https://www.gitkraken.com/gitlens/pro-features)\n\n[Start Free GitKraken Trial](command:gitlens.plus.loginOrSignUp)\n\nStart a free GitKraken trial to get an additional 7 days.",
"media": {
"markdown": "walkthroughs/welcome/preview.md"
},
"when": "gitlens:plus:state == 1"
},
{
"id": "gitlens.welcome.trial",
"title": "Trialing GitKraken Pro",
"description": "During your trial, you have access to ✨ features on privately hosted repos and ☁️ features based on the Pro plan. [Learn more](https://www.gitkraken.com/gitlens/pro-features)\n\n[Upgrade to Pro](command:gitlens.plus.purchase)",
"media": {
"markdown": "walkthroughs/welcome/trial.md"
},
"when": "gitlens:plus:state == 3"
},
{
"id": "gitlens.welcome.services",
"title": "Power-up with GitKraken Cloud Services",
"description": "Sign up for access to our developer productivity and collaboration services, e.g. Workspaces, or [sign in](command:gitlens.plus.loginOrSignUp).\n\n[Sign Up](command:gitlens.plus.loginOrSignUp)",
"media": {
"markdown": "walkthroughs/welcome/services.md"
},
"when": "gitlens:plus:state >= 0 && gitlens:plus:state <= 2"
},
{
"id": "gitlens.welcome.additional",
"title": "And More!",
"description": "**Rebase got you down?**\nEasily visualize and configure interactive rebase operations with the intuitive and user-friendly Interactive Rebase Editor\n\n**Trouble remembering Git commands?**\nNow you don't have to with the Git Command Palette — a guided, step-by-step experience to many common Git commands.\n\n[Open Git Command Palette](command:gitlens.gitCommands)\n\n**Terminal your jam?**\nQuickly jump to more details on commits, branches, tags, and more with autolinks in the Integrated Terminal.\n\n**Not sure what you are looking for?**\nOpen the Command Palette and explore the many available commands.\n\n[Open GitLens Commands](command:workbench.action.quickOpen?%22>GitLens%3A%22)",
"media": {
"markdown": "walkthroughs/welcome/additional-features.md"
}
}
]
}
]
},
"scripts": {
"analyze:bundle": "webpack --mode production --env analyzeBundle",
"analyze:deps": "webpack --env analyzeDeps",
"build": "webpack --mode development",
"build:extension": "webpack --mode development --config-name extension:node",
"build:extension:browser": "webpack --mode development --config-name extension:webworker",
"build:webviews": "webpack --mode development --config-name webviews",
"build:icons": "yarn icons:svgo && yarn fantasticon && yarn icons:apply",
"build:tests": "tsc -p tsconfig.test.json && tsc-alias -p tsconfig.test.json",
"-build:tests": "webpack -c webpack.config.test.js --mode development",
"bundle": "webpack --mode production",
"bundle:extension": "webpack --mode production --config-name extension:node",
"clean": "npx rimraf dist out .vscode-test .vscode-test-web .eslintcache* tsconfig*.tsbuildinfo",
"copy:images": "webpack --config webpack.config.images.js",
"graph:link": "yarn link @gitkraken/gitkraken-components",
"graph:link:main": "pushd \"../GitKrakenComponents\" && yarn link && popd && yarn graph:link",
"graph:unlink": "yarn unlink @gitkraken/gitkraken-components && yarn install --force",
"graph:unlink:main": "yarn graph:unlink && pushd \"../GitKrakenComponents\" && yarn unlink && popd",
"icons:apply": "node ./scripts/applyIconsContribution.js",
"icons:svgo": "svgo -q -f ./images/icons/ --config svgo.config.js",
"lint": "eslint \"src/**/*.ts?(x)\"",
"lint:webviews": "eslint \"src/webviews/apps/**/*.ts?(x)\" --fix",
"package": "vsce package --yarn",
"package-pre": "yarn run patch-pre && yarn run package --pre-release",
"patch-pre": "node ./scripts/applyPreReleasePatch.js",
"prep-release": "node ./scripts/prep-release.js",
"pretty": "prettier --config .prettierrc --log-level warn --write .",
"pretty:check": "prettier --config .prettierrc --check .",
"pub": "vsce publish --yarn",
"pub-pre": "vsce publish --yarn --pre-release",
"rebuild": "yarn run reset && yarn run build",
"reset": "yarn run clean && yarn --frozen-lockfile",
"test": "node ./out/test/runTest.js",
"watch": "webpack --watch --mode development",
"watch:extension": "webpack --watch --mode development --config-name extension",
"watch:webviews": "webpack --watch --mode development --config-name webviews",
"watch:tests": "concurrently \"tsc-alias -p tsconfig.test.json -w\" \"tsc -p tsconfig.test.json -w\"",
"-watch:tests": "webpack --watch -c webpack.config.test.js --mode development",
"web": "vscode-test-web --extensionDevelopmentPath=. --folder-uri=vscode-vfs://github/gitkraken/vscode-gitlens",
"web:serve": "node -e \"const p = require('path'); const h = require('os').homedir(); require('child_process').execSync('npx serve --cors -l 5000 --ssl-cert '+p.resolve(h, 'certs/localhost.pem')+' --ssl-key '+p.resolve(h, 'certs/localhost-key.pem'), { stdio: 'inherit' })\"",
"update-dts": "pushd \"src/@types\" && npx vscode-dts dev && popd",
"update-dts:master": "pushd \"src/@types\" && npx vscode-dts master && popd",
"update-emoji": "node ./scripts/generateEmojiShortcodeMap.mjs",
"update-licenses": "node ./scripts/generateLicenses.mjs",
"-pretest": "yarn run build:tests",
"vscode:prepublish": "yarn run bundle"
},
"dependencies": {
"@gitkraken/gitkraken-components": "10.2.5",
"@gitkraken/provider-apis": "0.10.0",
"@gitkraken/shared-web-components": "0.1.1-rc.15",
"@lit/react": "1.0.2",
"@microsoft/fast-element": "1.12.0",
"@octokit/graphql": "7.0.2",
"@octokit/request": "8.1.5",
"@opentelemetry/api": "1.7.0",
"@opentelemetry/exporter-trace-otlp-http": "0.45.1",
"@opentelemetry/sdk-trace-base": "1.18.1",
"@vscode/codicons": "0.0.35",
"@vscode/webview-ui-toolkit": "1.2.2",
"ansi-regex": "6.0.1",
"billboard.js": "3.10.3",
"https-proxy-agent": "5.0.1",
"iconv-lite": "0.6.3",
"lit": "3.1.0",
"node-fetch": "2.7.0",
"os-browserify": "0.3.0",
"path-browserify": "1.0.1",
"react": "16.8.4",
"react-dom": "16.8.4",
"sortablejs": "1.15.0"
},
"devDependencies": {
"@twbs/fantasticon": "2.7.1",
"@types/mocha": "10.0.4",
"@types/node": "16.11.47",
"@types/react": "17.0.71",
"@types/react-dom": "17.0.21",
"@types/sortablejs": "1.15.6",
"@types/vscode": "1.81.0",
"@typescript-eslint/eslint-plugin": "6.12.0",
"@typescript-eslint/parser": "6.12.0",
"@vscode/test-electron": "2.3.6",
"@vscode/test-web": "0.0.48",
"@vscode/vsce": "2.22.0",
"circular-dependency-plugin": "5.2.2",
"clean-webpack-plugin": "4.0.0",
"concurrently": "8.2.2",
"copy-webpack-plugin": "11.0.0",
"csp-html-webpack-plugin": "5.1.0",
"css-loader": "6.8.1",
"css-minimizer-webpack-plugin": "5.0.1",
"cssnano-preset-advanced": "6.0.1",
"esbuild": "0.19.7",
"esbuild-loader": "4.0.2",
"esbuild-sass-plugin": "2.16.0",
"eslint": "8.54.0",
"eslint-cli": "1.1.1",
"eslint-config-prettier": "9.0.0",
"eslint-import-resolver-typescript": "3.6.1",
"eslint-plugin-anti-trojan-source": "1.1.1",
"eslint-plugin-import": "2.29.0",
"eslint-plugin-lit": "1.10.1",
"eslint-plugin-wc": "2.0.4",
"fork-ts-checker-webpack-plugin": "6.5.3",
"glob": "10.3.10",
"html-loader": "4.2.0",
"html-webpack-plugin": "5.5.3",
"image-minimizer-webpack-plugin": "3.8.3",
"license-checker-rseidelsohn": "4.2.10",
"lz-string": "1.5.0",
"mini-css-extract-plugin": "2.7.6",
"mocha": "10.2.0",
"prettier": "3.1.0",
"sass": "1.69.5",
"sass-loader": "13.3.2",
"schema-utils": "4.2.0",
"sharp": "0.32.6",
"svgo": "3.0.4",
"terser-webpack-plugin": "5.3.9",
"ts-loader": "9.5.1",
"tsc-alias": "1.8.8",
"typescript": "5.3.2",
"webpack": "5.89.0",
"webpack-bundle-analyzer": "4.10.1",
"webpack-cli": "5.1.4",
"webpack-node-externals": "3.0.0",
"webpack-require-from": "1.8.6"
},
"resolutions": {
"iconv-lite": "0.6.3",
"node-fetch": "2.7.0",
"semver-regex": "4.0.5"
}
}