Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 

13551 řádky
436 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": "13.4.0",
"engines": {
"vscode": "^1.72.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",
"onCustomEditor:gitlens.rebase",
"onFileSystem:gitlens",
"onView:gitlens.views.home",
"onView:gitlens.views.repositories",
"onView:gitlens.views.commits",
"onView:gitlens.views.fileHistory",
"onView:gitlens.views.lineHistory",
"onView:gitlens.views.branches",
"onView:gitlens.views.remotes",
"onView:gitlens.views.stashes",
"onView:gitlens.views.tags",
"onView:gitlens.views.contributors",
"onView:gitlens.views.searchAndCompare",
"onView:gitlens.views.worktrees",
"onView:gitlens.views.commitDetails",
"onWebviewPanel:gitlens.welcome",
"onWebviewPanel:gitlens.settings",
"onWebviewPanel:gitlens.graph",
"onWebviewPanel:gitlens.focus",
"onCommand:gitlens.plus.learn",
"onCommand:gitlens.plus.loginOrSignUp",
"onCommand:gitlens.plus.logout",
"onCommand:gitlens.plus.startPreviewTrial",
"onCommand:gitlens.plus.manage",
"onCommand:gitlens.plus.purchase",
"onCommand:gitlens.getStarted",
"onCommand:gitlens.showBranchesView",
"onCommand:gitlens.showCommitDetailsView",
"onCommand:gitlens.showCommitsView",
"onCommand:gitlens.showContributorsView",
"onCommand:gitlens.showFileHistoryView",
"onCommand:gitlens.showFocusPage",
"onCommand:gitlens.showGraph",
"onCommand:gitlens.showGraphPage",
"onCommand:gitlens.showGraphView",
"onCommand:gitlens.showHomeView",
"onCommand:gitlens.showLineHistoryView",
"onCommand:gitlens.showRemotesView",
"onCommand:gitlens.showRepositoriesView",
"onCommand:gitlens.showSearchAndCompareView",
"onCommand:gitlens.showSettingsPage",
"onCommand:gitlens.showSettingsPage#views",
"onCommand:gitlens.showSettingsPage#autolinks",
"onCommand:gitlens.showSettingsPage#branches-view",
"onCommand:gitlens.showSettingsPage#commits-view",
"onCommand:gitlens.showSettingsPage#contributors-view",
"onCommand:gitlens.showSettingsPage#file-history-view",
"onCommand:gitlens.showSettingsPage#line-history-view",
"onCommand:gitlens.showSettingsPage#remotes-view",
"onCommand:gitlens.showSettingsPage#repositories-view",
"onCommand:gitlens.showSettingsPage#search-compare-view",
"onCommand:gitlens.showSettingsPage#stashes-view",
"onCommand:gitlens.showSettingsPage#tags-view",
"onCommand:gitlens.showSettingsPage#worktrees-view",
"onCommand:gitlens.showSettingsPage#commit-graph",
"onCommand:gitlens.showStashesView",
"onCommand:gitlens.showTagsView",
"onCommand:gitlens.showTimelineView",
"onCommand:gitlens.showWelcomePage",
"onCommand:gitlens.showWorktreesView",
"onCommand:gitlens.compareWith",
"onCommand:gitlens.compareHeadWith",
"onCommand:gitlens.compareWorkingWith",
"onCommand:gitlens.diffDirectory",
"onCommand:gitlens.diffDirectoryWithHead",
"onCommand:gitlens.diffWithNext",
"onCommand:gitlens.diffWithNextInDiffLeft",
"onCommand:gitlens.diffWithNextInDiffRight",
"onCommand:gitlens.diffWithPrevious",
"onCommand:gitlens.diffWithPreviousInDiffLeft",
"onCommand:gitlens.diffWithPreviousInDiffRight",
"onCommand:gitlens.diffLineWithPrevious",
"onCommand:gitlens.diffWithRevision",
"onCommand:gitlens.diffWithRevisionFrom",
"onCommand:gitlens.diffWithWorking",
"onCommand:gitlens.diffWithWorkingInDiffLeft",
"onCommand:gitlens.diffWithWorkingInDiffRight",
"onCommand:gitlens.diffLineWithWorking",
"onCommand:gitlens.disableRebaseEditor",
"onCommand:gitlens.enableRebaseEditor",
"onCommand:gitlens.toggleFileBlame",
"onCommand:gitlens.toggleFileBlameInDiffLeft",
"onCommand:gitlens.toggleFileBlameInDiffRight",
"onCommand:gitlens.clearFileAnnotations",
"onCommand:gitlens.computingFileAnnotations",
"onCommand:gitlens.toggleFileHeatmap",
"onCommand:gitlens.toggleFileHeatmapInDiffLeft",
"onCommand:gitlens.toggleFileHeatmapInDiffRight",
"onCommand:gitlens.toggleFileChanges",
"onCommand:gitlens.toggleFileChangesOnly",
"onCommand:gitlens.toggleLineBlame",
"onCommand:gitlens.toggleCodeLens",
"onCommand:gitlens.gitCommands",
"onCommand:gitlens.switchMode",
"onCommand:gitlens.toggleReviewMode",
"onCommand:gitlens.toggleZenMode",
"onCommand:gitlens.setViewsLayout",
"onCommand:gitlens.showCommitSearch",
"onCommand:gitlens.revealCommitInView",
"onCommand:gitlens.showCommitInView",
"onCommand:gitlens:showInDetailsView",
"onCommand:gitlens.showCommitsInView",
"onCommand:gitlens.showFileHistoryInView",
"onCommand:gitlens.openFileHistory",
"onCommand:gitlens.openFolderHistory",
"onCommand:gitlens.showQuickCommitDetails",
"onCommand:gitlens.showQuickCommitFileDetails",
"onCommand:gitlens.showQuickRevisionDetails",
"onCommand:gitlens.showQuickRevisionDetailsInDiffLeft",
"onCommand:gitlens.showQuickRevisionDetailsInDiffRight",
"onCommand:gitlens.showQuickFileHistory",
"onCommand:gitlens.quickOpenFileHistory",
"onCommand:gitlens.showQuickBranchHistory",
"onCommand:gitlens.showQuickRepoHistory",
"onCommand:gitlens.showQuickRepoStatus",
"onCommand:gitlens.showQuickStashList",
"onCommand:gitlens.addAuthors",
"onCommand:gitlens.connectRemoteProvider",
"onCommand:gitlens.disconnectRemoteProvider",
"onCommand:gitlens.copyCurrentBranch",
"onCommand:gitlens.copyMessageToClipboard",
"onCommand:gitlens.copyShaToClipboard",
"onCommand:gitlens.copyRelativePathToClipboard",
"onCommand:gitlens.closeUnchangedFiles",
"onCommand:gitlens.openChangedFiles",
"onCommand:gitlens.openBranchesOnRemote",
"onCommand:gitlens.copyRemoteBranchesUrl",
"onCommand:gitlens.openBranchOnRemote",
"onCommand:gitlens.openCurrentBranchOnRemote",
"onCommand:gitlens.copyRemoteBranchUrl",
"onCommand:gitlens.openCommitOnRemote",
"onCommand:gitlens.copyRemoteCommitUrl",
"onCommand:gitlens.openComparisonOnRemote",
"onCommand:gitlens.copyRemoteComparisonUrl",
"onCommand:gitlens.openFileFromRemote",
"onCommand:gitlens.openFileOnRemote",
"onCommand:gitlens.copyRemoteFileUrlToClipboard",
"onCommand:gitlens.copyRemoteFileUrlWithoutRange",
"onCommand:gitlens.openFileOnRemoteFrom",
"onCommand:gitlens.copyRemoteFileUrlFrom",
"onCommand:gitlens.openBlamePriorToChange",
"onCommand:gitlens.openFileRevision",
"onCommand:gitlens.openFileRevisionFrom",
"onCommand:gitlens.openAutolinkUrl",
"onCommand:gitlens.copyAutolinkUrl",
"onCommand:gitlens.openIssueOnRemote",
"onCommand:gitlens.copyRemoteIssueUrl",
"onCommand:gitlens.openPullRequestOnRemote",
"onCommand:gitlens.copyRemotePullRequestUrl",
"onCommand:gitlens.openAssociatedPullRequestOnRemote",
"onCommand:gitlens.openRepoOnRemote",
"onCommand:gitlens.copyRemoteRepositoryUrl",
"onCommand:gitlens.openRevisionFile",
"onCommand:gitlens.openRevisionFileInDiffLeft",
"onCommand:gitlens.openRevisionFileInDiffRight",
"onCommand:gitlens.openWorkingFile",
"onCommand:gitlens.openWorkingFileInDiffLeft",
"onCommand:gitlens.openWorkingFileInDiffRight",
"onCommand:gitlens.stashApply",
"onCommand:gitlens.stashSave",
"onCommand:gitlens.stashSaveFiles",
"onCommand:gitlens.externalDiff",
"onCommand:gitlens.externalDiffAll",
"onCommand:gitlens.resetAvatarCache",
"onCommand:gitlens.resetSuppressedWarnings",
"onCommand:gitlens.resetTrackedUsage",
"onCommand:gitlens.inviteToLiveShare",
"onCommand:gitlens.browseRepoAtRevision",
"onCommand:gitlens.browseRepoAtRevisionInNewWindow",
"onCommand:gitlens.browseRepoBeforeRevision",
"onCommand:gitlens.browseRepoBeforeRevisionInNewWindow",
"onCommand:gitlens.fetchRepositories",
"onCommand:gitlens.pullRepositories",
"onCommand:gitlens.pushRepositories",
"onStartupFinished"
],
"capabilities": {
"virtualWorkspaces": true,
"untrustedWorkspaces": {
"supported": "limited"
}
},
"contributes": {
"configuration": [
{
"id": "current-line-blame",
"title": "Current Line Blame",
"order": 10,
"properties": {
"gitlens.currentLine.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a blame annotation for the current line, by default. Use the `Toggle Line Blame Annotations` command (`gitlens.toggleLineBlame`) to toggle the annotations on and off for the current window",
"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 current line 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 current line 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 current line 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 current line blame annotations for uncommitted changes.",
"scope": "window",
"order": 31
},
"gitlens.currentLine.scrollable": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether the current line blame annotation can be scrolled into view when it is outside the viewport. **NOTE**: Setting this to `false` will inhibit the hovers from showing over the annotation; Set `#gitlens.hovers.currentLine.over#` to `line` to enable the hovers to show anywhere over the line.",
"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 current line 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": 21
},
"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": 22
},
"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.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.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.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.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 when showing the history of a folder",
"scope": "window",
"order": 10
},
"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 to folder history and when `#gitlens.views.fileHistory.files.layout#` is set to `auto`",
"scope": "window",
"order": 11
},
"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 to folder history and when `#gitlens.views.fileHistory.files.layout#` is set to `tree` or `auto`",
"scope": "window",
"order": 12
},
"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": false,
"markdownDescription": "Specifies whether file histories will follow renames — will affect how merge commits are shown in histories",
"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
}
}
},
{
"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.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": 40
},
"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.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.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.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.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": 20
},
"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.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.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.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
},
"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.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.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": "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",
"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 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": 105,
"properties": {
"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",
"tags",
"stashes"
],
"enumDescriptions": [
"Marks the location of local branches",
"Marks the location of remote branches",
"Marks the location of tags",
"Marks the location of stashes"
]
},
"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.experimental.location": {
"type": "string",
"default": "tab",
"enum": [
"tab",
"view"
],
"enumDescriptions": [
"Shows the Commit Graph in an editor tab",
"Shows the Commit Graph in a view (side bar, panel, etc)"
],
"markdownDescription": "Specifies the location in which the _Commit Graph_ will be shown",
"scope": "window",
"order": 99
},
"gitlens.graph.experimental.minimap.enabled": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show an experimental minimap of commit activity above the _Commit Graph_",
"scope": "window",
"order": 100
},
"gitlens.graph.experimental.minimap.additionalTypes": {
"type": "array",
"default": [
"localBranches",
"stashes"
],
"items": {
"type": "string",
"enum": [
"localBranches",
"remoteBranches",
"tags",
"stashes"
],
"enumDescriptions": [
"Marks the location of local branches",
"Marks the location of remote branches",
"Marks the location of tags",
"Marks the location of stashes"
]
},
"minItems": 0,
"maxItems": 4,
"uniqueItems": true,
"markdownDescription": "Specifies additional markers to show on the minimap in the _Commit Graph_",
"scope": "window",
"order": 101
}
}
},
{
"id": "visual-history",
"title": "Visual File History",
"order": 106,
"properties": {
"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"
}
}
},
{
"id": "rebase-editor",
"title": "Interactive Rebase Editor",
"order": 107,
"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": 110,
"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": 111,
"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.allowGuestAccess": {
"type": "boolean",
"default": true,
"description": "Specifies whether to allow guest access to GitLens features when using Visual Studio Live Share",
"scope": "window",
"order": 50
}
}
},
{
"id": "terminal",
"title": "Terminal",
"order": 112,
"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": "date-times",
"title": "Date & Times",
"order": 120,
"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": "menus-toolbars",
"title": "Menus & Toolbars",
"order": 121,
"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"
}
}
}
]
},
"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"
}
}
}
]
},
"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"
},
"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"
},
"stash": {
"type": "boolean"
}
}
}
]
}
},
"additionalProperties": false
}
],
"default": {
"editor": {
"blame": false,
"clipboard": true,
"compare": true,
"history": false,
"remote": false
},
"editorGroup": {
"blame": true,
"compare": true
},
"editorTab": {
"clipboard": true,
"compare": true,
"history": true,
"remote": true
},
"explorer": {
"clipboard": true,
"compare": true,
"history": true,
"remote": true
},
"scm": {
"graph": true
},
"scmRepositoryInline": {
"graph": true
},
"scmRepository": {
"authors": true,
"graph": false
},
"scmGroupInline": {
"stash": true
},
"scmGroup": {
"compare": true,
"openClose": true,
"stash": true
},
"scmItemInline": {},
"scmItem": {
"clipboard": true,
"compare": true,
"history": true,
"remote": false,
"stash": true
}
},
"markdownDescription": "Specifies which commands will be added to which menus",
"scope": "window",
"order": 10
}
}
},
{
"id": "keyboard",
"title": "Keyboard Shortcuts",
"order": 122,
"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": 123,
"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 a 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 a 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 a 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": 1000,
"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 the collection of product usage telemetry",
"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
},
"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"
}
},
"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.experimental.generateCommitMessagePrompt": {
"type": "string",
"default": "Commit messages must have a short description that is less than 50 chars followed by a newline and a more detailed description.\n- Write concisely using an informal tone and avoid specific names from the code",
"markdownDescription": "Specifies the prompt to use to tell OpenAI how to structure or format the generated commit message",
"scope": "window",
"order": 55
},
"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.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 (Quick Setup) 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": "errors",
"enum": [
"silent",
"errors",
"verbose",
"debug"
],
"enumDescriptions": [
"Logs nothing",
"Logs only errors",
"Logs all errors, warnings, and messages",
"Logs all errors, warnings, and messages with extra context useful for debugging"
],
"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 GitLens+ features that are not accessible given the opened repositories and current subscription",
"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": {
"[azure-pipelines]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[ansible]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[css]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[html]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[json]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[jsonc]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[less]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[postcss]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[python]": {
"gitlens.codeLens.symbolScopes": [
"!Module"
]
},
"[scss]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[stylus]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[vue]": {
"gitlens.codeLens.scopes": [
"document"
]
},
"[yaml]": {
"gitlens.codeLens.scopes": [
"document"
]
}
},
"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 blame annotation for the current line",
"defaults": {
"dark": "#00000000",
"light": "#00000000",
"highContrast": "#00000000"
}
},
{
"id": "gitlens.trailingLineForegroundColor",
"description": "Specifies the foreground color of the 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.worktreeView.hasUncommittedChangesForegroundColor",
"description": "Specifies the decoration foreground color for worktrees that have uncommitted changes",
"defaults": {
"light": "#895503",
"dark": "#E2C08D",
"highContrast": "#E2C08D"
}
},
{
"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.resetOpenAIKey",
"title": "Reset Stored OpenAI Key",
"category": "GitLens"
},
{
"command": "gitlens.plus.learn",
"title": "Learn about GitLens+ Features",
"category": "GitLens+"
},
{
"command": "gitlens.plus.loginOrSignUp",
"title": "Sign In to GitLens+...",
"category": "GitLens+"
},
{
"command": "gitlens.plus.logout",
"title": "Sign out of GitLens+",
"category": "GitLens+"
},
{
"command": "gitlens.plus.startPreviewTrial",
"title": "Try GitLens+ Features Now",
"category": "GitLens+"
},
{
"command": "gitlens.plus.manage",
"title": "Manage Your GitLens+ Account...",
"category": "GitLens+"
},
{
"command": "gitlens.plus.purchase",
"title": "Upgrade to GitLens Pro...",
"category": "GitLens+"
},
{
"command": "gitlens.plus.hide",
"title": "Hide GitLens+ Features",
"category": "GitLens+"
},
{
"command": "gitlens.plus.restore",
"title": "Restore GitLens+ 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.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.showFileHistoryView",
"title": "Show File History View",
"category": "GitLens"
},
{
"command": "gitlens.showFocusPage",
"title": "Show Focus View",
"category": "GitLens+",
"icon": "$(layers)"
},
{
"command": "gitlens.showGraph",
"title": "Show Commit Graph",
"category": "GitLens+",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.showGraphPage",
"title": "Show Commit Graph",
"category": "GitLens+",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.showGraphView",
"title": "Show Commit Graph View",
"category": "GitLens+",
"icon": "$(gitlens-graph)"
},
{
"command": "gitlens.showHomeView",
"title": "Show Home View",
"category": "GitLens"
},
{
"command": "gitlens.showInCommitGraph",
"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": "Open Visual File History of Active File",
"category": "GitLens+",
"icon": "$(gitlens-history)"
},
{
"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 (Quick Setup)",
"category": "GitLens"
},
{
"command": "gitlens.showWorktreesView",
"title": "Show Worktrees 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.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.setViewsLayout",
"title": "Set 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.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": "Show Commit",
"category": "GitLens"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"title": "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.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.copyDeepLinkToRepo",
"title": "Copy Link to Repository",
"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.deleteStash",
"title": "Delete Stash...",
"category": "GitLens",
"icon": "$(trash)",
"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.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.revealWorktreeInExplorer",
"title": "Reveal Worktree 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.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": "Toggle Compare with: Branch",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.views.setBranchComparisonToBranch",
"title": "Toggle Compare with: Working Tree",
"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.clearNode",
"title": "Clear",
"category": "GitLens",
"icon": "$(close)"
},
{
"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": "Toggle View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.branches.setLayoutToTree",
"title": "Toggle View: List",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.branches.setFilesLayoutToAuto",
"title": "Toggle Files View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.branches.setFilesLayoutToList",
"title": "Toggle Files View: Auto",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.branches.setFilesLayoutToTree",
"title": "Toggle Files View: List",
"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.commits.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.commits.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.commits.setFilesLayoutToAuto",
"title": "Toggle Files View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.commits.setFilesLayoutToList",
"title": "Toggle Files View: Auto",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.commits.setFilesLayoutToTree",
"title": "Toggle Files View: List",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.commits.setMyCommitsOnlyOn",
"title": "Toggle Filter: All Commits",
"category": "GitLens",
"icon": "$(filter)"
},
{
"command": "gitlens.views.commits.setMyCommitsOnlyOff",
"title": "Toggle Filter: Only My Commits",
"category": "GitLens",
"icon": "$(filter-filled)"
},
{
"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": "Toggle Files View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToList",
"title": "Toggle Files View: Auto",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.contributors.setFilesLayoutToTree",
"title": "Toggle Files View: List",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.contributors.setShowAllBranchesOn",
"title": "Toggle Filter: Only Current Branch",
"category": "GitLens"
},
{
"command": "gitlens.views.contributors.setShowAllBranchesOff",
"title": "Toggle Filter: All Branches",
"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.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": "Toggle History by: File",
"category": "GitLens",
"icon": "$(file)",
"enablement": "gitlens:views:fileHistory:editorFollowing"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOff",
"title": "Toggle History by: Selected Line(s)",
"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": "Toggle Follow Renames: Off",
"category": "GitLens",
"enablement": "!config.gitlens.advanced.fileHistoryShowAllBranches"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOff",
"title": "Toggle Follow Renames: On",
"category": "GitLens",
"enablement": "!config.gitlens.advanced.fileHistoryShowAllBranches"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOn",
"title": "Toggle Filter: Only Current Branch",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOff",
"title": "Toggle Filter: All Branches",
"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.home.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": "Toggle View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.remotes.setLayoutToTree",
"title": "Toggle View: List",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToAuto",
"title": "Toggle Files View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToList",
"title": "Toggle Files View: Auto",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.remotes.setFilesLayoutToTree",
"title": "Toggle Files View: List",
"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": "Toggle Branches View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToTree",
"title": "Toggle Branches View: List",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToAuto",
"title": "Toggle Files View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToList",
"title": "Toggle Files View: Auto",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToTree",
"title": "Toggle Files View: List",
"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.pin",
"title": "Pin",
"category": "GitLens",
"icon": "$(pin)"
},
{
"command": "gitlens.views.searchAndCompare.unpin",
"title": "Unpin",
"category": "GitLens",
"icon": "$(pinned)"
},
{
"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": "Toggle Files View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToList",
"title": "Toggle Files View: Auto",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.searchAndCompare.setFilesLayoutToTree",
"title": "Toggle Files View: List",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.searchAndCompare.setKeepResultsToOn",
"title": "Keep Results",
"category": "GitLens",
"icon": "$(unlock)"
},
{
"command": "gitlens.views.searchAndCompare.setKeepResultsToOff",
"title": "Keep Results",
"category": "GitLens",
"icon": "$(lock)"
},
{
"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": "Toggle Files View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToList",
"title": "Toggle Files View: Auto",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.stashes.setFilesLayoutToTree",
"title": "Toggle Files View: List",
"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": "Toggle View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.tags.setLayoutToTree",
"title": "Toggle View: List",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.tags.setFilesLayoutToAuto",
"title": "Toggle Files View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.tags.setFilesLayoutToList",
"title": "Toggle Files View: Auto",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.tags.setFilesLayoutToTree",
"title": "Toggle Files View: List",
"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.openInTab",
"title": "Open in Editor Area",
"category": "GitLens",
"icon": "$(link-external)"
},
{
"command": "gitlens.views.timeline.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": "Toggle Files View: Tree",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToList",
"title": "Toggle Files View: Auto",
"category": "GitLens",
"icon": "$(gitlens-list-auto)"
},
{
"command": "gitlens.views.worktrees.setFilesLayoutToTree",
"title": "Toggle Files View: List",
"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.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.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.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.deleteStash",
"title": "Delete Stash...",
"category": "GitLens",
"icon": "$(trash)",
"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.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",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnAuthorOff",
"title": "Hide Author",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnDateTimeOn",
"title": "Show Date",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnDateTimeOff",
"title": "Hide Date",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnShaOn",
"title": "Show SHA",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnShaOff",
"title": "Hide SHA",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnChangesOn",
"title": "Show Changes",
"category": "GitLens"
},
{
"command": "gitlens.graph.columnChangesOff",
"title": "Hide Changes",
"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"
}
}
},
"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:plus"
},
{
"command": "gitlens.plus.refreshRepositoryAccess",
"when": "gitlens:plus"
},
{
"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.showFileHistoryView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showFocusPage",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showGraph",
"when": "false"
},
{
"command": "gitlens.showGraphPage",
"when": "gitlens:enabled && config.gitlens.graph.experimental.location == tab"
},
{
"command": "gitlens.showGraphView",
"when": "gitlens:enabled && config.gitlens.graph.experimental.location == view"
},
{
"command": "gitlens.showHomeView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showInCommitGraph",
"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 && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.showTimelineView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showWorktreesView",
"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.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.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.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.copyDeepLinkToRepo",
"when": "gitlens:enabled"
},
{
"command": "gitlens.copyDeepLinkToTag",
"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.deleteStash",
"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.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.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.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.clearNode",
"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.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.setMyCommitsOnlyOn",
"when": "false"
},
{
"command": "gitlens.views.commits.setMyCommitsOnlyOff",
"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.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.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.home.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.pin",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.unpin",
"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.searchAndCompare.setKeepResultsToOn",
"when": "false"
},
{
"command": "gitlens.views.searchAndCompare.setKeepResultsToOff",
"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.openInTab",
"when": "false"
},
{
"command": "gitlens.views.timeline.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.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.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.revert",
"when": "false"
},
{
"command": "gitlens.graph.switchToCommit",
"when": "false"
},
{
"command": "gitlens.graph.undoCommit",
"when": "false"
},
{
"command": "gitlens.graph.applyStash",
"when": "false"
},
{
"command": "gitlens.graph.deleteStash",
"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.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.columnChangesOn",
"when": "false"
},
{
"command": "gitlens.graph.columnChangesOff",
"when": "false"
},
{
"command": "gitlens.enableDebugLogging",
"when": "config.gitlens.outputLevel != debug"
},
{
"command": "gitlens.disableDebugLogging",
"when": "config.gitlens.outputLevel != errors"
},
{
"command": "gitlens.generateCommitMessage",
"when": "gitlens:enabled"
},
{
"command": "gitlens.resetOpenAIKey",
"when": "gitlens:enabled"
}
],
"editor/context": [
{
"submenu": "gitlens/editor/context/changes",
"when": "editorTextFocus && config.gitlens.menus.editor.compare && resourceScheme != output",
"group": "2_gitlens@1"
},
{
"command": "gitlens.openCommitOnRemote",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote && resourceScheme != output",
"group": "2_gitlens@2",
"alt": "gitlens.copyRemoteCommitUrl"
},
{
"command": "gitlens.openFileOnRemote",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote && resourceScheme != output",
"group": "2_gitlens@3",
"alt": "gitlens.copyRemoteFileUrlToClipboard"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote && resourceScheme != output",
"group": "2_gitlens@4",
"alt": "gitlens.copyRemoteFileUrlFrom"
},
{
"command": "gitlens.openFileHistory",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history && resourceScheme != output",
"group": "2_gitlens_1@1"
},
{
"command": "gitlens.quickOpenFileHistory",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history && resourceScheme != output",
"group": "2_gitlens_1@2"
},
{
"submenu": "gitlens/editor/annotations",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.blame && resourceScheme != output",
"group": "2_gitlens_2@1"
}
],
"editor/context/copy": [
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && resourceScheme != output",
"group": "1_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && resourceScheme != output",
"group": "1_gitlens@2"
},
{
"command": "gitlens.copyRemoteCommitUrl",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && resourceScheme != output",
"group": "1_gitlens@3"
},
{
"command": "gitlens.copyRelativePathToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && resourceScheme != output",
"group": "2_gitlens@1"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && resourceScheme != output",
"group": "3_gitlens@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard && resourceScheme != output",
"group": "3_gitlens@2"
}
],
"editor/title": [
{
"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": "gitlens:webview:timeline:active",
"group": "navigation@-99"
},
{
"command": "gitlens.graph.push",
"when": "gitlens:webview:graph:active && gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders",
"group": "navigation@-103"
},
{
"command": "gitlens.graph.pull",
"when": "gitlens:webview:graph:active && gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders",
"group": "navigation@-102"
},
{
"command": "gitlens.graph.fetch",
"when": "gitlens:webview:graph:active && gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders",
"group": "navigation@-101"
},
{
"command": "gitlens.graph.switchToAnotherBranch",
"when": "gitlens:webview:graph:active && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders",
"group": "navigation@-100"
},
{
"command": "gitlens.graph.refresh",
"when": "gitlens:webview:graph:active",
"group": "navigation@-99"
},
{
"command": "gitlens.showSettingsPage#commit-graph",
"when": "gitlens:webview:graph:active",
"group": "navigation@-98"
},
{
"command": "gitlens.focus.refresh",
"when": "gitlens:focus:focused",
"group": "navigation@-98"
}
],
"editor/title/context": [
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.editorTab.clipboard && isFileSystemResource",
"group": "1_cutcopypaste@100"
},
{
"submenu": "gitlens/editor/changes",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.compare && isFileSystemResource",
"group": "2_gitlens@0"
},
{
"command": "gitlens.openWorkingFile",
"when": "resourceScheme == gitlens && isFileSystemResource",
"group": "2_gitlens@1"
},
{
"command": "gitlens.openFileOnRemote",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.editorTab.remote && isFileSystemResource",
"group": "2_gitlens@2",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.editorTab.remote && isFileSystemResource",
"group": "2_gitlens@3",
"alt": "gitlens.copyRemoteFileUrlFrom"
},
{
"command": "gitlens.openFileHistory",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.history && isFileSystemResource",
"group": "2_gitlens_1@1"
},
{
"command": "gitlens.quickOpenFileHistory",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.history && isFileSystemResource",
"group": "2_gitlens_1@2"
}
],
"explorer/context": [
{
"submenu": "gitlens/explorer/changes",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.compare",
"group": "4_gitlens@0"
},
{
"command": "gitlens.openFileOnRemote",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.remote",
"group": "4_gitlens@1",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.remote",
"group": "4_gitlens@2",
"alt": "gitlens.copyRemoteFileUrlFrom"
},
{
"command": "gitlens.openFolderHistory",
"when": "explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.history",
"group": "4_timeline@2"
},
{
"command": "gitlens.openFileHistory",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.history",
"group": "4_timeline@2"
},
{
"command": "gitlens.quickOpenFileHistory",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.history",
"group": "4_timeline@3"
},
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.clipboard",
"group": "6_copypath@100"
}
],
"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"
}
],
"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 && config.gitlens.menus.scmRepository.authors && scmProvider == git",
"group": "2_z_gitlens@1"
},
{
"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@2"
}
],
"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"
}
],
"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"
},
{
"command": "gitlens.openFileOnRemote",
"when": "gitlens:enabled && gitlens:hasRemotes && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.remote",
"group": "navigation@96",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"when": "gitlens:enabled && gitlens:hasRemotes && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.remote",
"group": "navigation@97",
"alt": "gitlens.copyRemoteFileUrlFrom"
},
{
"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"
},
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "gitlens:enabled && gitlens:hasRemotes && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.clipboard",
"group": "2_gitlens@1"
},
{
"command": "gitlens.openFileHistory",
"when": "gitlens:enabled && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.history",
"group": "4_timeline@2"
},
{
"command": "gitlens.quickOpenFileHistory",
"when": "gitlens:enabled && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.history",
"group": "4_timeline@3"
}
],
"timeline/item/context": [
{
"command": "gitlens.openCommitOnRemote",
"when": "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.commits.setMyCommitsOnlyOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && gitlens:views:commits:myCommitsOnly",
"group": "navigation@50"
},
{
"command": "gitlens.views.commits.refresh",
"when": "view =~ /^gitlens\\.views\\.commits/",
"group": "navigation@99"
},
{
"command": "gitlens.views.commits.setMyCommitsOnlyOn",
"when": "view =~ /^gitlens\\.views\\.commits/ && !gitlens:views:commits:myCommitsOnly",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.commits.setMyCommitsOnlyOff",
"when": "view =~ /^gitlens\\.views\\.commits/ && gitlens:views:commits:myCommitsOnly",
"group": "3_gitlens@0"
},
{
"command": "gitlens.views.commits.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.commits/ && config.gitlens.views.commits.files.layout == tree",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.commits.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.commits/ && config.gitlens.views.commits.files.layout == auto",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.commits.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.commits/ && config.gitlens.views.commits.files.layout == list",
"group": "3_gitlens@1"
},
{
"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.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.fileHistoryShowAllBranches",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing && !config.gitlens.advanced.fileHistoryShowAllBranches && !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.fileHistoryShowAllBranches && config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing && !config.gitlens.advanced.fileHistoryShowAllBranches",
"group": "3_gitlens@2"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory/ && !gitlens:views:fileHistory:cursorFollowing && config.gitlens.advanced.fileHistoryShowAllBranches",
"group": "3_gitlens@2"
},
{
"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.home.refresh",
"when": "view =~ /^gitlens\\.views\\.home/",
"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.setKeepResultsToOn",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/ && !gitlens:views:searchAndCompare:keepResults",
"group": "navigation@12"
},
{
"command": "gitlens.views.searchAndCompare.setKeepResultsToOff",
"when": "view =~ /^gitlens\\.views\\.searchAndCompare\\b/ && gitlens:views:searchAndCompare:keepResults",
"group": "navigation@13"
},
{
"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.openInTab",
"when": "view =~ /^gitlens\\.views\\.timeline/",
"group": "navigation@98"
},
{
"command": "gitlens.views.timeline.refresh",
"when": "view =~ /^gitlens\\.views\\.timeline/",
"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"
},
{
"command": "gitlens.graph.refresh",
"when": "view =~ /^gitlens\\.views\\.graph/",
"group": "navigation@-99"
},
{
"command": "gitlens.showSettingsPage#commit-graph",
"when": "view =~ /^gitlens\\.views\\.graph/",
"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.views.switchToAnotherBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branches\\b/",
"group": "inline@10"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branches\\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/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branches\\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)/",
"group": "inline@7"
},
{
"command": "gitlens.views.switchToAnotherBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\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)/",
"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)/",
"group": "inline@8"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+behind\\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)/",
"group": "inline@8"
},
{
"command": "gitlens.views.createPullRequest",
"when": "gitlens:hasRemotes && gitlens:action:createPullRequest && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(tracking|remote)\\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)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.switchToBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.mergeBranchInto",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.rebaseOntoBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.rebaseOntoUpstream",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+tracking\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.renameBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.views.deleteBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@6"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions_@7"
},
{
"command": "gitlens.views.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions_@8"
},
{
"command": "gitlens.views.createWorktree",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions_@9"
},
{
"command": "gitlens.views.createPullRequest",
"when": "gitlens:hasRemotes && gitlens:action:createPullRequest && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(tracking|remote)\\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\\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/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.resetCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.views.rebaseOntoCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions@6"
},
{
"command": "gitlens.views.switchToCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\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.views.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions_1@2"
},
{
"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/",
"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|remote|repo-folder|repository|stash|tag|file\\b(?=.*?\\b\\+committed\\b))\\b/",
"group": "6_gitlens_share@1"
},
{
"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@2"
},
{
"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@3"
},
{
"command": "gitlens.views.openFileRevision",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+(committed|stashed)\\b)|:results)/",
"group": "2_gitlens_quickopen@4"
},
{
"command": "gitlens.openFileOnRemote",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results)/ && gitlens:hasRemotes",
"group": "2_gitlens_quickopen@5",
"alt": "gitlens.copyRemoteFileUrlWithoutRange"
},
{
"command": "gitlens.openFileHistory",
"when": "view != gitlens.views.fileHistory && viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens_quickopen@6"
},
{
"submenu": "gitlens/commit/file/commit",
"when": "view =~ /^gitlens\\.views\\.(fileHistory|lineHistory)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "3_gitlens_explore@1"
},
{
"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.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\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/",
"group": "inline@97"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b/",
"group": "inline@98"
},
{
"command": "gitlens.views.star",
"when": "viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+starred\\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/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pushWithForce",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\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.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/",
"group": "1_gitlens_actions_1@1"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:repository\\b/",
"group": "1_gitlens_actions_1@2"
},
{
"command": "gitlens.views.star",
"when": "viewItem =~ /gitlens:repository\\b(?!.*?\\b\\+starred\\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/",
"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.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.publishRepository",
"when": "!gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status(\\-branch)?:upstream: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: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:(?!none)/",
"group": "inline@2"
},
{
"command": "gitlens.views.createPullRequest",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:action:createPullRequest && viewItem =~ /gitlens:status:upstream:(?!none)/",
"group": "inline@3"
},
{
"command": "gitlens.openBranchOnRemote",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status:upstream:(?!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:(?!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:(?!none)/",
"group": "1_gitlens_secondary_actions@3"
},
{
"command": "gitlens.openBranchOnRemote",
"when": "gitlens:hasRemotes && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:status:upstream:(?!none)/",
"group": "2_gitlens_quickopen@1",
"alt": "gitlens.copyRemoteBranchUrl"
},
{
"command": "gitlens.views.dismissNode",
"when": "viewItem =~ /gitlens:(compare:picker|(compare|search):results(?!:)\\b(?!.*?\\b\\+pinned\\b))\\b(?!:(commits|files))/",
"group": "inline@99"
},
{
"command": "gitlens.views.clearNode",
"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@98"
},
{
"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.editNode",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.setBranchComparisonToWorking",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+root\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+branch\\b)/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.setBranchComparisonToBranch",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+root\\b)(?=.*?\\b\\+current\\b)(?=.*?\\b\\+working\\b)/",
"group": "1_gitlens@2"
},
{
"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.clearNode",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.views.searchAndCompare.swapComparison",
"when": "viewItem =~ /gitlens:compare:results(?!:)\\b/",
"group": "inline@1"
},
{
"submenu": "gitlens/view/searchAndCompare/comparison/filter",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filterable\\b)(?!.*?\\b\\+filtered\\b)/",
"group": "inline@1"
},
{
"submenu": "gitlens/view/searchAndCompare/comparison/filtered",
"when": "viewItem =~ /gitlens:results:files\\b(?=.*?\\b\\+filterable\\b)(?=.*?\\b\\+filtered\\b)/",
"group": "inline@1"
},
{
"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.searchAndCompare.pin",
"when": "viewItem =~ /gitlens:(compare|search):results(?!:)\\b(?!.*?\\b\\+pinned\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.views.searchAndCompare.unpin",
"when": "viewItem =~ /gitlens:(compare|search):results(?!:)\\b(?=.*?\\b\\+pinned\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.views.searchAndCompare.swapComparison",
"when": "viewItem =~ /gitlens:compare:results(?!:)\\b(?!.*?\\b\\+working\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.openDirectoryDiff",
"when": "viewItem =~ /gitlens:compare:results(?!:)\\b/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.views.searchAndCompare.pin",
"when": "viewItem =~ /gitlens:(compare|search):results(?!:)\\b(?!.*?\\b\\+pinned\\b)/",
"group": "8_gitlens_actions@1"
},
{
"command": "gitlens.views.searchAndCompare.unpin",
"when": "viewItem =~ /gitlens:(compare|search):results(?!:)\\b(?=.*?\\b\\+pinned\\b)/",
"group": "8_gitlens_actions@1"
},
{
"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/",
"group": "inline@99",
"alt": "gitlens.copyRemoteComparisonUrl"
},
{
"command": "gitlens.openComparisonOnRemote",
"when": "viewItem =~ /gitlens:compare:results:commits\\b/",
"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.deleteStash",
"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.deleteStash",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem == gitlens:stash",
"group": "1_gitlens_actions@2"
},
{
"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|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\\+pinned\\b))\\b(?!:(commits|files))/",
"group": "8_gitlens_actions@98"
},
{
"command": "gitlens.views.expandNode",
"when": "viewItem =~ /gitlens:(branch|compare|folder|results|search|status)\\b/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.views.refreshNode",
"when": "viewItem =~ /gitlens:(?!(file|message|date-marker)\\b)/",
"group": "9_gitlens@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/",
"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.mergeBranchInto",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.graph.rebaseOntoBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@4"
},
{
"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@4"
},
{
"command": "gitlens.graph.renameBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.graph.deleteBranch",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@6"
},
{
"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.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.graph.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions_1@2"
},
{
"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|stash|tag)\\b/",
"group": "6_gitlens_share@1"
},
{
"submenu": "gitlens/commit/copy",
"when": "webviewItem =~ /gitlens:(branch|commit|stash|tag)\\b/",
"group": "7_gitlens_cutcopypaste@2"
},
{
"command": "gitlens.graph.applyStash",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem == gitlens:stash",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.graph.deleteStash",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && webviewItem == gitlens:stash",
"group": "1_gitlens_actions@2"
},
{
"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"
},
{
"command": "gitlens.graph.columnAuthorOn",
"when": "webviewItem =~ /gitlens:graph:columns\\b/ && webviewItemValue =~ /\\bauthor\\b/",
"group": "1_columns@1"
},
{
"command": "gitlens.graph.columnAuthorOff",
"when": "webviewItem =~ /gitlens:graph:columns\\b/ && webviewItemValue =~ /^(?:(?!\\bauthor\\b).)*$/",
"group": "1_columns@1"
},
{
"command": "gitlens.graph.columnChangesOn",
"when": "webviewItem =~ /gitlens:graph:columns\\b/ && webviewItemValue =~ /\\bchanges\\b/",
"group": "1_columns@2"
},
{
"command": "gitlens.graph.columnChangesOff",
"when": "webviewItem =~ /gitlens:graph:columns\\b/ && webviewItemValue =~ /^(?:(?!\\bchanges\\b).)*$/",
"group": "1_columns@2"
},
{
"command": "gitlens.graph.columnDateTimeOn",
"when": "webviewItem =~ /gitlens:graph:columns\\b/ && webviewItemValue =~ /\\bdatetime\\b/",
"group": "1_columns@3"
},
{
"command": "gitlens.graph.columnDateTimeOff",
"when": "webviewItem =~ /gitlens:graph:columns\\b/ && webviewItemValue =~ /^(?:(?!\\bdatetime\\b).)*$/",
"group": "1_columns@3"
},
{
"command": "gitlens.graph.columnShaOn",
"when": "webviewItem =~ /gitlens:graph:columns\\b/ && webviewItemValue =~ /\\bsha\\b/",
"group": "1_columns@4"
},
{
"command": "gitlens.graph.columnShaOff",
"when": "webviewItem =~ /gitlens:graph:columns\\b/ && webviewItemValue =~ /^(?:(?!\\bsha\\b).)*$/",
"group": "1_columns@4"
}
],
"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:(?!(remote|repo-folder|repository|stash)\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "viewItem =~ /gitlens:(?!(remote|repo-folder|repository)\\b)/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.copyRemoteCommitUrl",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:(commit|file\\b(?=.*?\\b\\+committed\\b))/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.copyRemoteBranchUrl",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:branch/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.copyRemoteRepositoryUrl",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:(remote|repo-folder|repository)\\b/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "gitlens:hasRemotes && viewItem =~ /gitlens:(file\\b(?=.*?\\b\\+committed\\b)|history:(file|line)|status:file)\\b/",
"group": "3_gitlens@2"
},
{
"command": "gitlens.copyRelativePathToClipboard",
"when": "viewItem =~ /gitlens:(file)\\b/",
"group": "2_gitlens@1"
},
{
"command": "gitlens.graph.copySha",
"when": "webviewItem =~ /gitlens:(?!stash\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.graph.copyMessage",
"when": "webviewItem",
"group": "1_gitlens@2"
},
{
"command": "gitlens.graph.copyRemoteCommitUrl",
"when": "gitlens:hasRemotes && webviewItem =~ /gitlens:commit/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.graph.copyRemoteBranchUrl",
"when": "gitlens:hasRemotes && webviewItem =~ /gitlens:branch/",
"group": "3_gitlens@1"
}
],
"gitlens/share": [
{
"command": "gitlens.copyDeepLinkToBranch",
"when": "viewItem =~ /gitlens:branch\\b/",
"group": "2_gitlens@3"
},
{
"command": "gitlens.copyDeepLinkToCommit",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "2_gitlens@3"
},
{
"command": "gitlens.copyDeepLinkToRepo",
"when": "viewItem =~ /gitlens:(remote|repo-folder|repository)\\b/",
"group": "2_gitlens@3"
},
{
"command": "gitlens.copyDeepLinkToTag",
"when": "viewItem =~ /gitlens:tag\\b/",
"group": "2_gitlens@3"
},
{
"command": "gitlens.graph.copyDeepLinkToBranch",
"when": "webviewItem =~ /gitlens:branch\\b/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.graph.copyDeepLinkToCommit",
"when": "webviewItem =~ /gitlens:commit\\b/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.graph.copyDeepLinkToRepo",
"when": "webviewItem =~ /gitlens:branch\\b(?=.*?\\b\\+remote\\b)(?!.*?\\b\\+current\\b)/",
"group": "3_gitlens@2"
},
{
"command": "gitlens.graph.copyDeepLinkToTag",
"when": "webviewItem =~ /gitlens:tag\\b/",
"group": "3_gitlens@1"
}
],
"gitlens/commit/changes": [
{
"command": "gitlens.views.openChangedFileDiffs",
"when": "viewItem =~ /gitlens:(commit|stash|results:files)\\b/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.views.openChangedFileDiffsWithWorking",
"when": "viewItem =~ /gitlens:(commit|stash|results:files)\\b/",
"group": "2_gitlens_quickopen@2"
},
{
"command": "gitlens.views.openChangedFiles",
"when": "viewItem =~ /gitlens:(commit|stash|results:files)\\b/",
"group": "2_gitlens_quickopen_1@1"
},
{
"command": "gitlens.views.openChangedFileRevisions",
"when": "viewItem =~ /gitlens:(commit|stash|results:files)\\b/",
"group": "2_gitlens_quickopen_1@2"
}
],
"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.views.createTag",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "1_gitlens_secondary_actions@2"
}
],
"gitlens/commit/file/changes": [
{
"command": "gitlens.views.openChangesWithWorking",
"when": "viewItem =~ /gitlens:file\\b(?!.*?\\b\\+conflicted\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.openPreviousChangesWithWorking",
"when": "viewItem =~ /gitlens:file\\b(?!.*?\\b\\+(conflicted|stashed|staged|unstaged)\\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@5"
},
{
"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/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.diffWithPrevious",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffWithWorking",
"when": "resourceScheme == gitlens",
"group": "1_gitlens@2"
},
{
"command": "gitlens.diffLineWithPrevious",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/",
"group": "1_gitlens@3"
},
{
"command": "gitlens.diffLineWithWorking",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/",
"group": "1_gitlens@4"
},
{
"command": "gitlens.diffWithRevision",
"group": "2_gitlens@1"
},
{
"command": "gitlens.diffWithRevisionFrom",
"group": "2_gitlens@2"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"group": "3_gitlens@1"
},
{
"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/changes": [
{
"command": "gitlens.diffWithPrevious",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffWithWorking",
"when": "resourceScheme == gitlens",
"group": "1_gitlens@2"
},
{
"command": "gitlens.diffWithRevision",
"group": "2_gitlens@1"
},
{
"command": "gitlens.diffWithRevisionFrom",
"group": "2_gitlens@2"
}
],
"gitlens/explorer/changes": [
{
"command": "gitlens.diffWithPrevious",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffWithRevision",
"group": "2_gitlens@1"
},
{
"command": "gitlens.diffWithRevisionFrom",
"group": "2_gitlens@2"
}
],
"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.externalDiff",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.compare",
"group": "navigation"
},
{
"command": "gitlens.diffWithRevision",
"when": "!gitlens:hasVirtualFolders && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.compare",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffWithRevisionFrom",
"when": "!gitlens:hasVirtualFolders && scmProvider == git && scmResourceGroup =~ /^(workingTree|index|merge)$/ && config.gitlens.menus.scmItem.compare",
"group": "1_gitlens@2"
}
],
"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/view/searchAndCompare/comparison/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/view/searchAndCompare/comparison/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"
}
]
},
"submenus": [
{
"id": "gitlens/commit/browse",
"label": "Browse"
},
{
"id": "gitlens/commit/copy",
"label": "Copy As"
},
{
"id": "gitlens/commit/changes",
"label": "Open Changes"
},
{
"id": "gitlens/commit/file/copy",
"label": "Copy As"
},
{
"id": "gitlens/commit/file/commit",
"label": "Commit"
},
{
"id": "gitlens/commit/file/changes",
"label": "Open Changes"
},
{
"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": "Commit Changes"
},
{
"id": "gitlens/editor/changes",
"label": "Commit Changes"
},
{
"id": "gitlens/explorer/changes",
"label": "Commit Changes"
},
{
"id": "gitlens/scm/resourceGroup/changes",
"label": "Open Changes"
},
{
"id": "gitlens/scm/resourceState/changes",
"label": "Open Changes"
},
{
"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/view/searchAndCompare/comparison/filter",
"label": "Filter",
"icon": "$(filter)"
},
{
"id": "gitlens/view/searchAndCompare/comparison/filtered",
"label": "Filter",
"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.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/"
}
],
"customEditors": [
{
"viewType": "gitlens.rebase",
"displayName": "GitLens Interactive Rebase Editor",
"selector": [
{
"filenamePattern": "git-rebase-todo"
}
]
}
],
"resourceLabelFormatters": [
{
"scheme": "gitlens",
"authority": "*",
"formatting": {
"label": "${path} (${query.ref})",
"separator": "/",
"workspaceSuffix": "GitLens",
"stripPathStartingSeparator": true
}
}
],
"viewsContainers": {
"activitybar": [
{
"id": "gitlens",
"title": "GitLens",
"icon": "$(gitlens-gitlens)"
}
],
"panel": [
{
"id": "gitlensPanel",
"title": "GitLens",
"icon": "$(gitlens-gitlens)"
}
]
},
"viewsWelcome": [
{
"view": "gitlens.views.searchAndCompare",
"contents": "Search for commits by [message](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22pattern%22%3A%22message%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), [author](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22pattern%22%3A%22author%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), [SHA](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22pattern%22%3A%22commit%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), [file](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22pattern%22%3A%22file%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), or [changes](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22pattern%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%22pattern%22%3A%22message%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), [author](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22pattern%22%3A%22author%3A%22%7D%2C%22prefillOnly%22%3Atrue%7D), or [SHA](command:gitlens.views.searchAndCompare.searchCommits?%7B%22search%22%3A%7B%22pattern%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.worktrees",
"contents": "Worktrees, a [✨ GitLens+ feature](command:gitlens.plus.learn \"Learn more about GitLens+ features\"), 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."
},
{
"view": "gitlens.views.worktrees",
"contents": "[Create Worktree...](command:gitlens.views.createWorktree)",
"when": "!gitlens:plus:required"
},
{
"view": "gitlens.views.worktrees",
"contents": "Please verify your email\n\nTo use Worktrees, please verify your email address.\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": "[Try worktrees on private repos](command:gitlens.plus.startPreviewTrial)\n\nTo use worktrees and other [GitLens+ features](command:gitlens.plus.learn) on private repos, start a free trial of GitLens Pro, without an account, or [sign in](command:gitlens.plus.loginOrSignUp).",
"when": "gitlens:plus:required && gitlens:plus:state == 0"
},
{
"view": "gitlens.views.worktrees",
"contents": "[Extend Pro Trial](command:gitlens.plus.loginOrSignUp)\n\nYour free 3-day GitLens Pro trial has ended, extend your trial to get an additional 7-days of worktrees and other [GitLens+ features](command:gitlens.plus.learn) on private repos.",
"when": "gitlens:plus:required && gitlens:plus:state == 2"
},
{
"view": "gitlens.views.worktrees",
"contents": "[Upgrade to Pro](command:gitlens.plus.purchase)\n\nYour GitLens Pro trial has ended, please upgrade to GitLens Pro to continue to use worktrees and other [GitLens+ features](command:gitlens.plus.learn) on private repos.",
"when": "gitlens:plus:required && gitlens:plus:state == 4"
}
],
"views": {
"gitlens": [
{
"type": "webview",
"id": "gitlens.views.home",
"name": "Home",
"contextualTitle": "GitLens",
"icon": "$(gitlens-gitlens)",
"visibility": "visible",
"initialSize": 5
},
{
"type": "webview",
"id": "gitlens.views.graph",
"name": "Commit Graph",
"when": "!gitlens:disabled && gitlens:plus:enabled && config.gitlens.graph.experimental.location == view",
"contextualTitle": "GitLens",
"icon": "$(gitlens-graph)",
"visibility": "collapsed"
},
{
"id": "gitlens.views.contributors",
"name": "Contributors",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-contributors-view)",
"visibility": "visible",
"initialSize": 1
}
],
"gitlensPanel": [
{
"type": "webview",
"id": "gitlens.views.timeline",
"name": "Visual File History",
"when": "!gitlens:disabled && gitlens:plus:enabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-history-view)",
"visibility": "visible"
}
],
"scm": [
{
"id": "gitlens.views.repositories",
"name": "Repositories",
"when": "!gitlens:disabled && !gitlens:hasVirtualFolders",
"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"
},
{
"type": "webview",
"id": "gitlens.views.commitDetails",
"name": "Commit Details",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-commit-view)",
"visibility": "visible"
},
{
"id": "gitlens.views.fileHistory",
"name": "File History",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-history-view)",
"visibility": "visible"
},
{
"id": "gitlens.views.lineHistory",
"name": "Line History",
"when": "!gitlens:disabled && !gitlens:hasVirtualFolders",
"contextualTitle": "GitLens",
"icon": "$(gitlens-history-view)",
"visibility": "hidden"
},
{
"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.searchAndCompare",
"name": "Search & Compare",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "$(gitlens-search-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": "Watch Tutorial",
"description": "Sit back and watch the Getting Started video.\n\n[Watch Tutorial Video](https://www.youtube.com/watch?v=UQPb73Zz9qk \"Watch the Getting Started video\")",
"media": {
"markdown": "walkthroughs/getting-started/0-tutorial.md"
}
},
{
"id": "gitlens.welcome.experience",
"title": "Get setup quickly",
"description": "Use the Quick Setup to easily configure frequently used GitLens features.\n\n[Open Quick Setup](command:gitlens.showWelcomePage?%22quick-setup%22 \"Opens the GitLens Quick Setup\")",
"media": {
"markdown": "walkthroughs/getting-started/1-setup.md"
}
},
{
"id": "gitlens.welcome.settings",
"title": "Easily customize every aspect of GitLens",
"description": "A rich, interactive settings editor enables seemingly endless customization possibilities.\n\n[Open Settings](command:gitlens.showSettingsPage \"Opens the GitLens Interactive Settings\")",
"media": {
"markdown": "walkthroughs/getting-started/2-customize.md"
}
},
{
"id": "gitlens.welcome.currentLineBlame",
"title": "See who made what changes at a glance",
"description": "Current line and status bar blame provide historical context about line changes.",
"media": {
"markdown": "walkthroughs/getting-started/3-current-line-blame.md"
}
},
{
"id": "gitlens.welcome.gitCodeLens",
"title": "View Git authorship via CodeLens",
"description": "CodeLens adds contextual authorship information and links at the top of each file and at the beginning of each block of code.",
"media": {
"markdown": "walkthroughs/getting-started/4-git-codelens.md"
}
},
{
"id": "gitlens.welcome.revisionHistory",
"title": "Easily navigate revision history",
"description": "",
"media": {
"markdown": "walkthroughs/getting-started/5-revision-history.md"
}
},
{
"id": "gitlens.welcome.fileAnnotations",
"title": "See more context with file annotations",
"description": "Whole file annotations place visual indicators in the gutter and scroll bar that provide additional context about changes.",
"media": {
"markdown": "walkthroughs/getting-started/6-file-annotations.md"
}
},
{
"id": "gitlens.welcome.gitSideBarViews",
"title": "Explore repositories from the side bar",
"description": "Rich views expose even more Git functionality in your side bar.\n\n[Set Views Layout](command:gitlens.setViewsLayout)",
"media": {
"markdown": "walkthroughs/getting-started/7-git-side-bar-views.md"
}
},
{
"id": "gitlens.welcome.hostingServiceIntegrations",
"title": "Integrate with Git hosting services",
"description": "Quickly gain insights from pull requests and issues without leaving your editor.",
"media": {
"markdown": "walkthroughs/getting-started/8-hosting-service-integrations.md"
}
},
{
"id": "gitlens.welcome.gitCommandPalette",
"title": "Work faster with Git Command Palette",
"description": "Now you don't have to remember all those Git commands.\n\n[Open Git Command Palette](command:gitlens.gitCommands)",
"media": {
"markdown": "walkthroughs/getting-started/9-git-command-palette.md"
}
},
{
"id": "gitlens.welcome.interactiveRebaseEditor",
"title": "Visualize interactive rebase operations",
"description": "A user-friendly interactive rebase editor to easily configure an interactive rebase session",
"media": {
"markdown": "walkthroughs/getting-started/10-interactive-rebase-editor.md"
}
},
{
"id": "gitlens.welcome.terminal",
"title": "Jump to git details from the terminal",
"description": "Using ctrl/cmd+click on autolinks in the integrated terminal will quickly jump to more details for commits, branches, tags, and more.",
"media": {
"markdown": "walkthroughs/getting-started/11-terminal.md"
}
},
{
"id": "gitlens.welcome.plus",
"title": "Introducing GitLens+ Features",
"description": "Check out the all-new, powerful, additional GitLens+ features.\n\n[Learn about GitLens+ features](command:gitlens.plus.learn?false \"Open the GitLens+ features walkthrough\")",
"media": {
"markdown": "walkthroughs/getting-started/12-plus.md"
}
}
]
},
{
"id": "gitlens.plus",
"title": "Introducing GitLens+ Features",
"description": "Get even more out of GitLens in VS Code!",
"steps": [
{
"id": "gitlens.plus.intro",
"title": "Introducing GitLens+ Features",
"description": "All-new, powerful, additional features that enhance your current GitLens experience.",
"media": {
"markdown": "walkthroughs/plus/intro.md"
}
},
{
"id": "gitlens.plus.commitGraph",
"title": "Commit Graph (new)",
"description": "The Commit Graph helps you to easily visualize branch structure and commit history.\n\n[Open Commit Graph](command:gitlens.showGraph)",
"media": {
"markdown": "walkthroughs/plus/commit-graph.md"
}
},
{
"id": "gitlens.plus.visualFileHistory",
"title": "Visualize file history",
"description": "A more visual way to analyze and explore changes made to a file.\n\n[Open Visual File History view](command:gitlens.showTimelineView)",
"media": {
"markdown": "walkthroughs/plus/visual-file-history.md"
}
},
{
"id": "gitlens.plus.worktrees",
"title": "Worktrees",
"description": "Create worktrees to have multiple branches checked-out at once on the same repository.\n\n[Open Worktrees view](command:gitlens.showWorktreesView)",
"media": {
"markdown": "walkthroughs/plus/worktrees.md"
}
},
{
"id": "gitlens.plus.richIntegrations",
"title": "Rich self-hosted Git integrations",
"media": {
"markdown": "walkthroughs/plus/rich-integrations.md"
}
},
{
"id": "gitlens.plus.tryNow",
"title": "Try GitLens Pro",
"description": "[GitLens+ features](command:gitlens.plus.learn) are free for local and public repos, no account required, while upgrading to GitLens Pro gives you access on private repos.\n\n[Try GitLens+ features on private repos](command:gitlens.plus.startPreviewTrial)",
"media": {
"markdown": "walkthroughs/plus/try-now.md"
},
"when": "gitlens:plus:state == 0"
},
{
"id": "gitlens.plus.trial",
"title": "Trialing GitLens Pro",
"description": "During your GitLens Pro trial, you have additional access to [GitLens+ features](command:gitlens.plus.learn) on private repos.\n\n[Upgrade to Pro](command:gitlens.plus.purchase)",
"media": {
"markdown": "walkthroughs/plus/try-now.md"
},
"when": "gitlens:plus:state == 1 || gitlens:plus:state == 3"
},
{
"id": "gitlens.plus.trial.extend",
"title": "Extend GitLens Pro Trial",
"description": "Your free 3-day GitLens Pro trial has ended, extend your trial to get an additional free 7-days of [GitLens+ features](command:gitlens.plus.learn) on private repos.\n\n[Extend Pro Trial](command:gitlens.plus.loginOrSignUp)",
"media": {
"markdown": "walkthroughs/plus/try-now.md"
},
"when": "gitlens:plus:state == 2"
},
{
"id": "gitlens.plus.trial.upgrade",
"title": "Upgrade to GitLens Pro",
"description": "Your GitLens Pro trial has ended, please upgrade to GitLens Pro to continue to use [GitLens+ features](command:gitlens.plus.learn) on private repos.\n\n[Upgrade to Pro](command:gitlens.plus.command:gitlens.plus.purchase)",
"media": {
"markdown": "walkthroughs/plus/try-now.md"
},
"when": "gitlens:plus:state == 4"
}
]
}
]
},
"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": "pushd \"../GitKrakenComponents\" && yarn link && popd && yarn link @gitkraken/gitkraken-components",
"graph:unlink": "yarn unlink @gitkraken/gitkraken-components && yarn install --force",
"icons:apply": "node ./scripts/applyIconsContribution.js",
"icons:svgo": "svgo -q -f ./images/icons/ --config svgo.config.js",
"lint": "eslint \"src/**/*.ts?(x)\" --fix",
"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",
"pretty": "prettier --config .prettierrc --loglevel warn --write .",
"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": "npx serve --cors -l 5000",
"web:tunnel": "npx localtunnel -p 5000",
"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": "8.0.1",
"@microsoft/fast-element": "1.11.0",
"@microsoft/fast-react-wrapper": "0.3.16-0",
"@octokit/core": "4.2.0",
"@opentelemetry/api": "1.4.1",
"@opentelemetry/exporter-trace-otlp-http": "0.36.1",
"@opentelemetry/sdk-trace-base": "1.10.1",
"@vscode/codicons": "0.0.32",
"@vscode/webview-ui-toolkit": "1.2.2",
"ansi-regex": "6.0.1",
"billboard.js": "3.7.4",
"https-proxy-agent": "5.0.1",
"iconv-lite": "0.6.3",
"lit": "2.7.0",
"node-fetch": "2.6.9",
"os-browserify": "0.3.0",
"path-browserify": "1.0.1",
"react": "16.8.4",
"react-dom": "16.8.4",
"sortablejs": "1.15.0"
},
"devDependencies": {
"@types/glob": "8.1.0",
"@types/mocha": "10.0.1",
"@types/node": "16.11.47",
"@types/react": "17.0.47",
"@types/react-dom": "17.0.17",
"@types/sortablejs": "1.15.1",
"@types/vscode": "1.72.0",
"@typescript-eslint/eslint-plugin": "5.56.0",
"@typescript-eslint/parser": "5.56.0",
"@vscode/test-electron": "2.3.0",
"@vscode/test-web": "0.0.36",
"@vscode/vsce": "2.18.0",
"circular-dependency-plugin": "5.2.2",
"clean-webpack-plugin": "4.0.0",
"concurrently": "7.6.0",
"copy-webpack-plugin": "11.0.0",
"csp-html-webpack-plugin": "5.1.0",
"css-loader": "6.7.3",
"css-minimizer-webpack-plugin": "4.2.2",
"cssnano-preset-advanced": "5.3.10",
"esbuild": "0.17.14",
"esbuild-loader": "3.0.1",
"esbuild-sass-plugin": "2.8.0",
"eslint": "8.36.0",
"eslint-cli": "1.1.1",
"eslint-config-prettier": "8.8.0",
"eslint-import-resolver-typescript": "3.5.3",
"eslint-plugin-anti-trojan-source": "1.1.1",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-lit": "1.8.2",
"fantasticon": "1.2.3",
"fork-ts-checker-webpack-plugin": "6.5.3",
"glob": "9.3.2",
"html-loader": "4.2.0",
"html-webpack-plugin": "5.5.0",
"image-minimizer-webpack-plugin": "3.8.2",
"license-checker-rseidelsohn": "4.1.1",
"lz-string": "1.5.0",
"mini-css-extract-plugin": "2.7.5",
"mocha": "10.2.0",
"prettier": "2.8.7",
"sass": "1.60.0",
"sass-loader": "13.2.1",
"schema-utils": "4.0.0",
"sharp": "0.32.0",
"svgo": "3.0.2",
"terser-webpack-plugin": "5.3.7",
"ts-loader": "9.4.2",
"tsc-alias": "1.8.4",
"typescript": "5.0.2",
"webpack": "5.76.3",
"webpack-bundle-analyzer": "4.8.0",
"webpack-cli": "5.0.1",
"webpack-node-externals": "3.0.0",
"webpack-require-from": "1.8.6"
},
"resolutions": {
"iconv-lite": "0.6.3",
"node-fetch": "2.6.9",
"semver-regex": "4.0.5"
}
}