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

4553 行
202 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": "9.0.3",
"author": {
"name": "Eric Amodio",
"email": "eamodio@gmail.com"
},
"publisher": "eamodio",
"license": "SEE LICENSE IN LICENSE",
"homepage": "https://github.com/eamodio/vscode-gitlens/blob/master/README.md",
"bugs": {
"url": "https://github.com/eamodio/vscode-gitlens/issues"
},
"repository": {
"type": "git",
"url": "https://github.com/eamodio/vscode-gitlens.git"
},
"engines": {
"vscode": "^1.29.0"
},
"main": "./dist/extension",
"icon": "images/gitlens-icon.png",
"preview": false,
"badges": [
{
"url": "https://img.shields.io/badge/vscode--dev--community-gitlens-blue.svg?logo=slack",
"href": "https://join.slack.com/t/vscode-dev-community/shared_invite/enQtMjIxOTgxNDE3NzM0LWU5M2ZiZDU1YjBlMzdlZjA2YjBjYzRhYTM5NTgzMTAxMjdiNWU0ZmQzYWI3MWU5N2Q1YjBiYmQ4MzY0NDE1MzY",
"description": "Join us in the #gitlens channel"
}
],
"categories": [
"Other"
],
"galleryBanner": {
"color": "#8647ae",
"theme": "dark"
},
"keywords": [
"gitlens",
"git",
"blame",
"log",
"annotation",
"multi-root ready"
],
"activationEvents": [
"*"
],
"contributes": {
"configuration": {
"type": "object",
"title": "GitLens",
"properties": {
"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",
"default": null,
"markdownDescription": "Specifies how to format absolute dates (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|40?} ${agoOrDate|14-}",
"markdownDescription": "Specifies the format of the gutter blame annotations. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.blame.dateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`",
"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 glyph",
"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.codeLens.authors.command": {
"type": "string",
"default": "gitlens.toggleFileBlame",
"enum": [
"gitlens.toggleFileBlame",
"gitlens.diffWithPrevious",
"gitlens.showQuickCommitDetails",
"gitlens.showQuickCommitFileDetails",
"gitlens.showQuickFileHistory",
"gitlens.showQuickRepoHistory"
],
"enumDescriptions": [
"Toggles file blame annotations",
"Compares the current committed file with the previous commit",
"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 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": {
"type": "string",
"default": "gitlens.showQuickCommitFileDetails",
"enum": [
"gitlens.toggleFileBlame",
"gitlens.diffWithPrevious",
"gitlens.showQuickCommitDetails",
"gitlens.showQuickCommitFileDetails",
"gitlens.showQuickFileHistory",
"gitlens.showQuickRepoHistory"
],
"enumDescriptions": [
"Toggles file blame annotations",
"Compares the current committed file with the previous commit",
"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 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": "resource"
},
"gitlens.codeLens.scopesByLanguage": {
"type": "array",
"default": [
{
"language": "azure-pipelines",
"scopes": [
"document"
]
},
{
"language": "css",
"scopes": [
"document"
]
},
{
"language": "html",
"scopes": [
"document"
]
},
{
"language": "json",
"scopes": [
"document"
]
},
{
"language": "jsonc",
"scopes": [
"document"
]
},
{
"language": "less",
"scopes": [
"document"
]
},
{
"language": "postcss",
"scopes": [
"document"
]
},
{
"language": "python",
"symbolScopes": [
"!Module"
]
},
{
"language": "scss",
"scopes": [
"document"
]
},
{
"language": "stylus",
"scopes": [
"document"
]
},
{
"language": "vue",
"scopes": [
"document"
]
},
{
"language": "yaml",
"scopes": [
"document"
]
}
],
"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": "resource"
},
"gitlens.currentLine.dateFormat": {
"type": "string",
"default": null,
"markdownDescription": "Specifies how to format absolute dates (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": "${authorAgoOrDate} • ${message}",
"markdownDescription": "Specifies the format of the current line blame annotation. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.currentLine.dateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`",
"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",
"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.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.heatmap.ageThreshold": {
"type": "string",
"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.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to provide any hovers",
"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"
}
}
}
]
},
"scmGroup": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"compare": {
"type": "boolean"
},
"openClose": {
"type": "boolean"
},
"stash": {
"type": "boolean"
},
"stashInline": {
"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
},
"scmGroup": {
"compare": true,
"openClose": true,
"stash": true,
"stashInline": 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",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"statusBarItemName": {
"type": "string"
},
"description": {
"type": "string"
},
"codeLens": {
"type": "boolean"
},
"currentLine": {
"type": "boolean"
},
"hovers": {
"type": "boolean"
},
"statusBar": {
"type": "boolean"
},
"views": {
"type": "boolean"
}
}
},
"review": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"statusBarItemName": {
"type": "string"
},
"description": {
"type": "string"
},
"codeLens": {
"type": "boolean"
},
"currentLine": {
"type": "boolean"
},
"hovers": {
"type": "boolean"
},
"statusBar": {
"type": "boolean"
},
"views": {
"type": "boolean"
}
}
}
},
"additionalProperties": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"statusBarItemName": {
"type": "string"
},
"description": {
"type": "string"
},
"codeLens": {
"type": "boolean"
},
"currentLine": {
"type": "boolean"
},
"hovers": {
"type": "boolean"
},
"statusBar": {
"type": "boolean"
},
"views": {
"type": "boolean"
}
}
},
"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"
],
"markdownDescription": "Specifies how much (if any) output will be sent to the GitLens output channel",
"scope": "window"
},
"gitlens.recentChanges.highlight.locations": {
"type": "array",
"default": [
"gutter",
"line",
"overview"
],
"items": {
"type": "string",
"enum": [
"gutter",
"line",
"overview"
],
"enumDescriptions": [
"Adds a gutter glyph",
"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 highlights of the recently changed lines will be shown",
"scope": "window"
},
"gitlens.recentChanges.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 recently changed lines annotations will be toggled",
"scope": "window"
},
"gitlens.remotes": {
"type": "array",
"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}` — repository path"
},
"branches": {
"type": "string",
"description": "Specifies the format of a branches url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${branch}` — branch"
},
"branch": {
"type": "string",
"description": "Specifies the format of a branch url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${branch}` — branch"
},
"commit": {
"type": "string",
"description": "Specifies the format of a commit url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${id}` — commit id"
},
"file": {
"type": "string",
"description": "Specifies the format of a file url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${file}` — file name\n ${line}` — formatted line information"
},
"fileInBranch": {
"type": "string",
"description": "Specifies the format of a branch file url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${file}` — file name\n ${branch}` — branch\n ${line}` — formatted line information"
},
"fileInCommit": {
"type": "string",
"description": "Specifies the format of a commit file url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${file}` — file name\n ${id}` — commit id\n ${line}` — 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}` — line"
},
"fileRange": {
"type": "string",
"description": "Specifies the format of a range in a file url for the custom remote service\nAvailable tokens\n ${start}` — starting line\n ${end}` — 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.settings.mode": {
"type": "string",
"default": "simple",
"enum": [
"simple",
"advanced"
],
"enumDescriptions": [
"Only displays common settings",
"Displays all settings"
],
"markdownDescription": "Specifies the display mode of the interactive settings editor",
"scope": "window"
},
"gitlens.showWhatsNewAfterUpgrades": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show What's New after upgrading to new feature releases",
"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.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",
"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",
"default": null,
"markdownDescription": "Specifies the date format of absolute dates shown 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": "${authorAgoOrDate}",
"markdownDescription": "Specifies the format of the gutter blame annotations. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.statusBar.dateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`",
"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.avatars": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the views",
"scope": "window"
},
"gitlens.views.commitFileFormat": {
"type": "string",
"default": "${filePath}",
"markdownDescription": "Specifies the format of a committed file in the views\n- Available tokens\n - `${directory}` — directory name\n - `${file}` — file name\n - `${filePath}` — formatted file name and path\n - `${path}` — full file path",
"scope": "window"
},
"gitlens.views.commitFormat": {
"type": "string",
"default": "${message} • ${authorAgoOrDate}${ • changes}${ (id)}",
"markdownDescription": "Specifies the format of committed changes in the views. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.defaultDateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`",
"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.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": true,
"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.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.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.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.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.stashFileFormat": {
"type": "string",
"default": "${filePath}",
"markdownDescription": "Specifies the format of a stashed file in the views\n- Available tokens\n - `${directory}` — directory name\n - `${file}` — file name\n - `${filePath}` — formatted file name and path\n - `${path}` — full file path",
"scope": "window"
},
"gitlens.views.stashFormat": {
"type": "string",
"default": "${message}",
"markdownDescription": "Specifies the format of stashed changes in the views. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.statusBar.dateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`",
"scope": "window"
},
"gitlens.views.statusFileFormat": {
"type": "string",
"default": "${working }${filePath}",
"markdownDescription": "Specifies the format of the status of a working or committed file in the views\n- Available tokens\n - `${directory}` — directory name\n - `${file}` — file name\n - `${filePath}` — formatted file name and path\n - `${path}` — full file path\n - `${working}` — optional indicator if the file is uncommitted",
"scope": "window"
},
"gitlens.advanced.blame.customArguments": {
"type": "array",
"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.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.messages": {
"type": "object",
"default": {
"suppressCommitHasNoPreviousCommitWarning": false,
"suppressCommitNotFoundWarning": false,
"suppressFileNotUnderSourceControlWarning": false,
"suppressGitDisabledWarning": false,
"suppressGitVersionWarning": false,
"suppressLineUncommittedWarning": false,
"suppressNoRepositoryWarning": false,
"suppressSupportGitLensNotification": 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
},
"suppressSupportGitLensNotification": {
"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 close QuickPick menus when focus is lost",
"scope": "window"
},
"gitlens.advanced.repositorySearchDepth": {
"type": "number",
"default": 1,
"markdownDescription": "Specifies how many folders deep to search for repositories",
"scope": "resource"
},
"gitlens.advanced.telemetry.enabled": {
"type": "boolean",
"default": true,
"markdownDescription": "Specifies whether to enable GitLens telemetry (even if enabled still abides by the overall `#telemetry.enableTelemetry#` setting",
"scope": "window"
}
}
},
"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": "Support GitLens ❤",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-heart.svg",
"light": "images/light/icon-heart.svg"
}
},
{
"command": "gitlens.showSettingsPage",
"title": "Open Settings",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-gear.svg",
"light": "images/light/icon-gear.svg"
}
},
{
"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.diffHeadWithBranch",
"title": "Compare HEAD with Branch or Tag...",
"category": "GitLens"
},
{
"command": "gitlens.diffWorkingWithBranch",
"title": "Compare Working Tree with Branch or Tag...",
"category": "GitLens"
},
{
"command": "gitlens.diffWithBranch",
"title": "Open Changes with Branch or Tag...",
"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"
}
},
{
"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.diffWithPreviousInDiff",
"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.diffWithWorking",
"title": "Open Changes with Working File",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-compare.svg",
"light": "images/light/icon-compare.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"
},
{
"command": "gitlens.toggleFileRecentChanges",
"title": "Toggle Recent 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.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.showCommitSearch",
"title": "Search Commits",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-search.svg",
"light": "images/light/icon-search.svg"
}
},
{
"command": "gitlens.showLastQuickPick",
"title": "Show Last Opened Quick Pick",
"category": "GitLens"
},
{
"command": "gitlens.showCommitInView",
"title": "Show Commit in View",
"category": "GitLens"
},
{
"command": "gitlens.showFileHistoryInView",
"title": "Show File History in View",
"category": "GitLens"
},
{
"command": "gitlens.showQuickCommitDetails",
"title": "Show Commit Details",
"category": "GitLens"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"title": "Show Commit Details",
"category": "GitLens"
},
{
"command": "gitlens.showQuickRevisionDetails",
"title": "Show Revision Details",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-commit.svg",
"light": "images/light/icon-commit.svg"
}
},
{
"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 Stashed Changes",
"category": "GitLens"
},
{
"command": "gitlens.copyMessageToClipboard",
"title": "Copy Commit Message to Clipboard",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-clipboard.svg",
"light": "images/light/icon-clipboard.svg"
}
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"title": "Copy Remote File Url to Clipboard",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-copy-remote.svg",
"light": "images/light/icon-copy-remote.svg"
}
},
{
"command": "gitlens.copyShaToClipboard",
"title": "Copy Commit ID to Clipboard",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-copy-commit.svg",
"light": "images/light/icon-copy-commit.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": {
"dark": "images/dark/icon-link.svg",
"light": "images/light/icon-link.svg"
}
},
{
"command": "gitlens.openBranchInRemote",
"title": "Open Branch on Remote",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-link.svg",
"light": "images/light/icon-link.svg"
}
},
{
"command": "gitlens.openCommitInRemote",
"title": "Open Commit on Remote",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-link.svg",
"light": "images/light/icon-link.svg"
}
},
{
"command": "gitlens.openFileInRemote",
"title": "Open File on Remote",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-link.svg",
"light": "images/light/icon-link.svg"
}
},
{
"command": "gitlens.openFileRevision",
"title": "Open Revision...",
"category": "GitLens"
},
{
"command": "gitlens.openRepoInRemote",
"title": "Open Repository on Remote",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-link.svg",
"light": "images/light/icon-link.svg"
}
},
{
"command": "gitlens.openWorkingFile",
"title": "Open Working File",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-open-working-file.svg",
"light": "images/light/icon-open-working-file.svg"
}
},
{
"command": "gitlens.stashApply",
"title": "Apply Stashed Changes",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-stash-pop.svg",
"light": "images/light/icon-stash-pop.svg"
}
},
{
"command": "gitlens.stashDelete",
"title": "Delete Stashed Changes",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-delete.svg",
"light": "images/light/icon-delete.svg"
}
},
{
"command": "gitlens.stashSave",
"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.views.exploreRepoRevision",
"title": "Explore Repository from Here",
"category": "GitLens"
},
{
"command": "gitlens.fetchRepositories",
"title": "Fetch Repositories",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-sync.svg",
"light": "images/light/icon-sync.svg"
}
},
{
"command": "gitlens.pullRepositories",
"title": "Pull Repositories",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-pull.svg",
"light": "images/light/icon-pull.svg"
}
},
{
"command": "gitlens.pushRepositories",
"title": "Push Repositories",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-push.svg",
"light": "images/light/icon-push.svg"
}
},
{
"command": "gitlens.views.checkout",
"title": "Checkout",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-checkout.svg",
"light": "images/light/icon-checkout.svg"
}
},
{
"command": "gitlens.views.fetch",
"title": "Fetch Repository",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-sync.svg",
"light": "images/light/icon-sync.svg"
}
},
{
"command": "gitlens.views.pull",
"title": "Pull Repository",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-pull.svg",
"light": "images/light/icon-pull.svg"
}
},
{
"command": "gitlens.views.push",
"title": "Push Repository",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-push.svg",
"light": "images/light/icon-push.svg"
}
},
{
"command": "gitlens.views.pushWithForce",
"title": "Push (force) Repository",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-push-force.svg",
"light": "images/light/icon-push-force.svg"
}
},
{
"command": "gitlens.views.stageFile",
"title": "Stage Changes",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-add.svg",
"light": "images/light/icon-add.svg"
}
},
{
"command": "gitlens.views.unstageFile",
"title": "Unstage Changes",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-minus.svg",
"light": "images/light/icon-minus.svg"
}
},
{
"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"
},
{
"command": "gitlens.views.openFile",
"title": "Open File",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-open-file.svg",
"light": "images/light/icon-open-file.svg"
}
},
{
"command": "gitlens.views.openFileRevision",
"title": "Open Revision",
"category": "GitLens"
},
{
"command": "gitlens.views.openFileRevisionInRemote",
"title": "Open Revision on Remote",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-link.svg",
"light": "images/light/icon-link.svg"
}
},
{
"command": "gitlens.views.openChangedFiles",
"title": "Open Files",
"category": "GitLens"
},
{
"command": "gitlens.views.openChangedFileChanges",
"title": "Open All Changes",
"category": "GitLens"
},
{
"command": "gitlens.views.openChangedFileChangesWithWorking",
"title": "Open All Changes with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.views.openChangedFileRevisions",
"title": "Open Revisions",
"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": {
"dark": "images/dark/icon-compare-refs.svg",
"light": "images/light/icon-compare-refs.svg"
}
},
{
"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.terminalCheckoutBranch",
"title": "Checkout Branch (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalCreateBranch",
"title": "Create Branch (via Terminal)...",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalDeleteBranch",
"title": "Delete Branch (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalMergeBranch",
"title": "Merge Branch (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalRebaseBranch",
"title": "Rebase (Interactive) Branch (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalRebaseBranchToRemote",
"title": "Rebase (Interactive) Branch to Remote (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalSquashBranchIntoCommit",
"title": "Squash Branch into Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalCheckoutCommit",
"title": "Checkout Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalCherryPickCommit",
"title": "Cherry Pick Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalPushCommit",
"title": "Push to Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalRebaseCommit",
"title": "Rebase to Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalResetCommit",
"title": "Reset to Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalRevertCommit",
"title": "Revert Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalRemoveRemote",
"title": "Remove Remote (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalCreateTag",
"title": "Create Tag (via Terminal)...",
"category": "GitLens"
},
{
"command": "gitlens.views.terminalDeleteTag",
"title": "Delete Tag (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-refresh.svg",
"light": "images/light/icon-refresh.svg"
}
},
{
"command": "gitlens.views.repositories.setFilesLayoutToAuto",
"title": "Automatic Layout",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToList",
"title": "List Layout",
"category": "GitLens"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToTree",
"title": "Tree Layout",
"category": "GitLens"
},
{
"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.fileHistory.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-refresh.svg",
"light": "images/light/icon-refresh.svg"
}
},
{
"command": "gitlens.views.fileHistory.changeBase",
"title": "Change Base...",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-history.svg",
"light": "images/light/icon-history.svg"
}
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOn",
"title": "Resume File Tracking",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-location.svg",
"light": "images/light/icon-location.svg"
}
},
{
"command": "gitlens.views.fileHistory.setEditorFollowingOff",
"title": "Pause File Tracking",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-location-filled.svg",
"light": "images/light/icon-location-filled.svg"
}
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOn",
"title": "Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOff",
"title": "Don't Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.views.lineHistory.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-refresh.svg",
"light": "images/light/icon-refresh.svg"
}
},
{
"command": "gitlens.views.lineHistory.changeBase",
"title": "Change Base...",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-history.svg",
"light": "images/light/icon-history.svg"
}
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOn",
"title": "Resume Line Tracking",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-location.svg",
"light": "images/light/icon-location.svg"
}
},
{
"command": "gitlens.views.lineHistory.setEditorFollowingOff",
"title": "Pause Line Tracking",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-location-filled.svg",
"light": "images/light/icon-location-filled.svg"
}
},
{
"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.compare.selectForCompare",
"title": "Compare Branch or Tag with...",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-compare-refs.svg",
"light": "images/light/icon-compare-refs.svg"
}
},
{
"command": "gitlens.views.compare.clear",
"title": "Clear Results",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-clear.svg",
"light": "images/light/icon-clear.svg"
}
},
{
"command": "gitlens.views.compare.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-refresh.svg",
"light": "images/light/icon-refresh.svg"
}
},
{
"command": "gitlens.views.compare.setFilesLayoutToAuto",
"title": "Automatic Layout",
"category": "GitLens"
},
{
"command": "gitlens.views.compare.setFilesLayoutToList",
"title": "List Layout",
"category": "GitLens"
},
{
"command": "gitlens.views.compare.setFilesLayoutToTree",
"title": "Tree Layout",
"category": "GitLens"
},
{
"command": "gitlens.views.compare.setKeepResultsToOn",
"title": "Keep Results",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-lock.svg",
"light": "images/light/icon-lock.svg"
}
},
{
"command": "gitlens.views.compare.setKeepResultsToOff",
"title": "Keep Results",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-locked.svg",
"light": "images/light/icon-locked.svg"
}
},
{
"command": "gitlens.views.compare.swapComparision",
"title": "Swap Comparision",
"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": {
"dark": "images/dark/icon-search.svg",
"light": "images/light/icon-search.svg"
}
},
{
"command": "gitlens.views.search.clear",
"title": "Clear Results",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-clear.svg",
"light": "images/light/icon-clear.svg"
}
},
{
"command": "gitlens.views.search.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-refresh.svg",
"light": "images/light/icon-refresh.svg"
}
},
{
"command": "gitlens.views.search.setFilesLayoutToAuto",
"title": "Automatic Layout",
"category": "GitLens"
},
{
"command": "gitlens.views.search.setFilesLayoutToList",
"title": "List Layout",
"category": "GitLens"
},
{
"command": "gitlens.views.search.setFilesLayoutToTree",
"title": "Tree Layout",
"category": "GitLens"
},
{
"command": "gitlens.views.search.setKeepResultsToOn",
"title": "Keep Results",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-lock.svg",
"light": "images/light/icon-lock.svg"
}
},
{
"command": "gitlens.views.search.setKeepResultsToOff",
"title": "Keep Results",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-locked.svg",
"light": "images/light/icon-locked.svg"
}
},
{
"command": "gitlens.views.dismissNode",
"title": "Dismiss",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-close-small.svg",
"light": "images/light/icon-close-small.svg"
}
},
{
"command": "gitlens.views.expandNode",
"title": "Expand",
"category": "GitLens"
},
{
"command": "gitlens.views.refreshNode",
"title": "Refresh",
"category": "GitLens"
}
],
"menus": {
"commandPalette": [
{
"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.diffHeadWithBranch",
"when": "gitlens:enabled"
},
{
"command": "gitlens.diffWorkingWithBranch",
"when": "gitlens:enabled"
},
{
"command": "gitlens.diffWithBranch",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithNext",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.diffWithPrevious",
"when": "!isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithPreviousInDiff",
"when": "isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffLineWithPrevious",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.diffWithRevision",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithWorking",
"when": "gitlens:activeFileStatus =~ /tracked/"
},
{
"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.toggleFileRecentChanges",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleLineBlame",
"when": "gitlens:enabled"
},
{
"command": "gitlens.toggleCodeLens",
"when": "gitlens:enabled && gitlens:canToggleCodeLens"
},
{
"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.showCommitInView",
"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.copyMessageToClipboard",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"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.openRepoInRemote",
"when": "gitlens:hasRemotes"
},
{
"command": "gitlens.openWorkingFile",
"when": "gitlens:activeFileStatus =~ /revision/"
},
{
"command": "gitlens.stashApply",
"when": "gitlens:enabled && !gitlens:readonly"
},
{
"command": "gitlens.stashDelete",
"when": "false"
},
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled && !gitlens:readonly"
},
{
"command": "gitlens.resetSuppressedWarnings",
"when": "gitlens:enabled"
},
{
"command": "gitlens.views.exploreRepoRevision",
"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.checkout",
"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.stageFile",
"when": "false"
},
{
"command": "gitlens.views.unstageFile",
"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.openChangedFileChanges",
"when": "false"
},
{
"command": "gitlens.views.openChangedFileChangesWithWorking",
"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.terminalCheckoutBranch",
"when": "false"
},
{
"command": "gitlens.views.terminalCreateBranch",
"when": "false"
},
{
"command": "gitlens.views.terminalDeleteBranch",
"when": "false"
},
{
"command": "gitlens.views.terminalMergeBranch",
"when": "false"
},
{
"command": "gitlens.views.terminalRebaseBranch",
"when": "false"
},
{
"command": "gitlens.views.terminalRebaseBranchToRemote",
"when": "false"
},
{
"command": "gitlens.views.terminalSquashBranchIntoCommit",
"when": "false"
},
{
"command": "gitlens.views.terminalCheckoutCommit",
"when": "false"
},
{
"command": "gitlens.views.terminalCherryPickCommit",
"when": "false"
},
{
"command": "gitlens.views.terminalPushCommit",
"when": "false"
},
{
"command": "gitlens.views.terminalRebaseCommit",
"when": "false"
},
{
"command": "gitlens.views.terminalResetCommit",
"when": "false"
},
{
"command": "gitlens.views.terminalRevertCommit",
"when": "false"
},
{
"command": "gitlens.views.terminalRemoveRemote",
"when": "false"
},
{
"command": "gitlens.views.terminalCreateTag",
"when": "false"
},
{
"command": "gitlens.views.terminalDeleteTag",
"when": "false"
},
{
"command": "gitlens.views.repositories.refresh",
"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.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.setRenameFollowingOn",
"when": "false"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOff",
"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.compare.selectForCompare",
"when": "gitlens:enabled && 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.swapComparision",
"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.dismissNode",
"when": "false"
},
{
"command": "gitlens.views.expandNode",
"when": "false"
},
{
"command": "gitlens.views.refreshNode",
"when": "false"
}
],
"editor/context": [
{
"command": "gitlens.diffLineWithPrevious",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.compare",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffLineWithWorking",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.compare",
"group": "1_gitlens@2"
},
{
"command": "gitlens.openFileInRemote",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote",
"group": "1_gitlens_1@1"
},
{
"command": "gitlens.openCommitInRemote",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote",
"group": "1_gitlens_1@2"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.details",
"group": "1_gitlens_1@3"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history",
"group": "3_gitlens@1"
},
{
"command": "gitlens.showFileHistoryInView",
"when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history",
"group": "3_gitlens@2"
},
{
"command": "gitlens.toggleFileBlame",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.blame",
"group": "3_gitlens@3"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "9_b_gitlens@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "9_b_gitlens@2"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.clipboard",
"group": "9_b_gitlens@3"
}
],
"editor/title": [
{
"command": "gitlens.diffWithWorking",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != file && resourceScheme != git",
"group": "navigation@0"
},
{
"command": "gitlens.openWorkingFile",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != file && resourceScheme != git",
"group": "navigation@0"
},
{
"command": "gitlens.openWorkingFile",
"when": "!gitlens:activeFileStatus =~ /revision/ && resourceScheme != file && resourceScheme != git && isInDiffEditor",
"group": "navigation@0"
},
{
"command": "gitlens.openWorkingFile",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme == git && !isInDiffEditor",
"group": "navigation@0"
},
{
"command": "gitlens.diffWithPrevious",
"alt": "gitlens.diffWithRevision",
"when": "!isInDiffEditor && gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare",
"group": "navigation@97"
},
{
"command": "gitlens.diffWithPreviousInDiff",
"alt": "gitlens.diffWithRevision",
"when": "isInDiffEditor && gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare",
"group": "navigation@97"
},
{
"command": "gitlens.showQuickRevisionDetails",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git && config.gitlens.menus.editorGroup.compare",
"group": "navigation@98"
},
{
"command": "gitlens.diffWithNext",
"when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /revision/ && config.gitlens.menus.editorGroup.compare",
"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.openWorkingFile",
"when": "resourceScheme == gitlens",
"group": "1_co_gitlens@1"
},
{
"command": "gitlens.openFileInRemote",
"when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.editorTab.remote",
"group": "1_co_gitlens@2"
},
{
"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": "navigation@100"
},
{
"command": "gitlens.diffWithPrevious",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.compare",
"group": "3_compare@1"
},
{
"command": "gitlens.diffWithRevision",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.compare",
"group": "3_compare@2"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.history",
"group": "4_gitlens_1@1"
},
{
"command": "gitlens.showFileHistoryInView",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.history",
"group": "4_gitlens_1@2"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.clipboard",
"group": "5_cutcopypaste@100"
}
],
"scm/resourceGroup/context": [
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled && !gitlens:readonly && config.gitlens.menus.scmGroup.stashInline",
"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.diffWithBranch",
"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.stashSave",
"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.refresh",
"when": "view =~ /^gitlens\\.views\\.repositories:/",
"group": "navigation@99"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.repositories:/",
"group": "1_gitlens"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.repositories:/",
"group": "1_gitlens"
},
{
"command": "gitlens.views.repositories.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.repositories:/",
"group": "1_gitlens"
},
{
"command": "gitlens.views.repositories.setAutoRefreshToOn",
"when": "view =~ /^gitlens\\.views\\.repositories:/ && config.gitlens.views.repositories.autoRefresh && !gitlens:views:repositories:autoRefresh",
"group": "2_gitlens"
},
{
"command": "gitlens.views.repositories.setAutoRefreshToOff",
"when": "view =~ /^gitlens\\.views\\.repositories:/ && config.gitlens.views.repositories.autoRefresh && gitlens:views:repositories:autoRefresh",
"group": "2_gitlens"
},
{
"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.changeBase",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/",
"group": "navigation@11"
},
{
"command": "gitlens.views.fileHistory.refresh",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/",
"group": "navigation@99"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOn",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && !config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "1_gitlens"
},
{
"command": "gitlens.views.fileHistory.setRenameFollowingOff",
"when": "view =~ /^gitlens\\.views\\.fileHistory:/ && config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "1_gitlens"
},
{
"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.setRenameFollowingOn",
"when": "view =~ /^gitlens\\.views\\.lineHistory:/ && !config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "1_gitlens"
},
{
"command": "gitlens.views.lineHistory.setRenameFollowingOff",
"when": "view =~ /^gitlens\\.views\\.lineHistory:/ && config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "1_gitlens"
},
{
"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.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.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.compare:/",
"group": "1_gitlens"
},
{
"command": "gitlens.views.compare.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.compare:/",
"group": "1_gitlens"
},
{
"command": "gitlens.views.compare.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.compare:/",
"group": "1_gitlens"
},
{
"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.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.setFilesLayoutToAuto",
"when": "view =~ /^gitlens\\.views\\.search:/",
"group": "1_gitlens"
},
{
"command": "gitlens.views.search.setFilesLayoutToList",
"when": "view =~ /^gitlens\\.views\\.search:/",
"group": "1_gitlens"
},
{
"command": "gitlens.views.search.setFilesLayoutToTree",
"when": "view =~ /^gitlens\\.views\\.search:/",
"group": "1_gitlens"
},
{
"command": "gitlens.supportGitLens",
"when": "view =~ /^gitlens\\.views\\..*:/ && config.gitlens.advanced.messages.suppressSupportGitLensNotification != true && gitlens:views:supportGitLens:hide != true",
"group": "navigation@1"
},
{
"command": "gitlens.showSettingsPage",
"when": "view =~ /^gitlens\\.views\\..*:/",
"group": "9_gitlens"
}
],
"view/item/context": [
{
"command": "gitlens.openBranchesInRemote",
"when": "viewItem == gitlens:branches:remotes",
"group": "inline@98"
},
{
"command": "gitlens.openBranchesInRemote",
"when": "viewItem == gitlens:branches:remotes",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.checkout",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)\\b/",
"group": "inline@10"
},
{
"command": "gitlens.views.compareWithRemote",
"when": "viewItem =~ /gitlens:branch\\b.*?:tracking/",
"group": "inline@96"
},
{
"command": "gitlens.views.compareWithHead",
"when": "viewItem =~ /gitlens:(branch(?!:current)|commit|stash|tag)\\b/",
"group": "inline@97",
"alt": "gitlens.views.compareWithWorking"
},
{
"command": "gitlens.views.compareWithWorking",
"when": "viewItem =~ /gitlens:branch:current\\b/",
"group": "inline@97"
},
{
"command": "gitlens.openBranchInRemote",
"when": "viewItem =~ /gitlens:branch\\b(.*?:tracking|:remote)/",
"group": "inline@98"
},
{
"command": "gitlens.views.checkout",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)\\b/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.openBranchInRemote",
"when": "viewItem =~ /gitlens:branch\\b(.*?:tracking|:remote)/",
"group": "2_gitlens@1"
},
{
"command": "gitlens.views.compareWithRemote",
"when": "viewItem =~ /gitlens:(branch\\b.*?:tracking)/",
"group": "7_gitlens@1"
},
{
"command": "gitlens.views.compareWithHead",
"when": "viewItem =~ /gitlens:(branch(?!:current)|commit|stash|tag)\\b/",
"group": "7_gitlens@2"
},
{
"command": "gitlens.views.compareWithWorking",
"when": "viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/",
"group": "7_gitlens@3"
},
{
"command": "gitlens.views.compareAncestryWithWorking",
"when": "viewItem =~ /gitlens:branch(?!:current)\\b/",
"group": "7_gitlens@4"
},
{
"command": "gitlens.views.compareWithSelected",
"when": "viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/ && gitlens:views:canCompare",
"group": "7_gitlens_@1"
},
{
"command": "gitlens.views.selectForCompare",
"when": "viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/",
"group": "7_gitlens_@2"
},
{
"command": "gitlens.views.compareFileWithSelected",
"when": "viewItem =~ /gitlens:file:\\b/ && gitlens:views:canCompare:file",
"group": "7_gitlens_@1"
},
{
"command": "gitlens.views.selectFileForCompare",
"when": "viewItem =~ /gitlens:file:\\b/",
"group": "7_gitlens_@2"
},
{
"command": "gitlens.views.openDirectoryDiffWithWorking",
"when": "viewItem =~ /gitlens:(branch|tag)\\b/",
"group": "7_gitlens_more@2"
},
{
"command": "gitlens.views.terminalCheckoutBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/",
"group": "8_gitlens@1"
},
{
"command": "gitlens.views.terminalRebaseBranchToRemote",
"when": "!gitlens:readonly && viewItem =~ /gitlens:(branch:current:tracking)\\b/",
"group": "8_gitlens@1"
},
{
"command": "gitlens.views.terminalMergeBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/",
"group": "8_gitlens@2"
},
{
"command": "gitlens.views.terminalRebaseBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/",
"group": "8_gitlens@3"
},
{
"command": "gitlens.views.terminalSquashBranchIntoCommit",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/",
"group": "8_gitlens@4"
},
{
"command": "gitlens.views.terminalCreateBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:(branch|commit|tag)\\b/",
"group": "8_gitlens@5"
},
{
"command": "gitlens.views.terminalDeleteBranch",
"when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/",
"group": "8_gitlens@6"
},
{
"command": "gitlens.views.terminalCreateTag",
"when": "!gitlens:readonly && viewItem =~ /gitlens:(branch|commit)\\b/",
"group": "8_gitlens@7"
},
{
"command": "gitlens.openCommitInRemote",
"when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes",
"group": "inline@98"
},
{
"command": "gitlens.openCommitInRemote",
"when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.openChangedFileChanges",
"when": "viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "2_gitlens@1"
},
{
"command": "gitlens.views.openChangedFileChangesWithWorking",
"when": "viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "2_gitlens@2"
},
{
"command": "gitlens.views.openChangedFiles",
"when": "viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.openChangedFileRevisions",
"when": "viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "3_gitlens@2"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "viewItem =~ /gitlens:(file:)?commit\\b/",
"group": "inline@98",
"alt": "gitlens.copyMessageToClipboard"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "viewItem =~ /gitlens:(file:)?commit\\b/",
"group": "5_gitlens@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "viewItem =~ /gitlens:(commit|stash|file:commit)\\b/",
"group": "5_gitlens@2"
},
{
"command": "gitlens.showQuickCommitDetails",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "5_gitlens_1@1"
},
{
"command": "gitlens.showCommitInView",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "5_gitlens_1@2"
},
{
"command": "gitlens.views.terminalCherryPickCommit",
"when": "!gitlens:readonly && viewItem == gitlens:commit",
"group": "8_gitlens@1"
},
{
"command": "gitlens.views.terminalPushCommit",
"when": "!gitlens:readonly && viewItem == gitlens:commit:current",
"group": "8_gitlens@2"
},
{
"command": "gitlens.views.terminalRevertCommit",
"when": "!gitlens:readonly && viewItem == gitlens:commit:current",
"group": "8_gitlens@3"
},
{
"command": "gitlens.views.terminalCheckoutCommit",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/",
"group": "8_gitlens@4"
},
{
"command": "gitlens.views.terminalRebaseCommit",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/",
"group": "8_gitlens@5"
},
{
"command": "gitlens.views.terminalResetCommit",
"when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/",
"group": "8_gitlens@6"
},
{
"command": "gitlens.views.openFile",
"when": "viewItem =~ /gitlens:(file|history:(file|line)|status:file)\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.stageFile",
"when": "viewItem =~ /gitlens:file\\b.*:unstaged\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.unstageFile",
"when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b.*:staged\\b/",
"group": "inline@1"
},
{
"command": "gitlens.views.stageFile",
"when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b.*:unstaged\\b/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.unstageFile",
"when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b.*:staged\\b/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b.*:(un)?staged\\b/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.openChanges",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens@1"
},
{
"command": "gitlens.externalDiff",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens@2"
},
{
"command": "gitlens.views.openChangesWithWorking",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens@3"
},
{
"command": "gitlens.views.openFile",
"when": "viewItem =~ /gitlens:(file|history:(file|line)|status:file)\\b/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.views.openFileRevision",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "3_gitlens@2"
},
{
"command": "gitlens.openFileInRemote",
"when": "viewItem =~ /gitlens:(file(?!:(un)?staged)|history:(file|line))\\b/ && gitlens:hasRemotes",
"group": "inline@99",
"alt": "gitlens.copyRemoteFileUrlToClipboard"
},
{
"command": "gitlens.openFileInRemote",
"when": "viewItem =~ /gitlens:file\\b/ && gitlens:hasRemotes",
"group": "4_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "viewItem =~ /gitlens:(file|history:(file|line)|status:file)\\b/ && gitlens:hasRemotes",
"group": "5_gitlens@3"
},
{
"command": "gitlens.views.openFileRevisionInRemote",
"when": "viewItem == gitlens:file:commit && gitlens:hasRemotes",
"group": "4_gitlens@2"
},
{
"command": "gitlens.openFileInRemote",
"when": "viewItem =~ /gitlens:(history:(file|line)|status:file)\\b/ && gitlens:hasRemotes",
"group": "3_gitlens@2"
},
{
"command": "gitlens.views.applyChanges",
"when": "viewItem =~ /gitlens:file:(commit|results)\\b/",
"group": "5_gitlens_1@1"
},
{
"command": "gitlens.views.applyChanges",
"when": "!gitlens:readonly && viewItem == gitlens:file:stash",
"group": "1_gitlens@1"
},
{
"command": "gitlens.showQuickCommitDetails",
"when": "viewItem =~ /gitlens:file\\b(?!(:stash|:status))/",
"group": "5_gitlens_2@2"
},
{
"command": "gitlens.showCommitInView",
"when": "viewItem =~ /gitlens:file\\b(?!(:stash|:status))/",
"group": "5_gitlens_2@3"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "8_gitlens@1"
},
{
"command": "gitlens.showFileHistoryInView",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "8_gitlens@2"
},
{
"command": "gitlens.views.fetch",
"when": "!gitlens:readonly && viewItem == gitlens:remote",
"group": "inline@97"
},
{
"command": "gitlens.openRepoInRemote",
"when": "viewItem == gitlens:remote",
"group": "inline@98"
},
{
"command": "gitlens.openRepoInRemote",
"when": "viewItem == gitlens:remote",
"group": "1_gitlens@1"
},
{
"command": "gitlens.openBranchesInRemote",
"when": "viewItem == gitlens:remote",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.fetch",
"when": "!gitlens:readonly && viewItem == gitlens:remote",
"group": "2_gitlens@1"
},
{
"command": "gitlens.views.terminalRemoveRemote",
"when": "!gitlens:readonly && viewItem == gitlens:remote",
"group": "8_gitlens@1"
},
{
"command": "gitlens.views.exploreRepoRevision",
"when": "viewItem =~ /gitlens:(branch|commit|file:(commit|results)|stash|tag)\\b/",
"group": "7_gitlens_more@1"
},
{
"command": "gitlens.showCommitSearch",
"when": "viewItem == gitlens:repository",
"group": "inline@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository",
"group": "inline@97",
"alt": "gitlens.views.pushWithForce"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository",
"group": "inline@98"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository",
"group": "inline@99"
},
{
"command": "gitlens.views.fetch",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.pushWithForce",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:behind",
"group": "inline@1"
},
{
"command": "gitlens.views.pull",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:behind",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:ahead",
"group": "inline@1",
"alt": "gitlens.views.pushWithForce"
},
{
"command": "gitlens.views.push",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:ahead",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.pushWithForce",
"when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:ahead",
"group": "1_gitlens@2"
},
{
"command": "gitlens.showCommitSearch",
"when": "viewItem == gitlens:repository",
"group": "2_gitlens@1"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && viewItem == gitlens:repository",
"group": "3_gitlens@1"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && viewItem == gitlens:repository",
"group": "3_gitlens@2"
},
{
"command": "gitlens.openRepoInRemote",
"when": "viewItem == gitlens:repository && gitlens:hasRemotes",
"group": "4_gitlens@1"
},
{
"command": "gitlens.views.closeRepository",
"when": "viewItem == gitlens:repository",
"group": "8_gitlens@1"
},
{
"command": "gitlens.views.compare.swapComparision",
"when": "viewItem == gitlens:compare:results",
"group": "inline@1"
},
{
"command": "gitlens.views.dismissNode",
"when": "viewItem =~ /gitlens:(compare:picker:ref|compare|search)\\b(?!:(commits|files))/",
"group": "inline@2"
},
{
"command": "gitlens.views.dismissNode",
"when": "viewItem =~ /gitlens:(compare:picker:ref|compare|search)\\b(?!:(commits|files))/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.compare.swapComparision",
"when": "viewItem == gitlens:compare:results",
"group": "2_gitlens@1"
},
{
"command": "gitlens.views.openDirectoryDiff",
"when": "viewItem == gitlens:compare:results",
"group": "7_gitlens@1"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && viewItem == gitlens:stashes",
"group": "inline@98"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && viewItem =~ /^gitlens:(stashes|status:files)$/",
"group": "inline@99"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && viewItem == gitlens:stashes",
"group": "1_gitlens@1"
},
{
"command": "gitlens.stashSave",
"when": "!gitlens:readonly && viewItem =~ /^gitlens:(stashes|status:files)$/",
"group": "1_gitlens@2"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && viewItem == gitlens:stash",
"group": "inline@98"
},
{
"command": "gitlens.stashDelete",
"when": "!gitlens:readonly && viewItem == gitlens:stash",
"group": "inline@99"
},
{
"command": "gitlens.stashApply",
"when": "!gitlens:readonly && viewItem == gitlens:stash",
"group": "1_gitlens@1"
},
{
"command": "gitlens.stashDelete",
"when": "!gitlens:readonly && viewItem == gitlens:stash",
"group": "1_gitlens@2"
},
{
"command": "gitlens.views.checkout",
"when": "!gitlens:readonly && viewItem =~ /gitlens:tag\\b/",
"group": "inline@10"
},
{
"command": "gitlens.views.checkout",
"when": "!gitlens:readonly && viewItem =~ /gitlens:tag\\b/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.views.terminalDeleteTag",
"when": "!gitlens:readonly && viewItem == gitlens:tag",
"group": "8_gitlens"
},
{
"command": "gitlens.views.expandNode",
"when": "view =~ /^gitlens\\.views\\./ && viewItem =~ /gitlens:(compare|folder|results|search|status:files)\\b/",
"group": "8_gitlens@1"
},
{
"command": "gitlens.views.refreshNode",
"when": "view =~ /^gitlens\\.views\\./ && viewItem =~ /gitlens:(?!file\\b)/",
"group": "9_gitlens@1"
}
]
},
"keybindings": [
{
"command": "gitlens.key.left",
"key": "alt+left",
"when": "gitlens:key:left"
},
{
"command": "gitlens.key.right",
"key": "alt+right",
"when": "gitlens:key:right"
},
{
"command": "gitlens.key.,",
"key": "alt+,",
"when": "gitlens:key:,"
},
{
"command": "gitlens.key..",
"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 =~ /tracked/"
},
{
"command": "gitlens.diffLineWithPrevious",
"key": "shift+alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithPrevious",
"key": "alt+,",
"when": "config.gitlens.keymap == alternate && editorTextFocus && !isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithPreviousInDiff",
"key": "alt+,",
"when": "config.gitlens.keymap == alternate && isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffLineWithWorking",
"key": "alt+w",
"when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithWorking",
"key": "shift+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 =~ /tracked/"
},
{
"command": "gitlens.diffLineWithPrevious",
"key": "ctrl+shift+g shift+,",
"mac": "cmd+alt+g shift+,",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithPrevious",
"key": "ctrl+shift+g ,",
"mac": "cmd+alt+g ,",
"when": "config.gitlens.keymap == chorded && editorTextFocus && !isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithPreviousInDiff",
"key": "ctrl+shift+g ,",
"mac": "cmd+alt+g ,",
"when": "config.gitlens.keymap == chorded && isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffLineWithWorking",
"key": "ctrl+shift+g w",
"mac": "cmd+alt+g w",
"when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithWorking",
"key": "ctrl+shift+g shift+w",
"mac": "cmd+alt+g shift+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"
}
],
"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"
},
{
"id": "gitlens.views.fileHistory:gitlens",
"name": "File History",
"when": "config.gitlens.views.fileHistory.enabled && config.gitlens.views.fileHistory.location == gitlens"
},
{
"id": "gitlens.views.lineHistory:gitlens",
"name": "Line History",
"when": "config.gitlens.views.lineHistory.enabled && config.gitlens.views.lineHistory.location == gitlens"
},
{
"id": "gitlens.views.compare:gitlens",
"name": "Compare",
"when": "config.gitlens.views.compare.enabled && config.gitlens.views.compare.location == gitlens"
},
{
"id": "gitlens.views.search:gitlens",
"name": "Search Commits",
"when": "config.gitlens.views.search.enabled && config.gitlens.views.search.location == gitlens"
}
],
"explorer": [
{
"id": "gitlens.views.repositories:explorer",
"name": "GitLens: Repositories",
"when": "gitlens:enabled && config.gitlens.views.repositories.enabled && config.gitlens.views.repositories.location == explorer"
},
{
"id": "gitlens.views.fileHistory:explorer",
"name": "GitLens: File History",
"when": "gitlens:enabled && config.gitlens.views.fileHistory.enabled && config.gitlens.views.fileHistory.location == explorer"
},
{
"id": "gitlens.views.lineHistory:explorer",
"name": "GitLens: Line History",
"when": "gitlens:enabled && config.gitlens.views.lineHistory.enabled && config.gitlens.views.lineHistory.location == explorer"
},
{
"id": "gitlens.views.compare:explorer",
"name": "GitLens: Compare",
"when": "gitlens:enabled && config.gitlens.views.compare.enabled && config.gitlens.views.compare.location == explorer"
},
{
"id": "gitlens.views.search:explorer",
"name": "GitLens: Search Commits",
"when": "gitlens:enabled && config.gitlens.views.search.enabled && config.gitlens.views.search.location == explorer"
}
],
"scm": [
{
"id": "gitlens.views.repositories:scm",
"name": "GitLens: Repositories",
"when": "gitlens:enabled && config.gitlens.views.repositories.enabled && config.gitlens.views.repositories.location == scm"
},
{
"id": "gitlens.views.fileHistory:scm",
"name": "GitLens: File History",
"when": "gitlens:enabled && config.gitlens.views.fileHistory.enabled && config.gitlens.views.fileHistory.location == scm"
},
{
"id": "gitlens.views.lineHistory:scm",
"name": "GitLens: Line History",
"when": "gitlens:enabled && config.gitlens.views.lineHistory.enabled && config.gitlens.views.lineHistory.location == scm"
},
{
"id": "gitlens.views.compare:scm",
"name": "GitLens: Compare",
"when": "gitlens:enabled && config.gitlens.views.compare.enabled && config.gitlens.views.compare.location == scm"
},
{
"id": "gitlens.views.search:scm",
"name": "GitLens: Search Commits",
"when": "gitlens:enabled && config.gitlens.views.search.enabled && config.gitlens.views.search.location == scm"
}
]
}
},
"scripts": {
"build": "webpack --env.development",
"bundle": "webpack --env.production",
"clean": "git clean -Xdf -e !.cache-images -e !node_modules -e !node_modules/**/*",
"lint": "tslint --project tsconfig.json && tslint --project ui.tsconfig.json",
"pack": "vsce package",
"pretty": "prettier --config .prettierrc --loglevel warn --write \"./**/*.{ts,md,json}\" && tslint --project tsconfig.json --fix && tslint --project ui.tsconfig.json --fix",
"pub": "vsce publish",
"rebuild": "npm run reset && npm run build",
"reset": "npm run clean && npm install --no-save",
"watch": "webpack --watch --env.development --info-verbosity verbose",
"ui:optimize": "webpack --config-name ui --env.optimizeImages",
"ui:watch": "webpack --watch --config-name ui --env.development --info-verbosity verbose",
"update:emoji": "pushd emoji && node ./shortcodeToEmoji.js && popd",
"postinstall": "node ./node_modules/vscode/bin/install",
"vscode:prepublish": "npm run reset && npm run bundle"
},
"dependencies": {
"clipboardy": "1.2.3",
"date-fns": "1.29.0",
"iconv-lite": "0.4.24",
"lodash-es": "4.17.11",
"tslib": "1.9.3",
"vsls": "0.3.967"
},
"devDependencies": {
"@types/clipboardy": "1.1.0",
"@types/lodash-es": "4.17.1",
"@types/node": "8.10.38",
"clean-webpack-plugin": "1.0.0",
"css-loader": "1.0.1",
"filemanager-webpack-plugin": "2.0.5",
"html-webpack-inline-source-plugin": "0.0.10",
"html-webpack-plugin": "3.2.0",
"imagemin-webpack-plugin": "2.3.0",
"mini-css-extract-plugin": "0.4.4",
"node-sass": "4.10.0",
"prettier": "1.15.3",
"prettier-tslint": "0.4.0",
"sass-loader": "7.1.0",
"terser-webpack-plugin": "1.1.0",
"tslint": "5.11.0",
"tslint-loader": "3.5.4",
"tslint-prettiest": "0.0.1",
"ts-loader": "5.3.1",
"typescript": "3.2.2",
"vsce": "1.53.2",
"vscode": "1.1.26",
"webpack": "4.27.1",
"webpack-cli": "3.1.2"
}
}