您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 

11281 行
366 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": "12.1.1",
"engines": {
"vscode": "^1.64.0"
},
"license": "SEE LICENSE IN LICENSE",
"publisher": "eamodio",
"author": {
"name": "Eric Amodio",
"email": "eamodio@gmail.com"
},
"homepage": "https://gitlens.amod.io/",
"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/vscode--dev--community-gitlens-blue.svg?logo=slack&labelColor=555555",
"href": "https://vscode-slack.amod.io",
"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",
"onWebviewPanel:gitlens.welcome",
"onWebviewPanel:gitlens.settings",
"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.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.showWelcomePage",
"onCommand:gitlens.showBranchesView",
"onCommand:gitlens.showCommitsView",
"onCommand:gitlens.showContributorsView",
"onCommand:gitlens.showFileHistoryView",
"onCommand:gitlens.showHomeView",
"onCommand:gitlens.showLineHistoryView",
"onCommand:gitlens.showRemotesView",
"onCommand:gitlens.showRepositoriesView",
"onCommand:gitlens.showSearchAndCompareView",
"onCommand:gitlens.showStashesView",
"onCommand:gitlens.showTagsView",
"onCommand:gitlens.showTimelineView",
"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.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.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.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.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",
"Searches for the commit",
"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",
"Searches for the commit",
"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.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": 32
},
"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": 33
},
"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": 34
},
"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": 35
},
"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": "repositories-view",
"title": "Repositories View",
"order": 22,
"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": 23,
"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": 24,
"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": 25,
"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": 26,
"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": 27,
"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": 28,
"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": 29,
"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.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": 30,
"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": 31,
"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": "rebase-editor",
"title": "Interactive Rebase Editor",
"order": 105,
"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
}
}
},
{
"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"
}
}
},
{
"id": "visual-history",
"title": "Visual File History",
"order": 113,
"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": "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": {
"authors": {
"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"
}
}
}
]
},
"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": {
"authors": true
},
"scmGroupInline": {
"stash": true
},
"scmGroup": {
"compare": true,
"openClose": true,
"stash": true
},
"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.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
},
"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"
}
},
"additionalProperties": false,
"markdownDescription": "Specifies which messages should be suppressed",
"scope": "window",
"order": 1
},
"gitlens.advanced.repositorySearchDepth": {
"type": "number",
"default": null,
"markdownDescription": "Specifies how many folders deep to search for repositories. Defaults to `#git.repositoryScanMaxDepth#`",
"scope": "resource",
"order": 10
},
"gitlens.advanced.abbreviatedShaLength": {
"type": "number",
"default": 7,
"markdownDescription": "Specifies the length of abbreviated commit SHAs",
"scope": "window",
"order": 20
},
"gitlens.advanced.abbreviateShaOnCopy": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to copy full or abbreviated commit SHAs to the clipboard. Abbreviates to the length of `#gitlens.advanced.abbreviatedShaLength#`.",
"scope": "window",
"order": 21
},
"gitlens.advanced.commitOrdering": {
"type": [
"string",
"null"
],
"default": null,
"enum": [
null,
"date",
"author-date",
"topo"
],
"enumDescriptions": [
"Shows commits in reverse chronological order",
"Shows commits in reverse chronological order of the commit timestamp",
"Shows commits in reverse chronological order of the author timestamp",
"Shows commits in reverse chronological order of the commit timestamp, but avoids intermixing multiple lines of history"
],
"markdownDescription": "Specifies the order by which commits will be shown. If unspecified, commits will be shown in reverse chronological order",
"scope": "window",
"order": 30
},
"gitlens.blame.ignoreWhitespace": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to ignore whitespace when comparing revisions during blame operations",
"scope": "resource",
"order": 40
},
"gitlens.advanced.blame.customArguments": {
"type": [
"array",
"null"
],
"default": null,
"items": {
"type": "string"
},
"markdownDescription": "Specifies additional arguments to pass to the `git blame` command",
"scope": "resource",
"order": 41
},
"gitlens.advanced.blame.delayAfterEdit": {
"type": "number",
"default": 5000,
"markdownDescription": "Specifies the time (in milliseconds) to wait before re-blaming an unsaved document after an edit. Use 0 to specify an infinite wait",
"scope": "window",
"order": 42
},
"gitlens.advanced.blame.sizeThresholdAfterEdit": {
"type": "number",
"default": 5000,
"markdownDescription": "Specifies the maximum document size (in lines) allowed to be re-blamed after an edit while still unsaved. Use 0 to specify no maximum",
"scope": "window",
"order": 43
},
"gitlens.advanced.similarityThreshold": {
"type": [
"number",
"null"
],
"default": null,
"markdownDescription": "Specifies the amount (percent) of similarity a deleted and added file pair must have to be considered a rename",
"scope": "window",
"order": 50
},
"gitlens.advanced.externalDiffTool": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies an optional external diff tool to use when comparing files. Must be a configured [Git difftool](https://git-scm.com/docs/git-config#Documentation/git-config.txt-difftool).",
"scope": "window",
"order": 60
},
"gitlens.advanced.externalDirectoryDiffTool": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies an optional external diff tool to use when comparing directories. Must be a configured [Git difftool](https://git-scm.com/docs/git-config#Documentation/git-config.txt-difftool).",
"scope": "window",
"order": 61
},
"gitlens.advanced.quickPick.closeOnFocusOut": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to dismiss quick pick menus when focus is lost (if not, press `ESC` to dismiss)",
"scope": "window",
"order": 70
},
"gitlens.advanced.maxListItems": {
"type": "number",
"default": 200,
"markdownDescription": "Specifies the maximum number of items to show in a list. Use 0 to specify no maximum",
"scope": "window",
"order": 80
},
"gitlens.advanced.maxSearchItems": {
"type": "number",
"default": 200,
"markdownDescription": "Specifies the maximum number of items to show in a search. Use 0 to specify no maximum",
"scope": "window",
"order": 81
},
"gitlens.advanced.caching.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether git output will be cached — changing the default is not recommended",
"scope": "window",
"order": 90
},
"gitlens.debug": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies debug mode",
"scope": "window",
"order": 100
},
"gitlens.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 enable GitLens+ features",
"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 Insiders edition of GitLens instead",
"markdownDeprecationMessage": "Deprecated. Use the [Insiders edition](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens-insiders) 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"
}
}
],
"commands": [
{
"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 Your GitLens+ Account...",
"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.getStarted",
"title": "Get Started",
"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.showTimelinePage",
"title": "Open Visual File History of Active File",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-history.svg",
"light": "images/light/icon-history.svg"
}
},
{
"command": "gitlens.refreshTimelinePage",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.showWelcomePage",
"title": "Welcome (Quick Setup)",
"category": "GitLens"
},
{
"command": "gitlens.showBranchesView",
"title": "Show Branches 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.showHomeView",
"title": "Show Home View",
"category": "GitLens"
},
{
"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.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.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": {
"dark": "images/dark/icon-next-commit.svg",
"light": "images/light/icon-next-commit.svg"
},
"enablement": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"title": "Open Changes with Next Revision",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-next-commit.svg",
"light": "images/light/icon-next-commit.svg"
},
"enablement": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffWithNextInDiffRight",
"title": "Open Changes with Next Revision",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-next-commit.svg",
"light": "images/light/icon-next-commit.svg"
},
"enablement": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffWithPrevious",
"title": "Open Changes with Previous Revision",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-prev-commit.svg",
"light": "images/light/icon-prev-commit.svg"
}
},
{
"command": "gitlens.diffWithPreviousInDiffLeft",
"title": "Open Changes with Previous Revision",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-prev-commit.svg",
"light": "images/light/icon-prev-commit.svg"
}
},
{
"command": "gitlens.diffWithPreviousInDiffRight",
"title": "Open Changes with Previous Revision",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-prev-commit.svg",
"light": "images/light/icon-prev-commit.svg"
}
},
{
"command": "gitlens.diffLineWithPrevious",
"title": "Open Line Changes with Previous Revision",
"category": "GitLens"
},
{
"command": "gitlens.diffWithRevision",
"title": "Open Changes with Revision...",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-prev-commit-menu.svg",
"light": "images/light/icon-prev-commit-menu.svg"
}
},
{
"command": "gitlens.diffWithRevisionFrom",
"title": "Open Changes with Branch or Tag...",
"category": "GitLens"
},
{
"command": "gitlens.diffWithWorking",
"title": "Open Changes with Working File",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-compare-ref-working.svg",
"light": "images/light/icon-compare-ref-working.svg"
}
},
{
"command": "gitlens.diffWithWorkingInDiffLeft",
"title": "Open Changes with Working File",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-compare-ref-working.svg",
"light": "images/light/icon-compare-ref-working.svg"
}
},
{
"command": "gitlens.diffWithWorkingInDiffRight",
"title": "Open Changes with Working File",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-compare-ref-working.svg",
"light": "images/light/icon-compare-ref-working.svg"
}
},
{
"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.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": "Search for Commit in Side Bar",
"category": "GitLens"
},
{
"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": {
"dark": "images/dark/icon-commit-horizontal.svg",
"light": "images/light/icon-commit-horizontal.svg"
},
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffLeft",
"title": "Show Revision Commit",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-commit-horizontal.svg",
"light": "images/light/icon-commit-horizontal.svg"
},
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.showQuickRevisionDetailsInDiffRight",
"title": "Show Revision Commit",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-commit-horizontal.svg",
"light": "images/light/icon-commit-horizontal.svg"
},
"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": {
"dark": "images/dark/icon-unplug.svg",
"light": "images/light/icon-unplug.svg"
}
},
{
"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.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.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": {
"dark": "images/dark/icon-open-revision.svg",
"light": "images/light/icon-open-revision.svg"
},
"category": "GitLens"
},
{
"command": "gitlens.openFileRevisionFrom",
"title": "Open File at Revision from...",
"icon": {
"dark": "images/dark/icon-open-revision.svg",
"light": "images/light/icon-open-revision.svg"
},
"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.openAutolink",
"title": "Open Autolink Url",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.copyAutolinkUrl",
"title": "Copy Autolink 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": {
"dark": "images/dark/icon-open-revision.svg",
"light": "images/light/icon-open-revision.svg"
},
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.openRevisionFileInDiffLeft",
"title": "Open File at Revision",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-open-revision.svg",
"light": "images/light/icon-open-revision.svg"
},
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.openRevisionFileInDiffRight",
"title": "Open File at Revision",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-open-revision.svg",
"light": "images/light/icon-open-revision.svg"
},
"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": {
"dark": "images/dark/icon-stash-pop.svg",
"light": "images/light/icon-stash-pop.svg"
}
},
{
"command": "gitlens.views.deleteStash",
"title": "Delete Stash...",
"category": "GitLens",
"icon": "$(trash)"
},
{
"command": "gitlens.stashSave",
"title": "Stash All Changes",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-stash-save.svg",
"light": "images/light/icon-stash-save.svg"
}
},
{
"command": "gitlens.stashSaveFiles",
"title": "Stash Changes",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-stash-save.svg",
"light": "images/light/icon-stash-save.svg"
}
},
{
"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.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)"
},
{
"command": "gitlens.pullRepositories",
"title": "Pull",
"category": "GitLens",
"icon": "$(arrow-down)"
},
{
"command": "gitlens.pushRepositories",
"title": "Push",
"category": "GitLens",
"icon": "$(arrow-up)"
},
{
"command": "gitlens.views.addRemote",
"title": "Add Remote",
"category": "GitLens",
"icon": "$(add)"
},
{
"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": {
"dark": "images/dark/icon-checkout.svg",
"light": "images/light/icon-checkout.svg"
}
},
{
"command": "gitlens.views.switchToAnotherBranch",
"title": "Switch to Another Branch...",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-checkout.svg",
"light": "images/light/icon-checkout.svg"
}
},
{
"command": "gitlens.views.switchToBranch",
"title": "Switch to Branch...",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-checkout.svg",
"light": "images/light/icon-checkout.svg"
}
},
{
"command": "gitlens.views.switchToCommit",
"title": "Switch to Commit...",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-checkout.svg",
"light": "images/light/icon-checkout.svg"
}
},
{
"command": "gitlens.views.switchToTag",
"title": "Switch to Tag...",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-checkout.svg",
"light": "images/light/icon-checkout.svg"
}
},
{
"command": "gitlens.views.copy",
"title": "Copy",
"category": "GitLens",
"icon": "$(copy)"
},
{
"command": "gitlens.views.pruneRemote",
"title": "Prune",
"category": "GitLens"
},
{
"command": "gitlens.views.fetch",
"title": "Fetch",
"category": "GitLens",
"icon": "$(sync)"
},
{
"command": "gitlens.views.publishBranch",
"title": "Publish Branch",
"category": "GitLens",
"icon": "$(cloud-upload)"
},
{
"command": "gitlens.views.publishRepository",
"title": "Publish Repository",
"category": "GitLens",
"icon": "$(cloud-upload)"
},
{
"command": "gitlens.views.pull",
"title": "Pull",
"category": "GitLens",
"icon": "$(arrow-down)"
},
{
"command": "gitlens.views.push",
"title": "Push",
"category": "GitLens",
"icon": "$(arrow-up)"
},
{
"command": "gitlens.views.pushWithForce",
"title": "Push (force)",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-push-force.svg",
"light": "images/light/icon-push-force.svg"
}
},
{
"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)"
},
{
"command": "gitlens.views.stageFile",
"title": "Stage Changes",
"category": "GitLens",
"icon": "$(add)"
},
{
"command": "gitlens.views.unstageDirectory",
"title": "Unstage All Changes",
"category": "GitLens",
"icon": "$(remove)"
},
{
"command": "gitlens.views.unstageFile",
"title": "Unstage Changes",
"category": "GitLens",
"icon": "$(remove)"
},
{
"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": {
"dark": "images/dark/icon-compare-ref-working.svg",
"light": "images/light/icon-compare-ref-working.svg"
}
},
{
"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": {
"dark": "images/dark/icon-open-revision.svg",
"light": "images/light/icon-open-revision.svg"
}
},
{
"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"
},
{
"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": {
"dark": "images/dark/icon-compare-ref-working.svg",
"light": "images/light/icon-compare-ref-working.svg"
}
},
{
"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.createWorktree",
"title": "Create Worktree...",
"category": "GitLens",
"icon": "$(add)"
},
{
"command": "gitlens.views.deleteWorktree",
"title": "Delete Worktree...",
"category": "GitLens",
"icon": "$(trash)"
},
{
"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"
},
{
"command": "gitlens.views.createBranch",
"title": "Create Branch...",
"category": "GitLens",
"icon": "$(add)"
},
{
"command": "gitlens.views.deleteBranch",
"title": "Delete Branch...",
"category": "GitLens",
"icon": "$(trash)"
},
{
"command": "gitlens.views.renameBranch",
"title": "Rename Branch...",
"category": "GitLens"
},
{
"command": "gitlens.views.createTag",
"title": "Create Tag...",
"category": "GitLens",
"icon": "$(add)"
},
{
"command": "gitlens.views.deleteTag",
"title": "Delete Tag...",
"category": "GitLens",
"icon": "$(trash)"
},
{
"command": "gitlens.views.mergeBranchInto",
"title": "Merge Branch into Current Branch...",
"category": "GitLens"
},
{
"command": "gitlens.views.pushToCommit",
"title": "Push to Commit...",
"category": "GitLens",
"icon": "$(arrow-up)"
},
{
"command": "gitlens.views.rebaseOntoBranch",
"title": "Rebase Current Branch onto Branch...",
"category": "GitLens"
},
{
"command": "gitlens.views.rebaseOntoCommit",
"title": "Rebase Current Branch onto Commit...",
"category": "GitLens"
},
{
"command": "gitlens.views.rebaseOntoUpstream",
"title": "Rebase Current Branch onto Upstream...",
"category": "GitLens"
},
{
"command": "gitlens.views.resetCommit",
"title": "Reset Current Branch to Previous Commit...",
"category": "GitLens"
},
{
"command": "gitlens.views.resetToCommit",
"title": "Reset Current Branch to Commit...",
"category": "GitLens"
},
{
"command": "gitlens.views.revert",
"title": "Revert Commit...",
"category": "GitLens"
},
{
"command": "gitlens.views.undoCommit",
"title": "Undo Commit",
"category": "GitLens",
"icon": "$(discard)"
},
{
"command": "gitlens.views.terminalRemoveRemote",
"title": "Remove Remote (via Terminal)",
"category": "GitLens"
},
{
"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": {
"dark": "images/dark/icon-unfold.svg",
"light": "images/light/icon-unfold.svg"
}
},
{
"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": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"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": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"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": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"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": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"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": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"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": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"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)"
},
{
"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": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"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": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"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": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"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"
}
],
"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.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.showTimelinePage",
"when": "gitlens:enabled && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.refreshTimelinePage",
"when": "false"
},
{
"command": "gitlens.showBranchesView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showCommitsView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showContributorsView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showFileHistoryView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showHomeView",
"when": "gitlens:enabled"
},
{
"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.showStashesView",
"when": "gitlens:enabled && !gitlens:hasVirtualFolders"
},
{
"command": "gitlens.showTagsView",
"when": "gitlens:enabled"
},
{
"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.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.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"
},
{
"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.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.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:activeFileStatus =~ /blameable/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"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.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.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.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.terminalRemoveRemote",
"when": "false"
},
{
"command": "gitlens.views.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.enableDebugLogging",
"when": "config.gitlens.outputLevel != debug"
},
{
"command": "gitlens.disableDebugLogging",
"when": "config.gitlens.outputLevel != errors"
}
],
"editor/context": [
{
"submenu": "gitlens/editor/context/changes",
"when": "editorTextFocus && config.gitlens.menus.editor.compare",
"group": "2_gitlens@1"
},
{
"command": "gitlens.openCommitOnRemote",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote",
"group": "2_gitlens@2",
"alt": "gitlens.copyRemoteCommitUrl"
},
{
"command": "gitlens.openFileOnRemote",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote",
"group": "2_gitlens@3",
"alt": "gitlens.copyRemoteFileUrlToClipboard"
},
{
"command": "gitlens.openFileOnRemoteFrom",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote",
"group": "2_gitlens@4",
"alt": "gitlens.copyRemoteFileUrlFrom"
},
{
"command": "gitlens.openFileHistory",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history",
"group": "2_gitlens_1@1"
},
{
"command": "gitlens.quickOpenFileHistory",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history",
"group": "2_gitlens_1@2"
},
{
"submenu": "gitlens/editor/annotations",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.blame",
"group": "2_gitlens_2@1"
}
],
"editor/context/copy": [
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "1_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlFrom",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "1_gitlens@2"
},
{
"command": "gitlens.copyRemoteCommitUrl",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "1_gitlens@3"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "2_gitlens@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "2_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.refreshTimelinePage",
"when": "gitlens:timelinePage:focused",
"group": "navigation@-99"
}
],
"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(-insiders)?$/ && extensionStatus == installed",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showWelcomePage",
"when": "extension =~ /^eamodio.gitlens(-insiders)?$/ && extensionStatus == installed",
"group": "9_gitlens@2"
},
{
"command": "gitlens.showSettingsPage",
"when": "extension =~ /^eamodio.gitlens(-insiders)?$/ && extensionStatus == installed",
"group": "9_gitlens@3"
}
],
"git.commit": [
{
"command": "gitlens.addAuthors",
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && config.gitlens.menus.scm.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/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": [
{
"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.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.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.showRepositoriesView",
"when": "!gitlens:hasVirtualFolders && view =~ /^gitlens\\.views\\.commits/",
"group": "8_gitlens_toggles@0"
},
{
"command": "gitlens.views.addAuthors",
"when": "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.stashApply",
"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.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.createWorktree",
"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.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"
},
{
"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 && 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": "viewItem =~ /gitlens:contributors\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.addAuthors",
"when": "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": "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": "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(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.resetCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\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.openCommitOnRemote",
"when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes",
"group": "3_gitlens_explore@0",
"alt": "gitlens.copyRemoteCommitUrl"
},
{
"command": "gitlens.revealCommitInView",
"when": "view =~ /gitlens\\.views\\.(?!commits|branches\\b)/ && viewItem =~ /gitlens:commit\\b/",
"group": "3_gitlens_explore@1"
},
{
"command": "gitlens.showCommitInView",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "3_gitlens_explore@2"
},
{
"submenu": "gitlens/commit/copy",
"when": "viewItem =~ /gitlens:(branch|commit|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"
},
{
"command": "gitlens.openCommitOnRemote",
"when": "view =~ /^gitlens\\.views\\.(fileHistory|lineHistory)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/ && gitlens:hasRemotes",
"group": "3_gitlens_explore@0",
"alt": "gitlens.copyRemoteCommitUrl"
},
{
"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.terminalRemoveRemote",
"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.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.showCommitSearch",
"when": "viewItem =~ /gitlens:repo-folder\\b/",
"group": "3_gitlens_explore@1"
},
{
"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)/",
"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/",
"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 && viewItem =~ /gitlens:worktrees\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.createWorktree",
"when": "!gitlens:readonly && 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"
}
],
"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:(?!stash\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"group": "1_gitlens@2"
},
{
"command": "gitlens.copyRemoteCommitUrl",
"when": "viewItem =~ /gitlens:(commit|file\\b(?=.*?\\b\\+committed\\b))/ && gitlens:hasRemotes",
"group": "2_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlWithoutRange",
"when": "viewItem =~ /gitlens:(file\\b(?=.*?\\b\\+committed\\b)|history:(file|line)|status:file)\\b/ && gitlens:hasRemotes",
"group": "2_gitlens@2"
}
],
"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.revealCommitInView",
"when": "view =~ /gitlens\\.views\\.(fileHistory|lineHistory\\b)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "navigation@1"
},
{
"command": "gitlens.showCommitInView",
"when": "view =~ /gitlens\\.views\\.(fileHistory|lineHistory\\b)/ && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/",
"group": "navigation@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": "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)(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.resetCommit",
"when": "!gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)(?=.*?\\b\\+current\\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"
}
]
},
"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/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)"
}
],
"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.escape",
"key": "escape",
"when": "gitlens:key:escape && editorTextFocus && !findWidgetVisible && !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": "images/gitlens-activitybar.svg"
}
],
"panel": [
{
"id": "gitlensPanel",
"title": "GitLens",
"icon": "images/views/history.svg"
}
]
},
"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 allow you to easily work on different branches of a repository simultaneously. You 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:allowed"
},
{
"view": "gitlens.views.worktrees",
"contents": "Please verify your email\n\nTo use Worktrees, please verify the email for the account you created.\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 now, without an account, for 3 days on public and private repos, or [sign in](command:gitlens.plus.loginOrSignUp \"Sign in to GitLens+\") for use on public repos.\n\n[Try worktrees now](command:gitlens.plus.startPreviewTrial)",
"when": "gitlens:plus:state == 0"
},
{
"view": "gitlens.views.worktrees",
"contents": "Sign in to use worktrees and other GitLens+ features on public repos and get a free 7-day trial for both public and private repos.\n\n[Sign in to GitLens+](command:gitlens.plus.loginOrSignUp)",
"when": "gitlens:plus:state == 2"
},
{
"view": "gitlens.views.worktrees",
"contents": "[Upgrade your account](command:gitlens.plus.purchase)",
"when": "gitlens:plus:state == 4"
},
{
"view": "gitlens.views.worktrees",
"contents": "✨ Worktrees are a [GitLens+ feature](command:gitlens.plus.learn) which can be used on public repos with a [free account](command:gitlens.plus.loginOrSignUp) and private repos with a [paid account](command:gitlens.plus.purchase).\n\n🛈 All other GitLens features can always be used on any repo, without an account.",
"when": "gitlens:plus:state > -1"
}
],
"views": {
"gitlens": [
{
"type": "webview",
"id": "gitlens.views.home",
"name": "Home",
"when": "!gitlens:disabled && config.gitlens.plusFeatures.enabled",
"contextualTitle": "GitLens",
"icon": "images/gitlens-activitybar.svg",
"visibility": "visible"
}
],
"gitlensPanel": [
{
"type": "webview",
"id": "gitlens.views.timeline",
"name": "Visual File History",
"when": "!gitlens:disabled && config.gitlens.plusFeatures.enabled",
"contextualTitle": "GitLens",
"icon": "images/views/history.svg",
"visibility": "visible"
}
],
"scm": [
{
"id": "gitlens.views.commits",
"name": "Commits",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "images/views/commits.svg",
"visibility": "visible"
},
{
"id": "gitlens.views.repositories",
"name": "Repositories",
"when": "!gitlens:disabled && !gitlens:hasVirtualFolders",
"contextualTitle": "GitLens",
"icon": "images/views/repositories.svg",
"visibility": "hidden"
},
{
"id": "gitlens.views.fileHistory",
"name": "File History",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "images/views/history.svg",
"visibility": "visible"
},
{
"id": "gitlens.views.lineHistory",
"name": "Line History",
"when": "!gitlens:disabled && !gitlens:hasVirtualFolders",
"contextualTitle": "GitLens",
"icon": "images/views/history.svg",
"visibility": "hidden"
},
{
"id": "gitlens.views.branches",
"name": "Branches",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "images/views/branches.svg",
"visibility": "collapsed"
},
{
"id": "gitlens.views.remotes",
"name": "Remotes",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "images/views/remotes.svg",
"visibility": "collapsed"
},
{
"id": "gitlens.views.stashes",
"name": "Stashes",
"when": "!gitlens:disabled && !gitlens:hasVirtualFolders",
"contextualTitle": "GitLens",
"icon": "images/views/stashes.svg",
"visibility": "collapsed"
},
{
"id": "gitlens.views.tags",
"name": "Tags",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "images/views/tags.svg",
"visibility": "collapsed"
},
{
"id": "gitlens.views.worktrees",
"name": "Worktrees",
"when": "!gitlens:disabled && !gitlens:hasVirtualFolders && config.gitlens.plusFeatures.enabled",
"contextualTitle": "GitLens",
"icon": "images/views/worktrees.svg",
"visibility": "collapsed"
},
{
"id": "gitlens.views.contributors",
"name": "Contributors",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "images/views/contributors.svg",
"visibility": "hidden"
},
{
"id": "gitlens.views.searchAndCompare",
"name": "Search & Compare",
"when": "!gitlens:disabled",
"contextualTitle": "GitLens",
"icon": "images/views/search.svg",
"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+",
"description": "Check out the all-new, completely optional, 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+",
"description": "Get even more out of GitLens in VS Code!",
"steps": [
{
"id": "gitlens.plus.intro.tryNow",
"title": "Introducing GitLens+",
"description": "Try GitLens+ features now, without an account, for 3 days.\n\n[Try GitLens+ features now](command:gitlens.plus.startPreviewTrial)",
"media": {
"markdown": "walkthroughs/plus/1-intro.md"
},
"when": "gitlens:plus:state == 0"
},
{
"id": "gitlens.plus.intro.signIn",
"title": "Introducing GitLens+",
"description": "Sign in for use on public repos and get an additional 7 day trial for private repos.\n\n[Sign in to GitLens+](command:gitlens.plus.loginOrSignUp)",
"media": {
"markdown": "walkthroughs/plus/1-intro.md"
},
"when": "gitlens:plus:state == 1 || gitlens:plus:state == 2"
},
{
"id": "gitlens.plus.intro",
"title": "Introducing GitLens+",
"media": {
"markdown": "walkthroughs/plus/1-intro.md"
},
"when": "gitlens:plus:state > 2"
},
{
"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/3-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/2-worktrees.md"
}
},
{
"id": "gitlens.plus.richIntegrations",
"title": "Rich self-hosted Git integrations",
"media": {
"markdown": "walkthroughs/plus/rich-integrations.md"
}
},
{
"id": "gitlens.plus.comingSoon",
"title": "More coming soon",
"description": "Stay tuned!",
"media": {
"markdown": "walkthroughs/plus/4-coming-soon.md"
}
},
{
"id": "gitlens.plus.tryNow",
"title": "Try GitLens+ now",
"description": "Try GitLens+ features now, without an account, for 3 days.\n\n[Try GitLens+ features now](command:gitlens.plus.startPreviewTrial)",
"media": {
"markdown": "walkthroughs/plus/5-try-now.md"
},
"when": "gitlens:plus:state == 0"
},
{
"id": "gitlens.plus.signIn",
"title": "Get access to GitLens+ features on public repos",
"description": "Sign in for use on public repos and get an additional 7 day trial for private repos.\n\n[Sign in to GitLens+](command:gitlens.plus.loginOrSignUp)",
"media": {
"markdown": "walkthroughs/plus/5-try-now.md"
},
"when": "gitlens:plus:state == 1 || gitlens:plus:state == 2"
}
]
}
]
},
"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",
"build:webviews": "webpack --mode development --config-name webviews",
"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",
"clean": "npx rimraf dist out .vscode-test .vscode-test-web .eslintcache* tsconfig*.tsbuildinfo",
"copy:images": "webpack --config webpack.config.images.js",
"lint": "eslint src/**/*.ts --fix",
"package": "vsce package --yarn",
"package-insiders": "yarn run patch-insiders && yarn run package",
"patch-insiders": "node ./scripts/applyPatchForInsiders.js",
"pretty": "prettier --config .prettierrc --loglevel warn --write .",
"pub": "vsce publish --yarn",
"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.js",
"update-licenses": "node ./scripts/generateLicenses.mjs",
"-pretest": "yarn run build:tests",
"vscode:prepublish": "yarn run bundle"
},
"dependencies": {
"@octokit/core": "4.0.4",
"@vscode/codicons": "0.0.31",
"@vscode/webview-ui-toolkit": "1.0.0",
"ansi-regex": "6.0.1",
"billboard.js": "3.5.0",
"chroma-js": "2.4.2",
"https-proxy-agent": "5.0.1",
"iconv-lite": "0.6.3",
"lodash-es": "4.17.21",
"md5.js": "1.3.5",
"node-fetch": "2.6.7",
"path-browserify": "1.0.1",
"sortablejs": "1.15.0"
},
"devDependencies": {
"@squoosh/lib": "0.4.0",
"@types/chroma-js": "2.1.4",
"@types/glob": "7.2.0",
"@types/lodash-es": "4.17.6",
"@types/mocha": "9.1.1",
"@types/node": "16.11.43",
"@types/sortablejs": "1.13.0",
"@types/uuid": "8.3.4",
"@types/vscode": "1.64.0",
"@typescript-eslint/eslint-plugin": "5.30.5",
"@typescript-eslint/parser": "5.30.5",
"@vscode/test-electron": "2.1.5",
"@vscode/test-web": "0.0.27",
"circular-dependency-plugin": "5.2.2",
"clean-webpack-plugin": "4.0.0",
"concurrently": "7.2.2",
"copy-webpack-plugin": "11.0.0",
"csp-html-webpack-plugin": "5.1.0",
"css-loader": "6.7.1",
"esbuild": "0.14.48",
"esbuild-loader": "2.19.0",
"eslint": "8.19.0",
"eslint-cli": "1.1.1",
"eslint-config-prettier": "8.5.0",
"eslint-import-resolver-typescript": "3.2.5",
"eslint-plugin-anti-trojan-source": "1.1.0",
"eslint-plugin-import": "2.26.0",
"fork-ts-checker-webpack-plugin": "6.5.2",
"glob": "8.0.3",
"html-loader": "3.1.2",
"html-webpack-plugin": "5.5.0",
"image-minimizer-webpack-plugin": "3.2.1",
"imagemin": "8.0.1",
"imagemin-webp": "7.0.0",
"json5": "2.2.1",
"license-checker-rseidelsohn": "3.1.0",
"mini-css-extract-plugin": "2.6.1",
"mocha": "10.0.0",
"prettier": "2.7.1",
"sass": "1.53.0",
"sass-loader": "13.0.2",
"terser-webpack-plugin": "5.3.3",
"ts-loader": "9.3.1",
"tsc-alias": "1.6.11",
"typescript": "4.7.4",
"vsce": "2.9.2",
"webpack": "5.73.0",
"webpack-bundle-analyzer": "4.5.0",
"webpack-cli": "4.10.0",
"webpack-node-externals": "3.0.0"
},
"resolutions": {
"node-fetch": "2.6.7",
"semver-regex": "4.0.5"
}
}