Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 

6282 строки
192 KiB

{
"name": "gitlens",
"displayName": "GitLens — Git supercharged",
"description": "Supercharge the Git capabilities built into Visual Studio Code — Visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via powerful comparison commands, and so much more",
"version": "11.0.0-alpha.2",
"author": {
"name": "Eric Amodio",
"email": "eamodio@gmail.com"
},
"publisher": "eamodio",
"license": "SEE LICENSE IN LICENSE",
"homepage": "https://gitlens.amod.io/",
"bugs": {
"url": "https://github.com/eamodio/vscode-gitlens/issues"
},
"repository": {
"type": "git",
"url": "https://github.com/eamodio/vscode-gitlens.git"
},
"engines": {
"vscode": "^1.48.0"
},
"main": "./dist/gitlens",
"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"
],
"galleryBanner": {
"color": "#8647ae",
"theme": "dark"
},
"keywords": [
"gitlens",
"git",
"blame",
"log",
"annotation",
"multi-root ready"
],
"activationEvents": [
"onCustomEditor:gitlens.rebase",
"onFileSystem:gitlens",
"*"
],
"contributes": {
"configuration": {
"type": "object",
"title": "GitLens — Use 'GitLens: Open Settings' for a richer, interactive experience",
"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
}
}
},
"uniqueItems": true,
"markdownDescription": "Specifies autolinks to external resources in commit messages. Use `<num>` as the variable for the reference number",
"scope": "window"
},
"gitlens.blame.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images in the gutter blame annotations",
"scope": "window"
},
"gitlens.blame.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (deduplicate) matching adjacent gutter blame annotations",
"scope": "window"
},
"gitlens.blame.dateFormat": {
"type": [
"string",
"null"
],
"default": null,
"markdownDescription": "Specifies how to format absolute dates (e.g. using the `${date}` token) in gutter blame annotations. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for valid formats",
"scope": "window"
},
"gitlens.blame.format": {
"type": "string",
"default": "${message|50?} ${agoOrDate|14-}",
"markdownDescription": "Specifies the format of the gutter blame annotations. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `#gitlens.blame.dateFormat#` setting",
"scope": "window"
},
"gitlens.blame.heatmap.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a heatmap indicator in the gutter blame annotations",
"scope": "window"
},
"gitlens.blame.heatmap.location": {
"type": "string",
"default": "right",
"enum": [
"left",
"right"
],
"enumDescriptions": [
"Adds a heatmap indicator on the left edge of the gutter blame annotations",
"Adds a heatmap indicator on the right edge of the gutter blame annotations"
],
"markdownDescription": "Specifies where the heatmap indicators will be shown in the gutter blame annotations",
"scope": "window"
},
"gitlens.blame.highlight.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to highlight lines associated with the current line",
"scope": "window"
},
"gitlens.blame.highlight.locations": {
"type": "array",
"default": [
"gutter",
"line",
"overview"
],
"items": {
"type": "string",
"enum": [
"gutter",
"line",
"overview"
],
"enumDescriptions": [
"Adds a gutter indicator",
"Adds a full-line highlight background color",
"Adds a decoration to the overview ruler (scroll bar)"
]
},
"minItems": 1,
"maxItems": 3,
"uniqueItems": true,
"markdownDescription": "Specifies where the associated line highlights will be shown",
"scope": "window"
},
"gitlens.blame.ignoreWhitespace": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to ignore whitespace when comparing revisions during blame operations",
"scope": "resource"
},
"gitlens.blame.separateLines": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether gutter blame annotations will be separated by a small gap",
"scope": "window"
},
"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 gutter blame annotations will be toggled",
"scope": "window"
},
"gitlens.changes.locations": {
"type": "array",
"default": [
"gutter",
"overview"
],
"items": {
"type": "string",
"enum": [
"gutter",
"overview"
],
"enumDescriptions": [
"Adds a gutter indicator",
"Adds a decoration to the overview ruler (scroll bar)"
]
},
"minItems": 1,
"maxItems": 3,
"uniqueItems": true,
"markdownDescription": "Specifies where the indicators of the gutter changes annotations will be shown",
"scope": "window"
},
"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 gutter changes annotations will be toggled",
"scope": "window"
},
"gitlens.codeLens.authors.command": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "string",
"enum": [
"gitlens.toggleFileBlame",
"gitlens.diffWithPrevious",
"gitlens.revealCommitInView",
"gitlens.showCommitsInView",
"gitlens.showQuickCommitDetails",
"gitlens.showQuickCommitFileDetails",
"gitlens.showQuickFileHistory",
"gitlens.showQuickRepoHistory"
],
"enumDescriptions": [
"Toggles file blame annotations",
"Compares the current committed file with the previous commit",
"Reveals the commit in the Repositories view",
"Shows the commits within the range in the Search Commits view",
"Shows a commit details quick pick",
"Shows a commit file details quick pick",
"Shows a file history quick pick",
"Shows a branch history quick pick"
]
}
],
"default": "gitlens.toggleFileBlame",
"markdownDescription": "Specifies the command to be executed when an _authors_ code lens is clicked",
"scope": "window"
},
"gitlens.codeLens.authors.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide an _authors_ code lens, showing number of authors of the file or code block and the most prominent author (if there is more than one)",
"scope": "window"
},
"gitlens.codeLens.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide any Git code lens, by default. Use the `Toggle Git Code Lens` command (`gitlens.toggleCodeLens`) to toggle the Git code lens on and off for the current window",
"scope": "window"
},
"gitlens.codeLens.includeSingleLineSymbols": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to provide any Git code lens on symbols that span only a single line",
"scope": "window"
},
"gitlens.codeLens.recentChange.command": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "string",
"enum": [
"gitlens.toggleFileBlame",
"gitlens.diffWithPrevious",
"gitlens.revealCommitInView",
"gitlens.showCommitsInView",
"gitlens.showQuickCommitDetails",
"gitlens.showQuickCommitFileDetails",
"gitlens.showQuickFileHistory",
"gitlens.showQuickRepoHistory"
],
"enumDescriptions": [
"Toggles file blame annotations",
"Compares the current committed file with the previous commit",
"Reveals the commit in the Repositories view",
"Shows the commit in the Search Commits view",
"Shows a commit details quick pick",
"Shows a commit file details quick pick",
"Shows a file history quick pick",
"Shows a branch history quick pick"
]
}
],
"default": "gitlens.showQuickCommitFileDetails",
"markdownDescription": "Specifies the command to be executed when a _recent change_ code lens is clicked",
"scope": "window"
},
"gitlens.codeLens.recentChange.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a _recent change_ code lens, showing the author and date of the most recent commit for the file or code block",
"scope": "window"
},
"gitlens.codeLens.scopes": {
"type": "array",
"default": [
"document",
"containers"
],
"items": {
"type": "string",
"enum": [
"document",
"containers",
"blocks"
],
"enumDescriptions": [
"Adds code lens at the top of the document",
"Adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)",
"Adds code lens at the start of block-like symbols (functions, methods, etc) lines"
]
},
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"markdownDescription": "Specifies where Git code lens will be shown in the document",
"scope": "language-overridable"
},
"gitlens.codeLens.scopesByLanguage": {
"deprecationMessage": "Deprecated. Use per-language `gitlens.codeLens.scopes` and `gitlens.codeLens.symbolScopes` settings instead",
"type": [
"array",
"null"
],
"default": null,
"items": {
"type": "object",
"required": [
"language"
],
"properties": {
"language": {
"type": "string",
"description": "Specifies the language to which this code lens override applies"
},
"scopes": {
"type": "array",
"default": [
"document",
"containers"
],
"items": {
"type": "string",
"enum": [
"document",
"containers",
"blocks",
"custom"
],
"enumDescriptions": [
"Adds code lens at the top of the document",
"Adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)",
"Adds code lens at the start of block-like symbols (functions, methods, properties, etc) lines",
"Adds code lens at the start of symbols contained in `symbolScopes`"
]
},
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"description": "Specifies where Git code lens will be shown in the document for the specified language"
},
"symbolScopes": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"description": "Specifies the set of document symbols where Git code lens will be shown in the document for the specified language. Must be a member of `SymbolKind`"
}
}
},
"uniqueItems": true,
"markdownDescription": "Specifies where Git code lens will be shown in the document for the specified languages",
"scope": "resource"
},
"gitlens.codeLens.symbolScopes": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"markdownDescription": "Specifies a set of document symbols where Git code lens will or will not be shown in the document. Prefix with `!` to avoid providing a Git code lens for the symbol. Must be a member of `SymbolKind`",
"scope": "language-overridable"
},
"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 valid formats",
"scope": "window"
},
"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"
},
"gitlens.currentLine.format": {
"type": "string",
"default": "${message|50? • }${author}${\" via \"pullRequest}, ${agoOrDate}",
"markdownDescription": "Specifies the format of the current line blame annotation. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `#gitlens.currentLine.dateFormat#` setting",
"scope": "window"
},
"gitlens.currentLine.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide information about the Pull Request (if any) that introduced a commit in the current line blame annotation. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window"
},
"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",
"scope": "window"
},
"gitlens.debug": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies debug mode",
"scope": "window"
},
"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 valid formats",
"scope": "window"
},
"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 valid formats",
"scope": "window"
},
"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"
},
"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"
},
"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"
},
"gitlens.gitCommands.closeOnFocusOut": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to dismiss the Git Commands menu when focus is lost (if not, press `ESC` to dismiss)",
"scope": "window"
},
"gitlens.gitCommands.search.matchAll": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to match all or any commit message search patterns",
"scope": "window"
},
"gitlens.gitCommands.search.matchCase": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to match commit search patterns with or without regard to casing",
"scope": "window"
},
"gitlens.gitCommands.search.matchRegex": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to match commit search patterns using regular expressions",
"scope": "window"
},
"gitlens.gitCommands.search.showResultsInView": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show the commit search results in the _Search Commits_ view or directly within the quick pick menu",
"scope": "window"
},
"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 Commands` menu",
"Skips co-author confirmations when run from a command, e.g. a view action",
"Skips co-author confirmations when run from the `Git Commands` menu",
"Skips fetch confirmations when run from a command, e.g. a view action",
"Skips fetch confirmations when run from the `Git Commands` menu",
"Skips pull confirmations when run from a command, e.g. a view action",
"Skips pull confirmations when run from the `Git Commands` menu",
"Skips push confirmations when run from a command, e.g. a view action",
"Skips push confirmations when run from the `Git Commands` menu",
"Skips stash apply confirmations when run from a command, e.g. a view action",
"Skips stash apply confirmations when run from the `Git Commands` menu",
"Skips stash pop confirmations when run from a command, e.g. a view action",
"Skips stash pop confirmations when run from the `Git Commands` menu",
"Skips stash push confirmations when run from a command, e.g. a view action",
"Skips stash push confirmations when run from the `Git Commands` menu",
"Skips switch confirmations when run from a command, e.g. a view action",
"Skips switch confirmations when run from the `Git Commands` menu",
"Skips tag create confirmations when run from a command, e.g. a view action",
"Skips tag create confirmations when run from the `Git Commands` menu"
]
},
"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"
},
"gitlens.heatmap.ageThreshold": {
"type": "number",
"default": 90,
"markdownDescription": "Specifies the age of the most recent change (in days) after which the gutter heatmap annotations will be cold rather than hot (i.e. will use `#gitlens.heatmap.coldColor#` instead of `#gitlens.heatmap.hotColor#`)",
"scope": "window"
},
"gitlens.heatmap.coldColor": {
"type": "string",
"default": "#0a60f6",
"markdownDescription": "Specifies the base color of the gutter heatmap annotations when the most recent change is older (cold) than the `#gitlens.heatmap.ageThreshold#` value",
"scope": "window"
},
"gitlens.heatmap.hotColor": {
"type": "string",
"default": "#f66a0a",
"markdownDescription": "Specifies the base color of the gutter heatmap annotations when the most recent change is newer (hot) than the `#gitlens.heatmap.ageThreshold#` value",
"scope": "window"
},
"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 gutter heatmap annotations will be toggled",
"scope": "window"
},
"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"
},
"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"
},
"gitlens.hovers.annotations.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide any hovers when showing blame annotations",
"scope": "window"
},
"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"
},
"gitlens.hovers.currentLine.changes": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a _changes (diff)_ hover for the current line",
"scope": "window"
},
"gitlens.hovers.currentLine.details": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide a _commit details_ hover for the current line",
"scope": "window"
},
"gitlens.hovers.currentLine.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide any hovers for the current line",
"scope": "window"
},
"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"
},
"gitlens.hovers.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images in hovers",
"scope": "window"
},
"gitlens.hovers.avatarSize": {
"type": "number",
"default": 32,
"markdownDescription": "Specifies the size of the avatar images in hovers",
"scope": "window"
},
"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"
},
"gitlens.hovers.detailsMarkdownFormat": {
"type": "string",
"default": "${avatar} &nbsp;__${author}__${\" via \"pullRequest}, ${ago} &nbsp; _(${date})_ \n\n${message}\n\n${commands}",
"markdownDescription": "Specifies the format (in markdown) of the _commit details_ hover. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.hovers.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide any hovers",
"scope": "window"
},
"gitlens.hovers.autolinks.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to automatically link external resources in commit messages",
"scope": "window"
},
"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"
},
"gitlens.hovers.pullRequests.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide information about the Pull Request (if any) that introduced a commit in the hovers. Requires a connection to a supported remote service (e.g. GitHub)",
"scope": "window"
},
"gitlens.insiders": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to enable experimental features",
"scope": "window"
},
"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"
},
"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"
},
"gitlens.menus": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"editor": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"blame": {
"type": "boolean"
},
"clipboard": {
"type": "boolean"
},
"compare": {
"type": "boolean"
},
"details": {
"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"
}
}
}
]
}
}
}
],
"default": {
"editor": {
"blame": false,
"clipboard": true,
"compare": true,
"details": false,
"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": true,
"stash": true
}
},
"markdownDescription": "Specifies which commands will be added to which menus",
"scope": "window"
},
"gitlens.mode.active": {
"type": "string",
"markdownDescription": "Specifies the active GitLens mode, if any",
"scope": "window"
},
"gitlens.mode.statusBar.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide the active GitLens mode in the status bar",
"scope": "window"
},
"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"
},
"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 code lens 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"
},
"views": {
"type": "boolean",
"description": "Specifies whether to show any GitLens views 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 code lens 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"
},
"views": {
"type": "boolean",
"description": "Specifies whether to show any GitLens views 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 gutter blame annotations",
"Shows the gutter changes annotations",
"Shows the gutter 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 code lens 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"
},
"views": {
"type": "boolean",
"description": "Specifies whether to show any GitLens views 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"
},
"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"
},
"gitlens.remotes": {
"type": [
"array",
"null"
],
"default": null,
"items": {
"type": "object",
"required": [
"type",
"domain"
],
"properties": {
"type": {
"type": "string",
"enum": [
"Bitbucket",
"BitbucketServer",
"Custom",
"GitHub",
"GitLab"
],
"description": "Specifies the type of the custom remote service"
},
"domain": {
"type": "string",
"description": "Specifies the domain name of the custom remote service"
},
"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"
},
"urls": {
"type": "object",
"required": [
"repository",
"branches",
"branch",
"commit",
"file",
"fileInCommit",
"fileInBranch",
"fileLine",
"fileRange"
],
"properties": {
"repository": {
"type": "string",
"description": "Specifies the format of a respository url for the custom remote service\nAvailable tokens\n ${repo}` &mdash; repository path"
},
"branches": {
"type": "string",
"description": "Specifies the format of a branches url for the custom remote service\nAvailable tokens\n ${repo}` &mdash; repository path\n ${branch}` &mdash; branch"
},
"branch": {
"type": "string",
"description": "Specifies the format of a branch url for the custom remote service\nAvailable tokens\n ${repo}` &mdash; repository path\n ${branch}` &mdash; branch"
},
"commit": {
"type": "string",
"description": "Specifies the format of a commit url for the custom remote service\nAvailable tokens\n ${repo}` &mdash; repository path\n ${id}` &mdash; commit id"
},
"file": {
"type": "string",
"description": "Specifies the format of a file url for the custom remote service\nAvailable tokens\n ${repo}` &mdash; repository path\n ${file}` &mdash; file name\n ${line}` &mdash; formatted line information"
},
"fileInBranch": {
"type": "string",
"description": "Specifies the format of a branch file url for the custom remote service\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",
"description": "Specifies the format of a commit file url for the custom remote service\nAvailable tokens\n ${repo}` &mdash; repository path\n ${file}` &mdash; file name\n ${id}` &mdash; commit id\n ${line}` &mdash; formatted line information"
},
"fileLine": {
"type": "string",
"description": "Specifies the format of a line in a file url for the custom remote service\nAvailable tokens\n ${line}` &mdash; line"
},
"fileRange": {
"type": "string",
"description": "Specifies the format of a range in a file url for the custom remote service\nAvailable tokens\n ${start}` &mdash; starting line\n ${end}` &mdash; ending line"
}
}
},
"description": "Specifies the url formats of the custom remote service"
}
},
"uniqueItems": true,
"markdownDescription": "Specifies user-defined remote (code-hosting) services or custom domains for built-in remote services",
"scope": "resource"
},
"gitlens.showWhatsNewAfterUpgrades": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show What's New after upgrading to new feature releases",
"scope": "window"
},
"gitlens.sortBranchesBy": {
"type": "string",
"default": "name:desc",
"enum": [
"name:desc",
"name:asc",
"date:desc",
"date:asc"
],
"enumDescriptions": [
"Sorts branches by name in descending order",
"Sorts branches by name in ascending order",
"Sorts branches by the most recent commit date in descending order",
"Sorts branches by the most recent commit date in ascending order"
],
"markdownDescription": "Specifies how branches are sorted in quick pick menus and views",
"scope": "window"
},
"gitlens.sortTagsBy": {
"type": "string",
"default": "name:desc",
"enum": [
"name:desc",
"name:asc",
"date:desc",
"date:asc"
],
"enumDescriptions": [
"Sorts tags by name in descending order",
"Sorts tags by name in ascending order",
"Sorts tags by date in descending order",
"Sorts tags by date in ascending order"
],
"markdownDescription": "Specifies how tags are sorted in quick pick menus and views",
"scope": "window"
},
"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"
},
"gitlens.statusBar.command": {
"type": "string",
"default": "gitlens.showQuickCommitDetails",
"enum": [
"gitlens.toggleFileBlame",
"gitlens.diffWithPrevious",
"gitlens.diffWithWorking",
"gitlens.toggleCodeLens",
"gitlens.revealCommitInView",
"gitlens.showCommitsInView",
"gitlens.showQuickCommitDetails",
"gitlens.showQuickCommitFileDetails",
"gitlens.showQuickFileHistory",
"gitlens.showQuickRepoHistory"
],
"enumDescriptions": [
"Toggles file blame annotations",
"Compares the current line commit with the previous",
"Compares the current line commit with the working tree",
"Toggles Git code lens",
"Reveals the commit in the Repositories view",
"Shows the commit in the Search Commits view",
"Shows a commit details quick pick",
"Shows a commit file details quick pick",
"Shows a file history quick pick",
"Shows a branch history quick pick"
],
"markdownDescription": "Specifies the command to be executed when the blame status bar item is clicked",
"scope": "window"
},
"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 valid formats",
"scope": "window"
},
"gitlens.statusBar.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide blame information in the status bar",
"scope": "window"
},
"gitlens.statusBar.format": {
"type": "string",
"default": "${author}, ${agoOrDate}",
"markdownDescription": "Specifies the format of the blame information in the status bar. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs. Date formatting is controlled by the `#gitlens.statusBar.dateFormat#` setting",
"scope": "window"
},
"gitlens.statusBar.reduceFlicker": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to avoid clearing the previous blame information when changing lines to reduce status bar \"flashing\"",
"scope": "window"
},
"gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors": {
"type": "string",
"default": "Unsaved changes (cannot determine recent change or authors)",
"markdownDescription": "Specifies the string to be shown in place of both the _recent change_ and _authors_ code lens when there are unsaved changes",
"scope": "window"
},
"gitlens.strings.codeLens.unsavedChanges.recentChangeOnly": {
"type": "string",
"default": "Unsaved changes (cannot determine recent change)",
"markdownDescription": "Specifies the string to be shown in place of the _recent change_ code lens when there are unsaved changes",
"scope": "window"
},
"gitlens.strings.codeLens.unsavedChanges.authorsOnly": {
"type": "string",
"default": "Unsaved changes (cannot determine authors)",
"markdownDescription": "Specifies the string to be shown in place of the _authors_ code lens when there are unsaved changes",
"scope": "window"
},
"gitlens.views.commitFileFormat": {
"type": "string",
"default": "${file}",
"markdownDescription": "Specifies the format of a committed file in the views. See [_File Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#file-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.views.commitFileDescriptionFormat": {
"type": "string",
"default": "${directory}${ ← originalPath}",
"markdownDescription": "Specifies the description format of a committed file in the views. See [_File Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#file-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.views.commitFormat": {
"type": "string",
"default": "${❰ tips ❱➤ }${message}",
"markdownDescription": "Specifies the format of committed changes in the views. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.views.commitDescriptionFormat": {
"type": "string",
"default": "${changes • }${author}, ${agoOrDate}",
"markdownDescription": "Specifies the description format of committed changes in the views. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.views.compare.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Compare_ view",
"scope": "window"
},
"gitlens.views.compare.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the _Compare_ view",
"scope": "window"
},
"gitlens.views.compare.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Compare_ view. Only applies when `#gitlens.views.compare.files.layout#` is set to `tree` or `auto`",
"scope": "window"
},
"gitlens.views.compare.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.compare.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 _Compare_ view will display files",
"scope": "window"
},
"gitlens.views.compare.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 _Compare_ view. Only applies when `#gitlens.views.compare.files.layout#` is set to `auto`",
"scope": "window"
},
"gitlens.views.compare.location": {
"type": "string",
"default": "gitlens",
"enum": [
"gitlens",
"explorer",
"scm"
],
"enumDescriptions": [
"Adds to the GitLens side bar",
"Adds to the Explorer side bar",
"Adds to the Source Control side bar"
],
"markdownDescription": "Specifies where to show the _Compare_ view",
"scope": "window"
},
"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"
},
"gitlens.views.pageItemLimit": {
"type": "number",
"default": 20,
"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"
},
"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"
},
"gitlens.views.fileHistory.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the _File History_ view",
"scope": "window"
},
"gitlens.views.fileHistory.location": {
"type": "string",
"default": "gitlens",
"enum": [
"gitlens",
"explorer",
"scm"
],
"enumDescriptions": [
"Adds to the GitLens side bar",
"Adds to the Explorer side bar",
"Adds to the Source Control side bar"
],
"markdownDescription": "Specifies where to show the _File History_ view",
"scope": "window"
},
"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"
},
"gitlens.views.lineHistory.enabled": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show the _Line History_ view",
"scope": "window"
},
"gitlens.views.lineHistory.location": {
"type": "string",
"default": "gitlens",
"enum": [
"gitlens",
"explorer",
"scm"
],
"enumDescriptions": [
"Adds to the GitLens side bar",
"Adds to the Explorer side bar",
"Adds to the Source Control side bar"
],
"markdownDescription": "Specifies where to show the _Line History_ view",
"scope": "window"
},
"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"
},
"gitlens.views.repositories.autoReveal": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to automatically reveal repositories in the _Repositories_ view when opening files",
"scope": "window"
},
"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"
},
"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"
},
"gitlens.views.repositories.compact": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether to show the _Repositories_ view in a compact display density",
"scope": "window"
},
"gitlens.views.repositories.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the _Repositories_ view",
"scope": "window"
},
"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"
},
"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"
},
"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"
},
"gitlens.views.repositories.includeWorkingTree": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to include working tree file status for each repository in the _Repositories_ view",
"scope": "window"
},
"gitlens.views.repositories.location": {
"type": "string",
"default": "gitlens",
"enum": [
"gitlens",
"explorer",
"scm"
],
"enumDescriptions": [
"Adds to the GitLens side bar",
"Adds to the Explorer side bar",
"Adds to the Source Control side bar"
],
"markdownDescription": "Specifies where to show the _Repositories_ view",
"scope": "window"
},
"gitlens.views.repositories.showBranchComparison": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "string",
"enum": [
"branch",
"working"
],
"enumDescriptions": [
"Compares the current branch to the user-selected reference",
"Compares the working tree to the user-selected reference"
]
}
],
"default": "working",
"markdownDescription": "Specifies whether to show a comparison of a user-selected reference (branch, tag. etc) to the current branch or the working tree in the _Repositories_ view",
"scope": "window"
},
"gitlens.views.repositories.showTrackingBranch": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the tracking branch when displaying local branches in the _Repositories_ view",
"scope": "window"
},
"gitlens.views.search.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the _Search Commits_ view",
"scope": "window"
},
"gitlens.views.search.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show the _Search Commits_ view",
"scope": "window"
},
"gitlens.views.search.files.compact": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Search Commits_ view. Only applies when `#gitlens.views.search.files.layout#` is set to `tree` or `auto`",
"scope": "window"
},
"gitlens.views.search.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.search.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 Commits_ view will display files",
"scope": "window"
},
"gitlens.views.search.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 Commits_ view. Only applies when `#gitlens.views.search.files.layout#` is set to `auto`",
"scope": "window"
},
"gitlens.views.search.location": {
"type": "string",
"default": "gitlens",
"enum": [
"gitlens",
"explorer",
"scm"
],
"enumDescriptions": [
"Adds to the GitLens side bar",
"Adds to the Explorer side bar",
"Adds to the Source Control side bar"
],
"markdownDescription": "Specifies where to show the _Search Commits_ view",
"scope": "window"
},
"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"
},
"gitlens.views.stashFileFormat": {
"type": "string",
"default": "${file}",
"markdownDescription": "Specifies the format of a stashed file in the views. See [_File Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#file-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.views.stashFileDescriptionFormat": {
"type": "string",
"default": "${directory}${ ← originalPath}",
"markdownDescription": "Specifies the description format of a stashed file in the views. See [_File Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#file-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.views.stashFormat": {
"type": "string",
"default": "${message}",
"markdownDescription": "Specifies the format of stashes in the views. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.views.stashDescriptionFormat": {
"type": "string",
"default": "${changes • }${agoOrDate}",
"markdownDescription": "Specifies the description format of stashes in the views. See [_Commit Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#commit-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.views.statusFileFormat": {
"type": "string",
"default": "${working }${file}",
"markdownDescription": "Specifies the format of the status of a working or committed file in the views. See [_File Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#file-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.views.statusFileDescriptionFormat": {
"type": "string",
"default": "${directory}${ ← originalPath}",
"markdownDescription": "Specifies the description format of the status of a working or committed file in the views. See [_File Tokens_](https://github.com/eamodio/vscode-gitlens/wiki/Custom-Formatting#file-tokens) in the GitLens docs",
"scope": "window"
},
"gitlens.advanced.abbreviatedShaLength": {
"type": "number",
"default": "7",
"markdownDescription": "Specifies the length of abbreviated commit ids (shas)",
"scope": "window"
},
"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"
},
"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"
},
"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"
},
"gitlens.advanced.caching.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether git output will be cached — changing the default is not recommended",
"scope": "window"
},
"gitlens.advanced.fileHistoryFollowsRenames": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether file histories will follow renames — will affect how merge commits are shown in histories",
"scope": "window"
},
"gitlens.advanced.fileHistoryShowAllBranches": {
"type": "boolean",
"default": false,
"markdownDescription": "Specifies whether file histories will show commits from all branches",
"scope": "window"
},
"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"
},
"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"
},
"gitlens.advanced.messages": {
"type": "object",
"default": {
"suppressCommitHasNoPreviousCommitWarning": false,
"suppressCommitNotFoundWarning": false,
"suppressFileNotUnderSourceControlWarning": false,
"suppressGitDisabledWarning": false,
"suppressGitVersionWarning": false,
"suppressLineUncommittedWarning": false,
"suppressNoRepositoryWarning": false
},
"properties": {
"suppressCommitHasNoPreviousCommitWarning": {
"type": "boolean",
"default": false
},
"suppressCommitNotFoundWarning": {
"type": "boolean",
"default": false
},
"suppressFileNotUnderSourceControlWarning": {
"type": "boolean",
"default": false
},
"suppressGitDisabledWarning": {
"type": "boolean",
"default": false
},
"suppressGitVersionWarning": {
"type": "boolean",
"default": false
},
"suppressLineUncommittedWarning": {
"type": "boolean",
"default": false
},
"suppressNoRepositoryWarning": {
"type": "boolean",
"default": false
}
},
"markdownDescription": "Specifies which messages should be suppressed",
"scope": "window"
},
"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"
},
"gitlens.advanced.repositorySearchDepth": {
"type": "number",
"default": 1,
"markdownDescription": "Specifies how many folders deep to search for repositories",
"scope": "resource"
},
"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"
},
"gitlens.advanced.useSymmetricDifferenceNotation": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to use the symmetric difference (three-dot) notation or the range (two-dot) notation for comparisons. See the [Git docs](https://git-scm.com/docs/gitrevisions#_dotted_range_notations)",
"scope": "window"
}
}
},
"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 gutter blame annotations",
"defaults": {
"dark": "#FFFFFF13",
"light": "#0000000C",
"highContrast": "#FFFFFF13"
}
},
{
"id": "gitlens.gutterForegroundColor",
"description": "Specifies the foreground color of the gutter blame annotations",
"defaults": {
"dark": "#BEBEBE",
"light": "#747474",
"highContrast": "#BEBEBE"
}
},
{
"id": "gitlens.gutterUncommittedForegroundColor",
"description": "Specifies the foreground color of an uncommitted line in the gutter 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 overview ruler color of the associated line highlights in blame annotations",
"defaults": {
"dark": "#00BCF299",
"light": "#00BCF299",
"highContrast": "#00BCF299"
}
}
],
"commands": [
{
"command": "gitlens.supportGitLens",
"title": "Sponsor GitLens",
"category": "GitLens",
"icon": "$(heart)"
},
{
"command": "gitlens.showSettingsPage",
"title": "Open Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage#repositories-view",
"title": "Open Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage#file-history-view",
"title": "Open Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage#line-history-view",
"title": "Open Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage#search-commits-view",
"title": "Open Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showSettingsPage#compare-view",
"title": "Open Settings",
"category": "GitLens",
"icon": "$(gear)"
},
{
"command": "gitlens.showWelcomePage",
"title": "Welcome",
"category": "GitLens"
},
{
"command": "gitlens.showCompareView",
"title": "Show Compare View",
"category": "GitLens"
},
{
"command": "gitlens.showFileHistoryView",
"title": "Show File History View",
"category": "GitLens"
},
{
"command": "gitlens.showLineHistoryView",
"title": "Show Line History View",
"category": "GitLens"
},
{
"command": "gitlens.showRepositoriesView",
"title": "Show Repositories View",
"category": "GitLens"
},
{
"command": "gitlens.showSearchView",
"title": "Show Search Commits View",
"category": "GitLens"
},
{
"command": "gitlens.diffDirectory",
"title": "Directory Compare Working Tree with...",
"category": "GitLens"
},
{
"command": "gitlens.diffDirectoryWithHead",
"title": "Directory Compare All Changes",
"category": "GitLens"
},
{
"command": "gitlens.diffHeadWith",
"title": "Compare HEAD with...",
"category": "GitLens"
},
{
"command": "gitlens.diffWorkingWith",
"title": "Compare Working Tree with...",
"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.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.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.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.toggleFileBlame",
"title": "Toggle File Blame Annotations",
"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 Annotations",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.toggleFileChanges",
"title": "Toggle File Changes Annotations",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-git.svg",
"light": "images/light/icon-git.svg"
}
},
{
"command": "gitlens.toggleLineBlame",
"title": "Toggle Line Blame Annotations",
"category": "GitLens"
},
{
"command": "gitlens.toggleCodeLens",
"title": "Toggle Git Code Lens",
"category": "GitLens"
},
{
"command": "gitlens.gitCommands",
"title": "Git Commands",
"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 Repositories View",
"category": "GitLens"
},
{
"command": "gitlens.showCommitInView",
"title": "Show Commit in Search Commits View",
"category": "GitLens"
},
{
"command": "gitlens.showCommitsInView",
"title": "Show Commits within Selection in Search Commits View",
"category": "GitLens"
},
{
"command": "gitlens.showFileHistoryInView",
"title": "Show in File History View",
"category": "GitLens"
},
{
"command": "gitlens.showQuickCommitDetails",
"title": "Show Commit",
"category": "GitLens"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"title": "Show Commit",
"category": "GitLens"
},
{
"command": "gitlens.showQuickRevisionDetails",
"title": "Show Revision Details",
"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.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": {
"dark": "images/dark/icon-person-add.svg",
"light": "images/light/icon-person-add.svg"
}
},
{
"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.copyMessageToClipboard",
"title": "Copy Commit Message",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-copy-message.svg",
"light": "images/light/icon-copy-message.svg"
}
},
{
"command": "gitlens.copyRemoteCommitUrlToClipboard",
"title": "Copy Remote Commit Url",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-copy-link.svg",
"light": "images/light/icon-copy-link.svg"
}
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"title": "Copy Remote File Url",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-copy-link.svg",
"light": "images/light/icon-copy-link.svg"
}
},
{
"command": "gitlens.copyShaToClipboard",
"title": "Copy Commit ID",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-copy.svg",
"light": "images/light/icon-copy.svg"
}
},
{
"command": "gitlens.closeUnchangedFiles",
"title": "Close Unchanged Files",
"category": "GitLens"
},
{
"command": "gitlens.openChangedFiles",
"title": "Open Changed Files",
"category": "GitLens"
},
{
"command": "gitlens.openBranchesInRemote",
"title": "Open Branches on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.openBranchInRemote",
"title": "Open Branch on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.openCommitInRemote",
"title": "Open Commit on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"command": "gitlens.openFileFromRemote",
"title": "Open File From Remote",
"category": "GitLens"
},
{
"command": "gitlens.openFileInRemote",
"title": "Open File on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"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.openRepoInRemote",
"title": "Open Repository on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"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.openWorkingFile",
"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 (with difftool)",
"category": "GitLens"
},
{
"command": "gitlens.externalDiffAll",
"title": "Open All Changes (with difftool)",
"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 at Revision",
"category": "GitLens",
"icon": "$(folder-opened)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.browseRepoAtRevisionInNewWindow",
"title": "Browse Repository at Revision in New Window",
"category": "GitLens",
"icon": "$(folder-opened)",
"enablement": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git"
},
{
"command": "gitlens.views.browseRepoAtRevision",
"title": "Browse Repository from Revision",
"category": "GitLens",
"icon": "$(folder-opened)"
},
{
"command": "gitlens.views.browseRepoAtRevisionInNewWindow",
"title": "Browse Repository at Revision in New Window",
"category": "GitLens",
"icon": "$(folder-opened)"
},
{
"command": "gitlens.fetchRepositories",
"title": "Fetch Repositories",
"category": "GitLens",
"icon": "$(sync)"
},
{
"command": "gitlens.pullRepositories",
"title": "Pull Repositories",
"category": "GitLens",
"icon": "$(arrow-down)"
},
{
"command": "gitlens.pushRepositories",
"title": "Push Repositories",
"category": "GitLens",
"icon": "$(arrow-up)"
},
{
"command": "gitlens.views.addRemote",
"title": "Add Remote",
"category": "GitLens",
"icon": "$(add)"
},
{
"command": "gitlens.views.highlightChanges",
"title": "Highlight Changes",
"category": "GitLens"
},
{
"command": "gitlens.views.highlightRevisionChanges",
"title": "Highlight Revision Changes",
"category": "GitLens"
},
{
"command": "gitlens.views.restore",
"title": "Restore",
"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"
},
{
"command": "gitlens.views.repositories.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.lineHistory.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.compare.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.search.copy",
"title": "Copy",
"category": "GitLens"
},
{
"command": "gitlens.views.pruneRemote",
"title": "Prune",
"category": "GitLens"
},
{
"command": "gitlens.views.fetch",
"title": "Fetch",
"category": "GitLens",
"icon": "$(sync)"
},
{
"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": "$(add)"
},
{
"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"
},
{
"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.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.openFileRevisionInRemote",
"title": "Open File at Revision on Remote",
"category": "GitLens",
"icon": "$(globe)"
},
{
"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.compareWithRemote",
"title": "Compare with Remote",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-compare-ref-remote.svg",
"light": "images/light/icon-compare-ref-remote.svg"
}
},
{
"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.contributors.addAuthors",
"title": "Add Co-authors",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-person-add.svg",
"light": "images/light/icon-person-add.svg"
}
},
{
"command": "gitlens.views.contributor.addAuthor",
"title": "Add as Co-author",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-person-add.svg",
"light": "images/light/icon-person-add.svg"
}
},
{
"command": "gitlens.views.contributor.copyToClipboard",
"title": "Copy",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-copy.svg",
"light": "images/light/icon-copy.svg"
}
},
{
"command": "gitlens.views.setComparisonToTwoDot",
"title": "Switch to Two-dot Comparison",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-compare-twodot.svg",
"light": "images/light/icon-compare-twodot.svg"
}
},
{
"command": "gitlens.views.setComparisonToThreeDot",
"title": "Switch to Three-dot Comparison",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-compare-threedot.svg",
"light": "images/light/icon-compare-threedot.svg"
}
},
{
"command": "gitlens.views.cherryPick",
"title": "Cherry Pick Commit...",
"category": "GitLens"
},
{
"command": "gitlens.views.createBranch",
"title": "Create Branch...",
"category": "GitLens"
},
{
"command": "gitlens.views.deleteBranch",
"title": "Delete Branch...",
"category": "GitLens"
},
{
"command": "gitlens.views.renameBranch",
"title": "Rename Branch...",
"category": "GitLens"
},
{
"command": "gitlens.views.createTag",
"title": "Create Tag...",
"category": "GitLens"
},
{
"command": "gitlens.views.deleteTag",
"title": "Delete Tag...",
"category": "GitLens"
},
{
"command": "gitlens.views.mergeBranchInto",
"title": "Merge Branch into Current...",
"category": "GitLens"
},
{
"command": "gitlens.views.pushToCommit",
"title": "Push to Commit...",
"category": "GitLens"
},
{
"command": "gitlens.views.rebaseOntoBranch",
"title": "Rebase Current onto Branch...",
"category": "GitLens"
},
{
"command": "gitlens.views.rebaseOntoCommit",
"title": "Rebase Current onto Commit...",
"category": "GitLens"
},
{
"command": "gitlens.views.rebaseOntoUpstream",
"title": "Rebase Current onto Upstream...",
"category": "GitLens"
},
{
"command": "gitlens.views.reset",
"title": "Reset to Commit...",
"category": "GitLens"
},
{
"command": "gitlens.views.revert",
"title": "Revert Commit...",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalRemoveRemote",
"title": "Remove Remote (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.repositories.setBranchComparisonToWorking",
"title": "Switch to Working Tree Comparison",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-compare-ref-working.svg",
"light": "images/light/icon-compare-ref-working.svg"
}
},
{
"command": "gitlens.views.repositories.setBranchComparisonToBranch",
"title": "Switch to Branch Comparison",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToList",
"title": "Toggle Branch Layout (Tree)",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToTree",
"title": "Toggle Branch Layout (List)",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToAuto",
"title": "Toggle File Layout (Tree)",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToList",
"title": "Toggle File Layout (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 File Layout (List)",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"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.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.fileHistory.changeBase",
"title": "Change Base...",
"category": "GitLens",
"icon": "$(history)"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOn",
"title": "Unpin the Current File History",
"category": "GitLens",
"icon": "$(pinned)"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOff",
"title": "Pin the Current File History",
"category": "GitLens",
"icon": "$(pin)"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOn",
"title": "Follow the Cursor",
"category": "GitLens",
"icon": "$(eye)"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOff",
"title": "Unfollow the Cursor",
"category": "GitLens",
"icon": "$(eye-closed)"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOn",
"title": "Follow Renames",
"category": "GitLens",
"enablement": "!config.gitlens.advanced.fileHistoryShowAllBranches"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOff",
"title": "Don't Follow Renames",
"category": "GitLens",
"enablement": "!config.gitlens.advanced.fileHistoryShowAllBranches"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOn",
"title": "Show Commits from All Branches",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOff",
"title": "Show Commits from Current Branch Only",
"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.lineHistory.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.lineHistory.changeBase",
"title": "Change Base...",
"category": "GitLens",
"icon": "$(history)"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOn",
"title": "Unpin the Current File History",
"category": "GitLens",
"icon": "$(pinned)"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOff",
"title": "Pin the Current File History",
"category": "GitLens",
"icon": "$(pin)"
},
{
"command": "gitlens.views.lineHistory.setRenameFollowingOn",
"title": "Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.views.lineHistory.setRenameFollowingOff",
"title": "Don't Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.compare.selectForCompare",
"title": "Compare References...",
"category": "GitLens",
"icon": "$(compare-changes)"
},
{
"command": "gitlens.views.compare.clear",
"title": "Clear Results",
"category": "GitLens",
"icon": "$(clear-all)"
},
{
"command": "gitlens.views.compare.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.compare.setFilesLayoutToAuto",
"title": "Automatic Layout",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.compare.setFilesLayoutToList",
"title": "List Layout",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"command": "gitlens.views.compare.setFilesLayoutToTree",
"title": "Tree Layout",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.compare.setKeepResultsToOn",
"title": "Keep Results",
"category": "GitLens",
"icon": "$(unlock)"
},
{
"command": "gitlens.views.compare.setKeepResultsToOff",
"title": "Keep Results",
"category": "GitLens",
"icon": "$(lock)"
},
{
"command": "gitlens.views.compare.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.compare.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.compare.pinComparison",
"title": "Pin Comparison",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-pin.svg",
"light": "images/light/icon-pin.svg"
}
},
{
"command": "gitlens.views.compare.unpinComparison",
"title": "Unpin Comparison",
"category": "GitLens",
"icon": "$(pin)"
},
{
"command": "gitlens.views.compare.swapComparison",
"title": "Swap Comparison",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-swap.svg",
"light": "images/light/icon-swap.svg"
}
},
{
"command": "gitlens.views.search.searchCommits",
"title": "Search Commits",
"category": "GitLens",
"icon": "$(search)"
},
{
"command": "gitlens.views.search.clear",
"title": "Clear Results",
"category": "GitLens",
"icon": "$(clear-all)"
},
{
"command": "gitlens.views.search.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.search.setFilesLayoutToAuto",
"title": "Automatic Layout",
"category": "GitLens",
"icon": "$(list-tree)"
},
{
"command": "gitlens.views.search.setFilesLayoutToList",
"title": "List Layout",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-view-auto.svg",
"light": "images/light/icon-view-auto.svg"
}
},
{
"command": "gitlens.views.search.setFilesLayoutToTree",
"title": "Tree Layout",
"category": "GitLens",
"icon": "$(list-flat)"
},
{
"command": "gitlens.views.search.setKeepResultsToOn",
"title": "Keep Results",
"category": "GitLens",
"icon": "$(unlock)"
},
{
"command": "gitlens.views.search.setKeepResultsToOff",
"title": "Keep Results",
"category": "GitLens",
"icon": "$(lock)"
},
{
"command": "gitlens.views.search.setShowAvatarsOn",
"title": "Show Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.search.setShowAvatarsOff",
"title": "Hide Avatars",
"category": "GitLens"
},
{
"command": "gitlens.views.dismissNode",
"title": "Dismiss",
"category": "GitLens",
"icon": "$(close)"
},
{
"command": "gitlens.views.expandNode",
"title": "Expand",
"category": "GitLens"
},
{
"command": "gitlens.views.refreshNode",
"title": "Refresh",
"category": "GitLens",
"icon": "$(refresh)"
},
{
"command": "gitlens.views.showMoreChildren",
"title": "Load More",
"category": "GitLens"
},
{
"command": "gitlens.views.showAllChildren",
"title": "Load All",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-unfold.svg",
"light": "images/light/icon-unfold.svg"
}
}
],
"menus": {
"commandPalette": [
{
"command": "gitlens.showSettingsPage#repositories-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage#file-history-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage#line-history-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage#search-commits-view",
"when": "false"
},
{
"command": "gitlens.showSettingsPage#compare-view",
"when": "false"
},
{
"command": "gitlens.showCompareView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showFileHistoryView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showLineHistoryView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showRepositoriesView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.showSearchView",
"when": "gitlens:enabled"
},
{
"command": "gitlens.diffDirectory",
"when": "gitlens:enabled"
},
{
"command": "gitlens.diffDirectoryWithHead",
"when": "gitlens:enabled"
},
{
"command": "gitlens.diffHeadWith",
"when": "gitlens:enabled"
},
{
"command": "gitlens.diffWorkingWith",
"when": "gitlens:enabled"
},
{
"command": "gitlens.diffWithRevisionFrom",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithNext",
"when": "gitlens:activeFileStatus =~ /revision/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithNext",
"when": "gitlens:activeFileStatus =~ /revision/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"when": "gitlens:activeFileStatus =~ /revision/ && isInDiffLeftEditor"
},
{
"command": "gitlens.diffWithPrevious",
"when": "gitlens:activeFileStatus =~ /tracked/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithPrevious",
"when": "gitlens:activeFileStatus =~ /tracked/ && isInDiffLeftEditor"
},
{
"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/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithWorkingInDiffRight",
"when": "gitlens:activeFileStatus =~ /revision/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffLineWithWorking",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.externalDiff",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.externalDiffAll",
"when": "gitlens:enabled"
},
{
"command": "gitlens.toggleFileBlame",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.clearFileAnnotations",
"when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:annotationStatus == computed"
},
{
"command": "gitlens.computingFileAnnotations",
"when": "false"
},
{
"command": "gitlens.toggleFileHeatmap",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleFileChanges",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleLineBlame",
"when": "gitlens:enabled"
},
{
"command": "gitlens.toggleCodeLens",
"when": "gitlens:enabled && gitlens:canToggleCodeLens"
},
{
"command": "gitlens.gitCommands",
"when": "gitlens:enabled && !gitlens:readonly"
},
{
"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": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.showQuickCommitDetails",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.showQuickRevisionDetails",
"when": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.showQuickFileHistory",
"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.connectRemoteProvider",
"when": "false"
},
{
"command": "gitlens.disconnectRemoteProvider",
"when": "false"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.copyRemoteCommitUrlToClipboard",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.closeUnchangedFiles",
"when": "gitlens:enabled"
},
{
"command": "gitlens.openChangedFiles",
"when": "gitlens:enabled"
},
{
"command": "gitlens.openBranchesInRemote",
"when": "gitlens:hasRemotes"
},
{
"command": "gitlens.openBranchInRemote",
"when": "gitlens:hasRemotes"
},
{
"command": "gitlens.openCommitInRemote",
"when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.openFileInRemote",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
},
{
"command": "gitlens.openFileRevision",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.openFileRevisionFrom",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.openRepoInRemote",
"when": "gitlens:hasRemotes"
},
{
"command": "gitlens.openRevisionFile",
"when": "gitlens:activeFileStatus =~ /revision/ && isInDiffEditor"
},
{
"command": "gitlens.openWorkingFile",
"when": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.stashApply",
"when": "gitlens:enabled && !gitlens:readonly"
},
{
"command": "gitlens.views.deleteStash",
"when": "false"
},
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled && !gitlens:readonly"
},
{
"command": "gitlens.stashSaveFiles",
"when": "false"
},
{
"command": "gitlens.resetSuppressedWarnings",
"when": "gitlens:enabled"
},
{
"command": "gitlens.inviteToLiveShare",
"when": "false"
},
{
"command": "gitlens.browseRepoAtRevision",
"when": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.browseRepoAtRevisionInNewWindow",
"when": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.views.browseRepoAtRevision",
"when": "false"
},
{
"command": "gitlens.views.browseRepoAtRevisionInNewWindow",
"when": "false"
},
{
"command": "gitlens.fetchRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly"
},
{
"command": "gitlens.pullRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly"
},
{
"command": "gitlens.pushRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly"
},
{
"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.switchToBranch",
"when": "false"
},
{
"command": "gitlens.views.switchToCommit",
"when": "false"
},
{
"command": "gitlens.views.switchToTag",
"when": "false"
},
{
"command": "gitlens.views.copy",
"when": "false"
},
{
"command": "gitlens.views.repositories.copy",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.copy",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.copy",
"when": "false"
},
{
"command": "gitlens.views.compare.copy",
"when": "false"
},
{
"command": "gitlens.views.search.copy",
"when": "false"
},
{
"command": "gitlens.views.pruneRemote",
"when": "false"
},
{
"command": "gitlens.views.fetch",
"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.openFile",
"when": "false"
},
{
"command": "gitlens.views.openFileRevision",
"when": "false"
},
{
"command": "gitlens.views.openFileRevisionInRemote",
"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.compareWithRemote",
"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.contributors.addAuthors",
"when": "false"
},
{
"command": "gitlens.views.contributor.addAuthor",
"when": "false"
},
{
"command": "gitlens.views.contributor.copyToClipboard",
"when": "false"
},
{
"command": "gitlens.views.setComparisonToTwoDot",
"when": "false"
},
{
"command": "gitlens.views.setComparisonToThreeDot",
"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.reset",
"when": "false"
},
{
"command": "gitlens.views.revert",
"when": "false"
},
{
"command": "gitlens.views.terminalRemoveRemote",
"when": "false"
},
{
"command": "gitlens.views.createTag",
"when": "false"
},
{
"command": "gitlens.views.deleteTag",
"when": "false"
},
{
"command": "gitlens.views.repositories.refresh",
"when": "false"
},
{
"command": "gitlens.views.repositories.setBranchComparisonToWorking",
"when": "false"
},
{
"command": "gitlens.views.repositories.setBranchComparisonToBranch",
"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.setAutoRefreshToOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setAutoRefreshToOff",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.refresh",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.changeBase",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOff",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOff",
"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.lineHistory.refresh",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.changeBase",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOn",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOff",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setRenameFollowingOn",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setRenameFollowingOff",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.compare.selectForCompare",
"when": "gitlens:enabled && config.gitlens.views.compare.enabled"
},
{
"command": "gitlens.views.compare.clear",
"when": "false"
},
{
"command": "gitlens.views.compare.refresh",
"when": "false"
},
{
"command": "gitlens.views.compare.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.compare.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.compare.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.compare.setKeepResultsToOn",
"when": "false"
},
{
"command": "gitlens.views.compare.setKeepResultsToOff",
"when": "false"
},
{
"command": "gitlens.views.compare.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.compare.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.compare.pinComparison",
"when": "false"
},
{
"command": "gitlens.views.compare.unpinComparison",
"when": "false"
},
{
"command": "gitlens.views.search.searchCommits",
"when": "false"
},
{
"command": "gitlens.views.search.clear",
"when": "false"
},
{
"command": "gitlens.views.search.refresh",
"when": "false"
},
{
"command": "gitlens.views.search.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.views.search.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.views.search.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.views.search.setKeepResultsToOn",
"when": "false"
},
{
"command": "gitlens.views.search.setKeepResultsToOff",
"when": "false"
},
{
"command": "gitlens.views.search.setShowAvatarsOn",
"when": "false"
},
{
"command": "gitlens.views.search.setShowAvatarsOff",
"when": "false"
},
{
"command": "gitlens.views.dismissNode",
"when": "false"
},
{
"command": "gitlens.views.expandNode",
"when": "false"
},
{
"command": "gitlens.views.refreshNode",
"when": "false"
},
{
"command": "gitlens.views.showMoreChildren",
"when": "false"
},
{
"command": "gitlens.views.showAllChildren",
"when": "false"
}
],
"editor/context": [
{
"command": "gitlens.showQuickCommitFileDetails",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.details",
"group": "2_gitlens@1"
},
{
"command": "gitlens.toggleFileBlame",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.blame",
"group": "2_gitlens@2"
},
{
"command": "gitlens.openFileInRemote",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote",
"group": "2_gitlens_remote@1"
},
{
"command": "gitlens.openCommitInRemote",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote",
"group": "2_gitlens_remote@2"
},
{
"command": "gitlens.diffLineWithPrevious",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.compare",
"group": "3_compare@1"
},
{
"command": "gitlens.diffLineWithWorking",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.compare",
"group": "3_compare@2"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history",
"group": "4_gitlens@1"
},
{
"command": "gitlens.showFileHistoryInView",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history",
"group": "4_gitlens@2"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "9_cutcopypaste_gitlens@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "9_cutcopypaste_gitlens@2"
},
{
"command": "gitlens.copyRemoteCommitUrlToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.clipboard",
"group": "9_cutcopypaste_gitlens@3"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.clipboard",
"group": "9_cutcopypaste_gitlens@4"
}
],
"editor/title": [
{
"command": "gitlens.diffWithWorking",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && !isInDiffEditor",
"group": "navigation@-99"
},
{
"command": "gitlens.diffWithWorking",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && isInDiffLeftEditor",
"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 =~ /^(?!(file|git)$).*$/",
"group": "navigation@-98"
},
{
"command": "gitlens.openWorkingFile",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme == git && !isInDiffEditor",
"group": "navigation@-98"
},
{
"command": "gitlens.openRevisionFile",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme =~ /^(?!(file|git)$).*$/ && isInDiffEditor",
"group": "navigation@-97"
},
{
"command": "gitlens.diffWithPrevious",
"alt": "gitlens.diffWithRevision",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && !isInDiffEditor",
"group": "navigation@97"
},
{
"command": "gitlens.diffWithPrevious",
"alt": "gitlens.diffWithRevision",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && isInDiffLeftEditor",
"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",
"group": "navigation@98"
},
{
"command": "gitlens.diffWithNext",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && !isInDiffEditor",
"group": "navigation@99"
},
{
"command": "gitlens.diffWithNext",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && isInDiffRightEditor",
"group": "navigation@99"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare && isInDiffLeftEditor",
"group": "navigation@99"
},
{
"command": "gitlens.toggleFileBlame",
"alt": "gitlens.toggleFileHeatmap",
"when": "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"
}
],
"editor/title/context": [
{
"command": "gitlens.openRevisionFile",
"when": "resourceScheme == gitlens",
"group": "1_co_gitlens@1"
},
{
"command": "gitlens.openWorkingFile",
"when": "resourceScheme == gitlens",
"group": "1_co_gitlens@2"
},
{
"command": "gitlens.openFileInRemote",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.editorTab.remote",
"group": "1_co_gitlens@3"
},
{
"command": "gitlens.diffWithPrevious",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.compare",
"group": "1_co_gitlens_1@1"
},
{
"command": "gitlens.diffWithRevision",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.compare",
"group": "1_co_gitlens_1@2"
},
{
"command": "gitlens.diffWithWorking",
"when": "resourceScheme == gitlens && config.gitlens.menus.editorTab.compare",
"group": "1_co_gitlens_1@3"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.history",
"group": "1_co_gitlens_2@1"
},
{
"command": "gitlens.showFileHistoryInView",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.history",
"group": "1_co_gitlens_2@2"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.editorTab.clipboard",
"group": "1_cutcopypaste@100"
}
],
"explorer/context": [
{
"command": "gitlens.openFileInRemote",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.remote",
"group": "1_gitlens@100"
},
{
"command": "gitlens.diffWithPrevious",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.compare",
"group": "3_compare@-2"
},
{
"command": "gitlens.diffWithRevision",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.compare",
"group": "3_compare@-1"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.history",
"group": "4_gitlens@1"
},
{
"command": "gitlens.showFileHistoryInView",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.history",
"group": "4_gitlens@2"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.clipboard",
"group": "6_copypath@100"
}
],
"extension/context": [
{
"command": "gitlens.showWelcomePage",
"when": "extension == eamodio.gitlens && extensionStatus == installed",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage",
"when": "extension == eamodio.gitlens && extensionStatus == installed",
"group": "9_gitlens@2"
}
],
"scm/title": [
{
"command": "gitlens.addAuthors",
"when": "gitlens:enabled && !gitlens:readonly && config.gitlens.menus.scm.authors",
"group": "navigation@-99"
}
],
"scm/resourceGroup/context": [
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled && !gitlens:readonly && config.gitlens.menus.scmGroupInline.stash",
"group": "inline@-1"
},
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled && !gitlens:readonly && config.gitlens.menus.scmGroup.stash",
"group": "1_modification@100"
},
{
"command": "gitlens.openChangedFiles",
"when": "gitlens:enabled && config.gitlens.menus.scmGroup.openClose",
"group": "2_gitlens@1"
},
{
"command": "gitlens.closeUnchangedFiles",
"when": "gitlens:enabled && config.gitlens.menus.scmGroup.openClose",
"group": "2_gitlens@2"
},
{
"command": "gitlens.externalDiffAll",
"when": "gitlens:enabled && config.gitlens.menus.scmGroup.compare",
"group": "3_gitlens@3"
},
{
"command": "gitlens.diffDirectoryWithHead",
"when": "gitlens:enabled && config.gitlens.menus.scmGroup.compare",
"group": "3_gitlens@4"
}
],
"scm/resourceState/context": [
{
"command": "gitlens.openFileInRemote",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.scmItem.remote",
"group": "navigation"
},
{
"command": "gitlens.externalDiff",
"when": "gitlens:enabled && config.gitlens.menus.scmItem.compare",
"group": "navigation"
},
{
"command": "gitlens.diffWithRevision",
"when": "gitlens:enabled && config.gitlens.menus.scmItem.compare",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffWithRevisionFrom",
"when": "gitlens:enabled && config.gitlens.menus.scmItem.compare",
"group": "1_gitlens@2"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "gitlens:enabled && config.gitlens.menus.scmItem.history",
"group": "1_gitlens_1@1"
},
{
"command": "gitlens.showFileHistoryInView",
"when": "gitlens:enabled && config.gitlens.menus.scmItem.history",
"group": "1_gitlens_1@2"
},
{
"command": "gitlens.stashSaveFiles",
"when": "gitlens:enabled && !gitlens:readonly && config.gitlens.menus.scmItem.stash",
"group": "1_modification@-1"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.scmItem.clipboard",
"group": "9_gitlens@1"
}
],
"view/title": [
{
"command": "gitlens.pushRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && view =~ /^gitlens\\.views\\.repositories:/",
"group": "navigation@10"
},
{
"command": "gitlens.pullRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && view =~ /^gitlens\\.views\\.repositories:/",
"group": "navigation@11"
},
{
"command": "gitlens.fetchRepositories",
"when": "gitlens:hasRemotes && !gitlens:readonly && view =~ /^gitlens\\.views\\.repositories:/",
"group": "navigation@12"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.repositories:/ && config.gitlens.views.repositories.files.layout == auto",
"group": "navigation@13"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.repositories:/ && config.gitlens.views.repositories.files.layout == list",
"group": "navigation@13"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.repositories:/ && config.gitlens.views.repositories.files.layout == tree",
"group": "navigation@13"
},
{
"command": "gitlens.views.repositories.refresh",
"when": "view =~ /^gitlens\\.views\\.repositories:/",
"group": "navigation@99"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.repositories:/ && !config.gitlens.views.repositories.avatars",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.repositories.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.repositories:/ && config.gitlens.views.repositories.avatars",
"group": "1_gitlens@0"
},
{
"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.fileHistory.setEditorFollowingOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && !gitlens:views:fileHistory:editorFollowing",
"group": "navigation@10"
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && gitlens:views:fileHistory:editorFollowing",
"group": "navigation@10"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && !gitlens:views:fileHistory:cursorFollowing",
"group": "navigation@11"
},
{
"command": "gitlens.views.fileHistory.setCursorFollowingOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && gitlens:views:fileHistory:cursorFollowing",
"group": "navigation@11"
},
{
"command": "gitlens.views.fileHistory.changeBase",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/",
"group": "navigation@12"
},
{
"command": "gitlens.views.fileHistory.refresh",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/",
"group": "navigation@99"
},
{
"command": "gitlens.views.fileHistory.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && !config.gitlens.views.fileHistory.avatars",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.fileHistory.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && config.gitlens.views.fileHistory.avatars",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && !config.gitlens.advanced.fileHistoryFollowsRenames && !config.gitlens.advanced.fileHistoryShowAllBranches",
"group": "2_gitlens@0"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && config.gitlens.advanced.fileHistoryShowAllBranches",
"group": "2_gitlens@0"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && config.gitlens.advanced.fileHistoryFollowsRenames && !config.gitlens.advanced.fileHistoryShowAllBranches",
"group": "2_gitlens@0"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && !config.gitlens.advanced.fileHistoryShowAllBranches",
"group": "2_gitlens@1"
},
{
"command": "gitlens.views.fileHistory.setShowAllBranchesOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && config.gitlens.advanced.fileHistoryShowAllBranches",
"group": "2_gitlens@1"
},
{
"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.changeBase",
"when": "view =~ /^gitlens\\.views\\.lineHistory:/",
"group": "navigation@11"
},
{
"command": "gitlens.views.lineHistory.refresh",
"when": "view =~ /^gitlens\\.views\\.lineHistory:/",
"group": "navigation@99"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.lineHistory:/ && !config.gitlens.views.lineHistory.avatars",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.lineHistory.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.lineHistory:/ && config.gitlens.views.lineHistory.avatars",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.lineHistory.setRenameFollowingOn",
"when": "view =~ /^gitlens\\.views\\.lineHistory:/ && !config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "2_gitlens@0"
},
{
"command": "gitlens.views.lineHistory.setRenameFollowingOff",
"when": "view =~ /^gitlens\\.views\\.lineHistory:/ && config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "2_gitlens@0"
},
{
"command": "gitlens.views.compare.selectForCompare",
"when": "view =~ /^gitlens\\.views\\.compare:/",
"group": "navigation@10"
},
{
"command": "gitlens.views.compare.setKeepResultsToOn",
"when": "view =~ /^gitlens\\.views\\.compare:/ && !gitlens:views:compare:keepResults",
"group": "navigation@11"
},
{
"command": "gitlens.views.compare.setKeepResultsToOff",
"when": "view =~ /^gitlens\\.views\\.compare:/ && gitlens:views:compare:keepResults",
"group": "navigation@11"
},
{
"command": "gitlens.views.compare.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.compare:/ && config.gitlens.views.compare.files.layout == auto",
"group": "navigation@12"
},
{
"command": "gitlens.views.compare.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.compare:/ && config.gitlens.views.compare.files.layout == list",
"group": "navigation@12"
},
{
"command": "gitlens.views.compare.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.compare:/ && config.gitlens.views.compare.files.layout == tree",
"group": "navigation@12"
},
{
"command": "gitlens.views.compare.clear",
"when": "view =~ /^gitlens\\.views\\.compare:/",
"group": "navigation@98"
},
{
"command": "gitlens.views.compare.refresh",
"when": "view =~ /^gitlens\\.views\\.compare:/",
"group": "navigation@99"
},
{
"command": "gitlens.views.compare.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.compare:/ && !config.gitlens.views.compare.avatars",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.compare.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.compare:/ && config.gitlens.views.compare.avatars",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.search.searchCommits",
"when": "view =~ /^gitlens\\.views\\.search:/",
"group": "navigation@10"
},
{
"command": "gitlens.views.search.setKeepResultsToOn",
"when": "view =~ /^gitlens\\.views\\.search:/ && !gitlens:views:search:keepResults",
"group": "navigation@11"
},
{
"command": "gitlens.views.search.setKeepResultsToOff",
"when": "view =~ /^gitlens\\.views\\.search:/ && gitlens:views:search:keepResults",
"group": "navigation@11"
},
{
"command": "gitlens.views.search.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.search:/ && config.gitlens.views.search.files.layout == auto",
"group": "navigation@12"
},
{
"command": "gitlens.views.search.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.search:/ && config.gitlens.views.search.files.layout == list",
"group": "navigation@12"
},
{
"command": "gitlens.views.search.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.search:/ && config.gitlens.views.search.files.layout == tree",
"group": "navigation@12"
},
{
"command": "gitlens.views.search.clear",
"when": "view =~ /^gitlens\\.views\\.search:/",
"group": "navigation@98"
},
{
"command": "gitlens.views.search.refresh",
"when": "view =~ /^gitlens\\.views\\.search:/",
"group": "navigation@99"
},
{
"command": "gitlens.views.search.setShowAvatarsOn",
"when": "view =~ /^gitlens\\.views\\.search:/ && !config.gitlens.views.search.avatars",
"group": "1_gitlens@0"
},
{
"command": "gitlens.views.search.setShowAvatarsOff",
"when": "view =~ /^gitlens\\.views\\.search:/ && config.gitlens.views.search.avatars",
"group": "1_gitlens@0"
},
{
"command": "gitlens.showSettingsPage#repositories-view",
"when": "view =~ /^gitlens\\.views\\.repositories:/",
"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#search-commits-view",
"when": "view =~ /^gitlens\\.views\\.search:/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.showSettingsPage",
"when": "view =~ /^gitlens\\.views\\.compare:/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.supportGitLens",
"when": "view =~ /^gitlens\\.views\\..*:/",
"group": "9_gitlens@-1"
}
],
"view/item/context": [
{
"command": "gitlens.views.repositories.setBranchesLayoutToList",
"when": "viewItem =~ /gitlens:branches\\b/ && config.gitlens.views.repositories.branches.layout == tree",
"group": "inline@1"
},
{
"command": "gitlens.views.repositories.setBranchesLayoutToTree",
"when": "viewItem =~ /gitlens:branches\\b/ && config.gitlens.views.repositories.branches.layout == list",
"group": "inline@1"
},
{
"command": "gitlens.openBranchesInRemote",
"when": "viewItem =~ /gitlens:branches\\b(?=.*?\\b\\+remotes\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.openBranchesInRemote",
"when": "viewItem =~ /gitlens:branches\\b(?=.*?\\b\\+remotes\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.push",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+ahead\\b)/",
"group": "inline@8",
"alt": "gitlens.views.pushWithForce"
},
{
"command": "gitlens.views.pull",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+behind\\b)/",
"group": "inline@9"
},
{
"command": "gitlens.views.switchToBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b/",
"group": "inline@10"
},
{
"command": "gitlens.views.compareWithRemote",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+tracking\\b)/",
"group": "inline@97"
},
{
"command": "gitlens.views.compareWithHead",
"when": "viewItem =~ /gitlens:(branch\\b(?!.*?\\b\\+current\\b)|commit\\b|stash\\b|tag\\b)/",
"group": "inline@98",
"alt": "gitlens.views.compareWithWorking"
},
{
"command": "gitlens.views.compareWithWorking",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.views.star",
"when": "viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+starred\\b)/",
"group": "inline@99"
},
{
"command": "gitlens.views.unstar",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+starred\\b)/",
"group": "inline@99"
},
{
"command": "gitlens.views.switchToBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.mergeBranchInto",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.rebaseOntoBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.rebaseOntoUpstream",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+current\\b)(?=.*?\\b\\+tracking\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.deleteBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.views.renameBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions@6"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions@7"
},
{
"command": "gitlens.views.createTag",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b/",
"group": "1_gitlens_actions@8"
},
{
"command": "gitlens.openBranchInRemote",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+(tracking|remote)\\b)/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.views.openDirectoryDiffWithWorking",
"when": "viewItem =~ /gitlens:(branch|tag)\\b/",
"group": "2_gitlens_quickopen@2"
},
{
"command": "gitlens.views.compareWithRemote",
"when": "viewItem =~ /gitlens:branch\\b(?=.*?\\b\\+tracking\\b)/",
"group": "4_gitlens_compare@1"
},
{
"command": "gitlens.views.compareWithHead",
"when": "viewItem =~ /gitlens:(branch\\b(?!.*?\\b\\+current\\b)|commit\\b|stash\\b|tag\\b)/",
"group": "4_gitlens_compare@2"
},
{
"command": "gitlens.views.compareWithWorking",
"when": "viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/",
"group": "4_gitlens_compare@3"
},
{
"command": "gitlens.views.compareAncestryWithWorking",
"when": "viewItem =~ /gitlens:branch\\b(?!.*?\\b\\+current\\b)/",
"group": "4_gitlens_compare@4"
},
{
"command": "gitlens.views.compareWithSelected",
"when": "viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/ && gitlens:views:canCompare",
"group": "4_gitlens_compare@98"
},
{
"command": "gitlens.views.selectForCompare",
"when": "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/",
"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.contributors.addAuthors",
"when": "viewItem =~ /gitlens:contributors\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.contributors.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.contributor.addAuthor",
"when": "viewItem =~ /gitlens:contributor\\b(?!.*?\\b\\+current\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.contributor.copyToClipboard",
"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.contributor.addAuthor",
"when": "viewItem =~ /gitlens:contributor\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.contributor.copyToClipboard",
"when": "viewItem =~ /gitlens:contributor\\b/",
"group": "7_gitlens_cutcopypaste@1"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "inline@98",
"alt": "gitlens.copyMessageToClipboard"
},
{
"command": "gitlens.openCommitInRemote",
"when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes",
"group": "inline@99"
},
{
"command": "gitlens.views.cherryPick",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b(?!.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.revert",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.reset",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.pushToCommit",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b(?=.*?\\b\\+current\\b)/",
"group": "1_gitlens_actions@4"
},
{
"command": "gitlens.views.rebaseOntoCommit",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions@5"
},
{
"command": "gitlens.views.switchToCommit",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions@6"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions_1@1"
},
{
"command": "gitlens.views.createTag",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/",
"group": "1_gitlens_actions_1@2"
},
{
"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"
},
{
"command": "gitlens.openCommitInRemote",
"when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes",
"group": "2_gitlens_quickopen_2@1",
"alt": "gitlens.copyRemoteCommitUrlToClipboard"
},
{
"command": "gitlens.revealCommitInView",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "3_gitlens_explore@1"
},
{
"command": "gitlens.showCommitInView",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "3_gitlens_explore@2"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "viewItem =~ /gitlens:(commit|file\\b(?=.*?\\b\\+committed\\b))\\b/",
"group": "7_gitlens_cutcopypaste@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "viewItem =~ /gitlens:(commit|stash|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.openFile",
"when": "viewItem =~ /gitlens:file\\b(?!.*?\\b\\+history\\b)/",
"group": "inline@1",
"alt": "gitlens.views.openFileRevision"
},
{
"command": "gitlens.views.openFileRevision",
"when": "viewItem =~ /gitlens:file\\b(?=.*?\\b\\+history\\b)/",
"group": "inline@1",
"alt": "gitlens.views.openFile"
},
{
"command": "gitlens.views.openChangesWithWorking",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "inline@96"
},
{
"command": "gitlens.views.stageFile",
"when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+unstaged\\b)/",
"group": "inline@97"
},
{
"command": "gitlens.views.unstageFile",
"when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+staged\\b)/",
"group": "inline@97"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)\\b/",
"group": "inline@98",
"alt": "gitlens.copyMessageToClipboard"
},
{
"command": "gitlens.openFileInRemote",
"when": "viewItem =~ /gitlens:(file\\b(?!.*?\\b\\+(un)?staged\\b)|history:(file|line))\\b/ && gitlens:hasRemotes",
"group": "inline@99",
"alt": "gitlens.copyRemoteFileUrlToClipboard"
},
{
"command": "gitlens.views.stageFile",
"when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+unstaged\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.unstageFile",
"when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b(?=.*?\\b\\+staged\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.stashSaveFiles",
"when": "!gitlens:readonly && 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"
},
{
"command": "gitlens.externalDiff",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens_quickopen@2"
},
{
"command": "gitlens.views.openChangesWithWorking",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens_quickopen@3"
},
{
"command": "gitlens.views.openFile",
"when": "viewItem =~ /gitlens:(file|history:(file|line)|status:file)\\b/",
"group": "2_gitlens_quickopen_1@1"
},
{
"command": "gitlens.views.openFileRevision",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results)/",
"group": "2_gitlens_quickopen_1@2"
},
{
"command": "gitlens.openFileInRemote",
"when": "viewItem =~ /gitlens:file\\b/ && gitlens:hasRemotes",
"group": "2_gitlens_quickopen_2@1",
"alt": "gitlens.copyRemoteFileUrlToClipboard"
},
{
"command": "gitlens.views.openFileRevisionInRemote",
"when": "viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/ && gitlens:hasRemotes",
"group": "2_gitlens_quickopen_2@2"
},
{
"command": "gitlens.openCommitInRemote",
"when": "viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/ && gitlens:hasRemotes",
"group": "2_gitlens_quickopen_2@3",
"alt": "gitlens.copyRemoteCommitUrlToClipboard"
},
{
"command": "gitlens.views.highlightChanges",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results)/",
"group": "2_gitlens_quickopen_3@1"
},
{
"command": "gitlens.views.highlightRevisionChanges",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results)/",
"group": "2_gitlens_quickopen_3@2"
},
{
"command": "gitlens.showFileHistoryInView",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "3_gitlens_explore@4"
},
{
"command": "gitlens.revealCommitInView",
"when": "viewItem =~ /gitlens:file\\b(?!(:stash|:status))/",
"group": "3_gitlens_explore@3"
},
{
"command": "gitlens.showCommitInView",
"when": "viewItem =~ /gitlens:file\\b(?!(:stash|:status))/",
"group": "3_gitlens_explore@4"
},
{
"command": "gitlens.copyRemoteCommitUrlToClipboard",
"when": "viewItem =~ /gitlens:file\\b(?=.*?\\b\\+committed\\b)/ && gitlens:hasRemotes",
"group": "7_gitlens_cutcopypaste@3"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "viewItem =~ /gitlens:(file\\b(?=.*?\\b\\+committed\\b)|history:(file|line)|status:file)\\b/ && gitlens:hasRemotes",
"group": "7_gitlens_cutcopypaste@4"
},
{
"command": "gitlens.views.applyChanges",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results\\b)/",
"group": "8_gitlens_actions@1"
},
{
"command": "gitlens.views.restore",
"when": "viewItem =~ /gitlens:file\\b((?=.*?\\b\\+committed\\b)|:results\\b)/",
"group": "8_gitlens_actions@2"
},
{
"command": "gitlens.openFileInRemote",
"when": "viewItem =~ /gitlens:(history:(file|line)|status:file)\\b/ && gitlens:hasRemotes",
"group": "5_gitlens_open@2",
"alt": "gitlens.copyRemoteFileUrlToClipboard"
},
{
"command": "gitlens.views.applyChanges",
"when": "!gitlens:readonly && viewItem == gitlens:file:stash",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.restore",
"when": "!gitlens:readonly && viewItem == gitlens:file:stash",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.addRemote",
"when": "!gitlens:readonly && viewItem =~ /gitlens:remotes\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.addRemote",
"when": "!gitlens:readonly && viewItem =~ /gitlens:remotes\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.fetch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:remote\\b/",
"group": "inline@97"
},
{
"command": "gitlens.connectRemoteProvider",
"when": "viewItem =~ /gitlens:remote\\b(?=.*?\\b\\+disconnected\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.disconnectRemoteProvider",
"when": "viewItem =~ /gitlens:remote\\b(?=.*?\\b\\+connected\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.openRepoInRemote",
"when": "viewItem =~ /gitlens:remote\\b/",
"group": "inline@99"
},
{
"command": "gitlens.views.fetch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:remote\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pruneRemote",
"when": "!gitlens:readonly && viewItem =~ /gitlens:remote\\b/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.openRepoInRemote",
"when": "viewItem =~ /gitlens:remote\\b/",
"group": "5_gitlens_open@1"
},
{
"command": "gitlens.openBranchesInRemote",
"when": "viewItem =~ /gitlens:remote\\b/",
"group": "5_gitlens_open@2"
},
{
"command": "gitlens.views.terminalRemoveRemote",
"when": "!gitlens:readonly && 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": "viewItem =~ /gitlens:remote\\b(?=.*?\\b\\+disconnected\\b)/",
"group": "8_gitlens_actions@2"
},
{
"command": "gitlens.disconnectRemoteProvider",
"when": "viewItem =~ /gitlens:remote\\b(?=.*?\\b\\+connected\\b)/",
"group": "8_gitlens_actions@2"
},
{
"command": "gitlens.views.browseRepoAtRevision",
"when": "viewItem =~ /gitlens:(branch|commit|file\\b((?=.*?\\b\\+committed\\b)|:results)|stash|tag)\\b/",
"group": "3_gitlens_explore@10"
},
{
"command": "gitlens.views.browseRepoAtRevisionInNewWindow",
"when": "viewItem =~ /gitlens:(branch|commit|file\\b((?=.*?\\b\\+committed\\b)|:results)|stash|tag)\\b/",
"group": "3_gitlens_explore@11"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem =~ /gitlens:repository\\b/",
"group": "inline@95",
"alt": "gitlens.views.pushWithForce"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem =~ /gitlens:repository\\b/",
"group": "inline@96"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem =~ /gitlens:repository\\b/",
"group": "inline@97"
},
{
"command": "gitlens.showCommitSearch",
"when": "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 && viewItem =~ /gitlens:repository\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem =~ /gitlens:repository\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem =~ /gitlens:repository\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pushWithForce",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem =~ /gitlens:repository\\b/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.openInTerminal",
"when": "viewItem =~ /gitlens:repository\\b/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.openRepoInRemote",
"when": "viewItem =~ /gitlens:repository\\b/ && gitlens:hasRemotes",
"group": "2_gitlens_quickopen@2"
},
{
"command": "gitlens.showCommitSearch",
"when": "viewItem =~ /gitlens:repository\\b/",
"group": "3_gitlens_explore@1"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && viewItem =~ /gitlens:repository\\b/",
"group": "1_gitlens_actions_1@1"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && 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 && viewItem == gitlens:status:upstream:ahead",
"group": "inline@1",
"alt": "gitlens.views.pushWithForce"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:behind",
"group": "inline@2"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:behind",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:ahead",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.pushWithForce",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:ahead",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.dismissNode",
"when": "viewItem =~ /gitlens:(compare:picker:ref|compare:results\\b(?!.*?\\b\\+pinned\\b)|search)\\b(?!:(commits|files))/",
"group": "inline@99"
},
{
"command": "gitlens.views.setComparisonToTwoDot",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)(?=.*?\\b\\+threedot\\b)/",
"group": "inline@1"
},
{
"command": "gitlens.views.setComparisonToThreeDot",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)(?=.*?\\b\\+twodot\\b)/",
"group": "inline@1"
},
{
"command": "gitlens.views.repositories.setBranchComparisonToWorking",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)(?=.*?\\b\\+branch\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.repositories.setBranchComparisonToBranch",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)(?=.*?\\b\\+working\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.setComparisonToTwoDot",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)(?=.*?\\b\\+threedot\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.setComparisonToThreeDot",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)(?=.*?\\b\\+twodot\\b)/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.repositories.setBranchComparisonToWorking",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)(?=.*?\\b\\+branch\\b)/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.repositories.setBranchComparisonToBranch",
"when": "viewItem =~ /gitlens:compare:branch\\b(?=.*?\\b\\+comparing\\b)(?=.*?\\b\\+working\\b)/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.setComparisonToTwoDot",
"when": "viewItem =~ /gitlens:compare:results\\b(?=.*?\\b\\+threedot\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.setComparisonToThreeDot",
"when": "viewItem =~ /gitlens:compare:results\\b(?=.*?\\b\\+twodot\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.compare.swapComparison",
"when": "viewItem =~ /gitlens:compare:results\\b/",
"group": "inline@3"
},
{
"command": "gitlens.views.refreshNode",
"when": "viewItem =~ /gitlens:compare:(branch(?=.*?\\b\\+comparing\\b)|results)\\b/",
"group": "inline@4"
},
{
"command": "gitlens.views.compare.pinComparison",
"when": "viewItem =~ /gitlens:compare:results\\b(?!.*?\\b\\+pinned\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.views.compare.unpinComparison",
"when": "viewItem =~ /gitlens:compare:results\\b(?=.*?\\b\\+pinned\\b)/",
"group": "inline@98"
},
{
"command": "gitlens.views.openDirectoryDiff",
"when": "viewItem =~ /gitlens:compare:results\\b/",
"group": "2_gitlens_quickopen@1"
},
{
"command": "gitlens.views.setComparisonToTwoDot",
"when": "viewItem =~ /gitlens:compare:results\\b(?=.*?\\b\\+threedot\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.setComparisonToThreeDot",
"when": "viewItem =~ /gitlens:compare:results\\b(?=.*?\\b\\+twodot\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.compare.swapComparison",
"when": "viewItem =~ /gitlens:compare:results\\b/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.compare.pinComparison",
"when": "viewItem =~ /gitlens:compare:results\\b(?!.*?\\b\\+pinned\\b)/",
"group": "8_gitlens_actions@1"
},
{
"command": "gitlens.views.compare.unpinComparison",
"when": "viewItem =~ /gitlens:compare:results\\b(?=.*?\\b\\+pinned\\b)/",
"group": "8_gitlens_actions@1"
},
{
"command": "gitlens.views.search.searchCommits",
"when": "viewItem == gitlens:search:results",
"group": "inline@1"
},
{
"command": "gitlens.views.refreshNode",
"when": "viewItem == gitlens:search:results",
"group": "inline@2"
},
{
"command": "gitlens.views.search.searchCommits",
"when": "viewItem == gitlens:search:results",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && viewItem =~ /^gitlens:(stashes|status:files)$/",
"group": "inline@98"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && viewItem == gitlens:stashes",
"group": "inline@99"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && viewItem =~ /^gitlens:(stashes|status:files)$/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && viewItem == gitlens:stashes",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && viewItem == gitlens:stash",
"group": "inline@98"
},
{
"command": "gitlens.views.deleteStash",
"when": "!gitlens:readonly && viewItem == gitlens:stash",
"group": "inline@99"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && viewItem == gitlens:stash",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.deleteStash",
"when": "!gitlens:readonly && viewItem == gitlens:stash",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.switchToTag",
"when": "!gitlens:readonly && viewItem =~ /gitlens:tag\\b/",
"group": "inline@10"
},
{
"command": "gitlens.views.switchToTag",
"when": "!gitlens:readonly && viewItem =~ /gitlens:tag\\b/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.deleteTag",
"when": "!gitlens:readonly && viewItem == gitlens:tag",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.createBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:tag\\b/",
"group": "1_gitlens_actions@3"
},
{
"command": "gitlens.views.stageDirectory",
"when": "viewItem =~ /gitlens:folder\\b(?=.*?\\b\\+working\\b)/",
"group": "inline@1"
},
{
"command": "gitlens.views.unstageDirectory",
"when": "viewItem =~ /gitlens:folder\\b(?=.*?\\b\\+working\\b)/",
"group": "inline@2"
},
{
"command": "gitlens.views.stageDirectory",
"when": "viewItem =~ /gitlens:folder\\b(?=.*?\\b\\+working\\b)/",
"group": "1_gitlens_actions@1"
},
{
"command": "gitlens.views.unstageDirectory",
"when": "viewItem =~ /gitlens:folder\\b(?=.*?\\b\\+working\\b)/",
"group": "1_gitlens_actions@2"
},
{
"command": "gitlens.views.dismissNode",
"when": "viewItem =~ /gitlens:(compare:picker:ref|compare:results\\b(?!.*?\\b\\+pinned\\b)|search)\\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\\b)/",
"group": "9_gitlens@99"
},
{
"command": "gitlens.views.showAllChildren",
"when": "viewItem =~ /gitlens:pager\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.showAllChildren",
"when": "viewItem =~ /gitlens:pager\\b/",
"group": "1_gitlens_actions@1"
}
]
},
"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.toggleFileBlame",
"key": "alt+b",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleCodeLens",
"key": "shift+alt+b",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:enabled && gitlens:canToggleCodeLens"
},
{
"command": "gitlens.showLastQuickPick",
"key": "alt+-",
"when": "config.gitlens.keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showCommitSearch",
"key": "alt+/",
"when": "config.gitlens.keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showQuickFileHistory",
"key": "alt+h",
"when": "config.gitlens.keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoHistory",
"key": "shift+alt+h",
"when": "config.gitlens.keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoStatus",
"key": "alt+s",
"when": "config.gitlens.keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"key": "alt+c",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:enabled"
},
{
"command": "gitlens.diffWithNext",
"key": "alt+.",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithNext",
"key": "alt+.",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"key": "alt+.",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && isInDiffLeftEditor"
},
{
"command": "gitlens.diffWithPrevious",
"key": "alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && !isInDiffEditor"
},
{
"command": "gitlens.diffWithPrevious",
"key": "alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && isInDiffLeftEditor"
},
{
"command": "gitlens.diffWithPreviousInDiffRight",
"key": "alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffLineWithPrevious",
"key": "shift+alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithWorking",
"key": "shift+alt+.",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffLineWithWorking",
"key": "alt+w",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"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": "ctrl+shift+g shift+b",
"mac": "cmd+alt+g shift+b",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:enabled && gitlens:canToggleCodeLens"
},
{
"command": "gitlens.showLastQuickPick",
"key": "ctrl+shift+g -",
"mac": "cmd+alt+g -",
"when": "config.gitlens.keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showCommitSearch",
"key": "ctrl+shift+g /",
"mac": "cmd+alt+g /",
"when": "config.gitlens.keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showQuickFileHistory",
"key": "ctrl+shift+g h",
"mac": "cmd+alt+g h",
"when": "config.gitlens.keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoHistory",
"key": "ctrl+shift+g shift+h",
"mac": "cmd+alt+g shift+h",
"when": "config.gitlens.keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoStatus",
"key": "ctrl+shift+g s",
"mac": "cmd+alt+g s",
"when": "config.gitlens.keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"key": "ctrl+shift+g c",
"mac": "cmd+alt+g c",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:enabled"
},
{
"command": "gitlens.diffWithNext",
"key": "ctrl+shift+g .",
"mac": "cmd+alt+g .",
"when": "config.gitlens.keymap == chorded && 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/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffWithNextInDiffLeft",
"key": "ctrl+shift+g .",
"mac": "cmd+alt+g .",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /revision/ && isInDiffLeftEditor"
},
{
"command": "gitlens.diffWithPrevious",
"key": "ctrl+shift+g ,",
"mac": "cmd+alt+g ,",
"when": "config.gitlens.keymap == chorded && 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/ && isInDiffLeftEditor"
},
{
"command": "gitlens.diffWithPreviousInDiffRight",
"key": "ctrl+shift+g ,",
"mac": "cmd+alt+g ,",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/ && isInDiffRightEditor"
},
{
"command": "gitlens.diffLineWithPrevious",
"key": "ctrl+shift+g shift+,",
"mac": "cmd+alt+g shift+,",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithWorking",
"key": "ctrl+shift+g shift+.",
"mac": "cmd+alt+g shift+.",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffLineWithWorking",
"key": "ctrl+shift+g w",
"mac": "cmd+alt+g w",
"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:enabled"
},
{
"command": "gitlens.views.repositories.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.repositories/"
},
{
"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.compare.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.compare/"
},
{
"command": "gitlens.views.search.copy",
"key": "ctrl+c",
"mac": "cmd+c",
"when": "gitlens:enabled && focusedView =~ /^gitlens\\.views\\.search/"
}
],
"customEditors": [
{
"viewType": "gitlens.rebase",
"displayName": "Interactive Rebase Editor",
"selector": [
{
"filenamePattern": "git-rebase-todo"
}
]
}
],
"resourceLabelFormatters": [
{
"scheme": "gitlens",
"authority": "*",
"formatting": {
"label": "${path} (${authority})",
"separator": "/"
}
}
],
"viewsContainers": {
"activitybar": [
{
"id": "gitlens",
"title": "GitLens",
"icon": "images/gitlens-activitybar.svg"
}
]
},
"views": {
"gitlens": [
{
"id": "gitlens.views.repositories:gitlens",
"name": "Repositories",
"when": "config.gitlens.views.repositories.enabled && config.gitlens.views.repositories.location == gitlens",
"contextualTitle": "GitLens",
"icon": "images/views/repositories.svg"
},
{
"id": "gitlens.views.fileHistory:gitlens",
"name": "File History",
"when": "config.gitlens.views.fileHistory.enabled && config.gitlens.views.fileHistory.location == gitlens",
"contextualTitle": "GitLens",
"icon": "images/views/history.svg"
},
{
"id": "gitlens.views.lineHistory:gitlens",
"name": "Line History",
"when": "config.gitlens.views.lineHistory.enabled && config.gitlens.views.lineHistory.location == gitlens",
"contextualTitle": "GitLens",
"icon": "images/views/history.svg",
"visibility": "hidden"
},
{
"id": "gitlens.views.compare:gitlens",
"name": "Compare Commits",
"when": "config.gitlens.views.compare.enabled && config.gitlens.views.compare.location == gitlens",
"contextualTitle": "GitLens",
"icon": "images/views/compare.svg",
"visibility": "collapsed"
},
{
"id": "gitlens.views.search:gitlens",
"name": "Search Commits",
"when": "config.gitlens.views.search.enabled && config.gitlens.views.search.location == gitlens",
"contextualTitle": "GitLens",
"icon": "images/views/search.svg",
"visibility": "collapsed"
}
],
"explorer": [
{
"id": "gitlens.views.repositories:explorer",
"name": "Repositories",
"when": "gitlens:enabled && config.gitlens.views.repositories.enabled && config.gitlens.views.repositories.location == explorer",
"contextualTitle": "GitLens",
"icon": "images/views/repositories.svg"
},
{
"id": "gitlens.views.fileHistory:explorer",
"name": "File History",
"when": "gitlens:enabled && config.gitlens.views.fileHistory.enabled && config.gitlens.views.fileHistory.location == explorer",
"contextualTitle": "GitLens",
"icon": "images/views/history.svg"
},
{
"id": "gitlens.views.lineHistory:explorer",
"name": "Line History",
"when": "gitlens:enabled && config.gitlens.views.lineHistory.enabled && config.gitlens.views.lineHistory.location == explorer",
"contextualTitle": "GitLens",
"icon": "images/views/history.svg",
"visibility": "hidden"
},
{
"id": "gitlens.views.compare:explorer",
"name": "Compare Commits",
"when": "gitlens:enabled && config.gitlens.views.compare.enabled && config.gitlens.views.compare.location == explorer",
"contextualTitle": "GitLens",
"icon": "images/views/compare.svg",
"visibility": "collapsed"
},
{
"id": "gitlens.views.search:explorer",
"name": "Search Commits",
"when": "gitlens:enabled && config.gitlens.views.search.enabled && config.gitlens.views.search.location == explorer",
"contextualTitle": "GitLens",
"icon": "images/views/search.svg",
"visibility": "collapsed"
}
],
"scm": [
{
"id": "gitlens.views.repositories:scm",
"name": "Repositories",
"when": "gitlens:enabled && config.gitlens.views.repositories.enabled && config.gitlens.views.repositories.location == scm",
"contextualTitle": "GitLens",
"icon": "images/views/repositories.svg"
},
{
"id": "gitlens.views.fileHistory:scm",
"name": "File History",
"when": "gitlens:enabled && config.gitlens.views.fileHistory.enabled && config.gitlens.views.fileHistory.location == scm",
"contextualTitle": "GitLens",
"icon": "images/views/history.svg"
},
{
"id": "gitlens.views.lineHistory:scm",
"name": "Line History",
"when": "gitlens:enabled && config.gitlens.views.lineHistory.enabled && config.gitlens.views.lineHistory.location == scm",
"contextualTitle": "GitLens",
"icon": "images/views/history.svg",
"visibility": "hidden"
},
{
"id": "gitlens.views.compare:scm",
"name": "Compare Commits",
"when": "gitlens:enabled && config.gitlens.views.compare.enabled && config.gitlens.views.compare.location == scm",
"contextualTitle": "GitLens",
"icon": "images/views/compare.svg",
"visibility": "collapsed"
},
{
"id": "gitlens.views.search:scm",
"name": "Search Commits",
"when": "gitlens:enabled && config.gitlens.views.search.enabled && config.gitlens.views.search.location == scm",
"contextualTitle": "GitLens",
"icon": "images/views/search.svg",
"visibility": "collapsed"
}
]
}
},
"scripts": {
"analyze:bundle": "webpack --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",
"bundle": "webpack --mode production",
"clean": "git clean -Xdf -e !node_modules -e !node_modules/**/*",
"lint": "eslint src/**/*.ts --fix --cache",
"optimize:webviews": "webpack --config-name webviews --env.optimizeImages",
"pack": "vsce package --yarn",
"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",
"watch": "webpack --watch --mode development --info-verbosity verbose",
"watch:extension": "webpack --watch --mode development --config-name extension --info-verbosity verbose",
"watch:webviews": "webpack --watch --mode development --config-name webviews --info-verbosity verbose",
"update-dts": "pushd \"src/@types\" && npx vscode-dts dev && popd",
"update-dts:master": "pushd \"src/@types\" && npx vscode-dts master && popd",
"update-emoji": "pushd emoji && node ./shortcodeToEmoji.js && popd",
"vscode:prepublish": "yarn run bundle"
},
"dependencies": {
"@octokit/graphql": "4.5.4",
"chroma-js": "2.1.0",
"dayjs": "1.8.33",
"iconv-lite": "0.6.2",
"lodash-es": "4.17.15",
"sortablejs": "1.10.2",
"vsls": "1.0.2594"
},
"devDependencies": {
"@types/chroma-js": "2.0.0",
"@types/keytar": "4.4.2",
"@types/lodash-es": "4.17.3",
"@types/node": "12.12.54",
"@types/sortablejs": "1.10.5",
"@types/vscode": "1.48.0",
"@typescript-eslint/eslint-plugin": "4.0.0-alpha.9",
"@typescript-eslint/parser": "4.0.0-alpha.9",
"circular-dependency-plugin": "5.2.0",
"clean-webpack-plugin": "3.0.0",
"csp-html-webpack-plugin": "4.0.0",
"css-loader": "4.2.1",
"eslint": "7.7.0",
"eslint-cli": "1.1.1",
"eslint-config-prettier": "6.11.0",
"eslint-plugin-import": "2.22.0",
"fork-ts-checker-webpack-plugin": "5.0.14",
"html-loader": "1.1.0",
"html-webpack-plugin": "4.3.0",
"html-webpack-skip-assets-plugin": "0.0.2",
"imagemin-webpack-plugin": "2.4.2",
"mini-css-extract-plugin": "0.10.0",
"node-sass": "4.14.1",
"prettier": "2.0.5",
"sass-loader": "9.0.3",
"terser-webpack-plugin": "4.1.0",
"ts-loader": "8.0.2",
"typescript": "4.0.1-rc",
"vsce": "1.78.0",
"webpack": "4.44.1",
"webpack-bundle-analyzer": "3.8.0",
"webpack-cli": "3.3.12"
}
}