Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 

3616 rader
159 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": "8.5.6",
"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.25.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,
"description": "Specifies whether to show avatar images in the gutter blame annotations",
"scope": "window"
},
"gitlens.blame.compact": {
"type": "boolean",
"default": true,
"description": "Specifies whether to compact (deduplicate) matching adjacent gutter blame annotations",
"scope": "window"
},
"gitlens.blame.dateFormat": {
"type": "string",
"default": null,
"description": "Specifies how to format absolute dates (using the `${date}` token) in gutter blame annotations\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats",
"scope": "window"
},
"gitlens.blame.format": {
"type": "string",
"default": "${message|40?} ${agoOrDate|14-}",
"description": "Specifies the format of the gutter blame annotations\nAvailable 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`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
"scope": "window"
},
"gitlens.blame.heatmap.enabled": {
"type": "boolean",
"default": true,
"description": "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"
],
"description": "Specifies where the heatmap indicators will be shown in the gutter blame annotations",
"scope": "window"
},
"gitlens.blame.highlight.enabled": {
"type": "boolean",
"default": true,
"description": "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,
"description": "Specifies where the associated line highlights will be shown",
"scope": "window"
},
"gitlens.blame.ignoreWhitespace": {
"type": "boolean",
"default": false,
"description": "Specifies whether to ignore whitespace when comparing revisions during blame operations",
"scope": "resource"
},
"gitlens.blame.separateLines": {
"type": "boolean",
"default": true,
"description": "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"
],
"description": "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"
],
"description": "Specifies the command to be executed when the `authors` code lens is clicked",
"scope": "window"
},
"gitlens.codeLens.authors.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether to show 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,
"description": "Specifies whether to provide any Git code lens, by default\nUse 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.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"
],
"description": "Specifies the command to be executed when the `recent change` code lens is clicked",
"scope": "window"
},
"gitlens.codeLens.recentChange.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether to show 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,
"description": "Specifies where Git code lens will be shown in the document",
"scope": "resource"
},
"gitlens.codeLens.scopesByLanguage": {
"type": "array",
"default": [
{
"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"
]
}
],
"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\nMust be a member of `SymbolKind`"
}
}
},
"uniqueItems": true,
"description": "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,
"description": "Specifies a set of document symbols where Git code lens will or will not be shown in the document\nPrefix with `!` to not show Git code lens for the symbol\nMust be a member of `SymbolKind`",
"scope": "resource"
},
"gitlens.currentLine.dateFormat": {
"type": "string",
"default": null,
"description": "Specifies how to format absolute dates (using the `${date}` token) for the current line blame annotation\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats",
"scope": "window"
},
"gitlens.currentLine.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether to provide a blame annotation for the current line, by default\nUse 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}",
"description": "Specifies the format of the current line blame annotation\nAvailable 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`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
"scope": "window"
},
"gitlens.currentLine.scrollable": {
"type": "boolean",
"default": true,
"description": "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,
"description": "Specifies debug mode",
"scope": "window"
},
"gitlens.defaultDateFormat": {
"type": "string",
"default": null,
"description": "Specifies how absolute dates will be formatted by default\nSee 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"
],
"description": "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"
],
"description": "Specifies the style of the gravatar default (fallback) images",
"scope": "window"
},
"gitlens.explorers.avatars": {
"type": "boolean",
"default": true,
"description": "Specifies whether to show avatar images instead of commit (or status) icons in the `GitLens` and `GitLens Results` explorers",
"scope": "window"
},
"gitlens.explorers.commitFileFormat": {
"type": "string",
"default": "${filePath}",
"description": "Specifies the format of a committed file in the `GitLens` and `GitLens Results` explorers\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path",
"scope": "window"
},
"gitlens.explorers.commitFormat": {
"type": "string",
"default": "${message} • ${authorAgoOrDate}${ (id)}",
"description": "Specifies the format of committed changes in the `GitLens` and `GitLens Results` explorers\nAvailable 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`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
"scope": "window"
},
"gitlens.explorers.stashFileFormat": {
"type": "string",
"default": "${filePath}",
"description": "Specifies the format of a stashed file in the `GitLens` and `GitLens Results` explorers\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path",
"scope": "window"
},
"gitlens.explorers.stashFormat": {
"type": "string",
"default": "${message}",
"description": "Specifies the format of stashed changes in the `GitLens` and `GitLens Results` explorers\nAvailable 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`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
"scope": "window"
},
"gitlens.explorers.statusFileFormat": {
"type": "string",
"default": "${working }${filePath}",
"description": "Specifies the format of the status of a working or committed file in the `GitLens` and `GitLens Results` explorers\nAvailable 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.gitExplorer.autoRefresh": {
"type": "boolean",
"default": true,
"description": "Specifies whether to automatically refresh the `GitLens` explorer when the repository or the file system changes",
"scope": "window"
},
"gitlens.gitExplorer.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 `/`"
],
"description": "Specifies how the `GitLens` explorer will display branches",
"scope": "window"
},
"gitlens.gitExplorer.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether to show the `GitLens` explorer",
"scope": "window"
},
"gitlens.gitExplorer.files.compact": {
"type": "boolean",
"default": true,
"description": "Specifies whether to compact (flatten) unnecessary file nesting in the `GitLens` explorer\nOnly applies when `#gitlens.gitExplorer.files.layout#` is set to `tree` or `auto`",
"scope": "window"
},
"gitlens.gitExplorer.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.gitExplorer.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"description": "Specifies how the `GitLens` explorer will display files",
"scope": "window"
},
"gitlens.gitExplorer.files.threshold": {
"type": "number",
"default": 5,
"description": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the `GitLens` explorer\nOnly applies when `#gitlens.gitExplorer.files.layout#` is set to `auto`",
"scope": "window"
},
"gitlens.gitExplorer.includeWorkingTree": {
"type": "boolean",
"default": true,
"description": "Specifies whether to include working tree files inside the `Repository Status` node of the `GitLens` explorer",
"scope": "window"
},
"gitlens.gitExplorer.location": {
"type": "string",
"default": "gitlens",
"enum": [
"gitlens",
"explorer",
"scm"
],
"enumDescriptions": [
"Adds to the GitLens view",
"Adds to the Explorer view",
"Adds to the Source Control view"
],
"description": "Specifies where to show the `GitLens` explorer",
"scope": "window"
},
"gitlens.gitExplorer.showTrackingBranch": {
"type": "boolean",
"default": true,
"description": "Specifies whether to show the tracking branch when displaying local branches in the `GitLens` explorer",
"scope": "window"
},
"gitlens.gitExplorer.view": {
"type": "string",
"default": "auto",
"enum": [
"auto",
"history",
"repository"
],
"enumDescriptions": [
"Shows the last selected view, defaults to `repository`",
"Shows the commit history of the current file",
"Shows a repository explorer"
],
"description": "Specifies the starting view of the `GitLens` explorer",
"scope": "window"
},
"gitlens.heatmap.ageThreshold": {
"type": "string",
"default": "90",
"description": "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",
"description": "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",
"description": "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"
],
"description": "Specifies how the gutter heatmap annotations will be toggled",
"scope": "window"
},
"gitlens.historyExplorer.avatars": {
"type": "boolean",
"default": true,
"description": "Specifies whether to show avatar images instead of status icons in the `GitLens File History` explorer",
"scope": "window"
},
"gitlens.historyExplorer.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether to show the current file history undocked in a `GitLens File History` explorer",
"scope": "window"
},
"gitlens.historyExplorer.location": {
"type": "string",
"default": "gitlens",
"enum": [
"gitlens",
"explorer",
"scm"
],
"enumDescriptions": [
"Adds to the GitLens view",
"Adds to the Explorer view",
"Adds to the Source Control view"
],
"description": "Specifies where to show the `GitLens File History` explorer",
"scope": "window"
},
"gitlens.hovers.annotations.changes": {
"type": "boolean",
"default": true,
"description": "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,
"description": "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,
"description": "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"
],
"description": "Specifies when to trigger hovers when showing blame annotations",
"scope": "window"
},
"gitlens.hovers.currentLine.changes": {
"type": "boolean",
"default": true,
"description": "Specifies whether to provide a changes (diff) hover for the current line",
"scope": "window"
},
"gitlens.hovers.currentLine.details": {
"type": "boolean",
"default": true,
"description": "Specifies whether to provide a commit details hover for the current line",
"scope": "window"
},
"gitlens.hovers.currentLine.enabled": {
"type": "boolean",
"default": true,
"description": "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"
],
"description": "Specifies when to trigger hovers for the current line",
"scope": "window"
},
"gitlens.hovers.avatars": {
"type": "boolean",
"default": true,
"description": "Specifies whether to show avatar images in hovers",
"scope": "window"
},
"gitlens.hovers.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether to provide any hovers",
"scope": "window"
},
"gitlens.insiders": {
"type": "boolean",
"default": false,
"description": "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"
],
"description": "Specifies the keymap to use for GitLens shortcut keys",
"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"
},
"history": {
"type": "boolean"
},
"remote": {
"type": "boolean"
}
}
}
]
},
"editorTab": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"compare": {
"type": "boolean"
},
"history": {
"type": "boolean"
},
"remote": {
"type": "boolean"
}
}
}
]
},
"explorer": {
"anyOf": [
{
"enum": [
false
]
},
{
"type": "object",
"properties": {
"compare": {
"type": "boolean"
},
"history": {
"type": "boolean"
},
"remote": {
"type": "boolean"
}
}
}
]
}
}
}
],
"default": {
"editor": {
"blame": false,
"clipboard": true,
"compare": true,
"details": true,
"history": false,
"remote": true
},
"editorGroup": {
"blame": true,
"compare": true,
"history": false,
"remote": false
},
"editorTab": {
"compare": false,
"history": false,
"remote": true
},
"explorer": {
"compare": true,
"history": true,
"remote": true
}
},
"description": "Specifies which commands will be added to which menus",
"scope": "window"
},
"gitlens.mode.active": {
"type": "string",
"description": "Specifies the active GitLens mode, if any",
"scope": "window"
},
"gitlens.mode.statusBar.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether to provide the active GitLens mode on 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"
],
"description": "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"
},
"explorers": {
"type": "boolean"
},
"hovers": {
"type": "boolean"
},
"statusBar": {
"type": "boolean"
}
}
},
"review": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"statusBarItemName": {
"type": "string"
},
"description": {
"type": "string"
},
"codeLens": {
"type": "boolean"
},
"currentLine": {
"type": "boolean"
},
"explorers": {
"type": "boolean"
},
"hovers": {
"type": "boolean"
},
"statusBar": {
"type": "boolean"
}
}
}
},
"additionalProperties": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"statusBarItemName": {
"type": "string"
},
"description": {
"type": "string"
},
"codeLens": {
"type": "boolean"
},
"currentLine": {
"type": "boolean"
},
"explorers": {
"type": "boolean"
},
"hovers": {
"type": "boolean"
},
"statusBar": {
"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
}
},
"description": "Specifies the user-defined GitLens modes",
"scope": "window"
},
"gitlens.outputLevel": {
"type": "string",
"default": "silent",
"enum": [
"silent",
"errors",
"verbose",
"debug"
],
"description": "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,
"description": "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"
],
"description": "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,
"description": "Specifies user-defined remote (code-hosting) services or custom domains for built-in remote services",
"scope": "resource"
},
"gitlens.resultsExplorer.files.compact": {
"type": "boolean",
"default": true,
"description": "Specifies whether to compact (flatten) unnecessary file nesting in the `GitLens Results` explorer\nOnly applies when `#gitlens.resultsExplorer.files.layout#` is set to `tree` or `auto`",
"scope": "window"
},
"gitlens.resultsExplorer.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.gitExplorer.files.threshold#` value and the number of files at each nesting level",
"Displays files as a list",
"Displays files as a tree"
],
"description": "Specifies how the `GitLens Results` explorer will display files",
"scope": "window"
},
"gitlens.resultsExplorer.files.threshold": {
"type": "number",
"default": 5,
"description": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the `GitLens Results` explorer\nOnly applies when `#gitlens.resultsExplorer.files.layout#` is set to `auto`",
"scope": "window"
},
"gitlens.resultsExplorer.location": {
"type": "string",
"default": "gitlens",
"enum": [
"gitlens",
"explorer",
"scm"
],
"enumDescriptions": [
"Adds to the GitLens view",
"Adds to the Explorer view",
"Adds to the Source Control view"
],
"description": "Specifies where to show the `GitLens Results` explorer",
"scope": "window"
},
"gitlens.settings.mode": {
"type": "string",
"default": "simple",
"enum": [
"simple",
"advanced"
],
"enumDescriptions": [
"Only displays common settings",
"Displays all settings"
],
"description": "Specifies the display mode of the interactive settings editor",
"scope": "window"
},
"gitlens.showWhatsNewAfterUpgrades": {
"type": "boolean",
"default": true,
"description": "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"
],
"description": "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"
],
"description": "Specifies the command to be executed when the blame status bar item is clicked",
"scope": "window"
},
"gitlens.statusBar.dateFormat": {
"type": "string",
"default": null,
"description": "Specifies the date format of absolute dates shown in the blame information on the status bar. See https://momentjs.com/docs/#/displaying/format/ for valid formats",
"scope": "window"
},
"gitlens.statusBar.enabled": {
"type": "boolean",
"default": true,
"description": "Specifies whether to provide blame information on the status bar",
"scope": "window"
},
"gitlens.statusBar.format": {
"type": "string",
"default": "${authorAgoOrDate}",
"description": "Specifies the format of the status bar blame information\nAvailable 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`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
"scope": "window"
},
"gitlens.statusBar.reduceFlicker": {
"type": "boolean",
"default": false,
"description": "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)",
"description": "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)",
"description": "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)",
"description": "Specifies the string to be shown in place of the `authors` code lens when there are unsaved changes",
"scope": "window"
},
"gitlens.advanced.blame.customArguments": {
"type": "array",
"default": null,
"items": {
"type": "string"
},
"description": "Specifies additional arguments to pass to the `git blame` command",
"scope": "resource"
},
"gitlens.advanced.blame.delayAfterEdit": {
"type": "number",
"default": 5000,
"description": "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,
"description": "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,
"description": "Specifies whether git output will be cached — changing the default is not recommended",
"scope": "window"
},
"gitlens.advanced.fileHistoryFollowsRenames": {
"type": "boolean",
"default": true,
"description": "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,
"description": "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,
"suppressShowKeyBindingsNotice": 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
},
"suppressShowKeyBindingsNotice": {
"type": "boolean",
"default": false
}
},
"description": "Specifies which messages should be suppressed",
"scope": "window"
},
"gitlens.advanced.quickPick.closeOnFocusOut": {
"type": "boolean",
"default": true,
"description": "Specifies whether to close QuickPick menus when focus is lost",
"scope": "window"
},
"gitlens.advanced.repositorySearchDepth": {
"type": "number",
"default": 1,
"description": "Specifies how many folders deep to search for repositories",
"scope": "resource"
},
"gitlens.advanced.telemetry.enabled": {
"type": "boolean",
"default": true,
"description": "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.showSettingsPage",
"title": "Open Settings",
"category": "GitLens"
},
{
"command": "gitlens.showWelcomePage",
"title": "Welcome",
"category": "GitLens"
},
{
"command": "gitlens.showGitExplorer",
"title": "Show GitLens Explorer",
"category": "GitLens"
},
{
"command": "gitlens.showHistoryExplorer",
"title": "Show File History Explorer",
"category": "GitLens"
},
{
"command": "gitlens.showResultsExplorer",
"title": "Show Results Explorer",
"category": "GitLens"
},
{
"command": "gitlens.diffDirectory",
"title": "Directory Compare Working Tree with...",
"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/git-icon.svg",
"light": "images/light/git-icon.svg"
}
},
{
"command": "gitlens.clearFileAnnotations",
"title": "Clear File Annotations",
"category": "GitLens",
"icon": {
"dark": "images/dark/git-icon-orange.svg",
"light": "images/light/git-icon-orange.svg"
}
},
{
"command": "gitlens.computingFileAnnotations",
"title": "Computing File Annotations...",
"category": "GitLens",
"icon": {
"dark": "images/dark/git-icon-progress.svg",
"light": "images/light/git-icon-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/git-icon.svg",
"light": "images/light/git-icon.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.showQuickCommitDetails",
"title": "Show Commit Details",
"category": "GitLens"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"title": "Show Commit Details",
"category": "GitLens"
},
{
"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"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"title": "Copy Remote File Url to Clipboard",
"category": "GitLens"
},
{
"command": "gitlens.copyShaToClipboard",
"title": "Copy Commit ID to Clipboard",
"category": "GitLens"
},
{
"command": "gitlens.closeUnchangedFiles",
"title": "Close Unchanged Files",
"category": "GitLens"
},
{
"command": "gitlens.openChangedFiles",
"title": "Open Changed Files",
"category": "GitLens"
},
{
"command": "gitlens.openBranchesInRemote",
"title": "Open Branches in Remote",
"category": "GitLens"
},
{
"command": "gitlens.openBranchInRemote",
"title": "Open Branch in Remote",
"category": "GitLens"
},
{
"command": "gitlens.openCommitInRemote",
"title": "Open Commit in Remote",
"category": "GitLens"
},
{
"command": "gitlens.openFileInRemote",
"title": "Open File in Remote",
"category": "GitLens"
},
{
"command": "gitlens.openFileRevision",
"title": "Open Revision...",
"category": "GitLens"
},
{
"command": "gitlens.openRepoInRemote",
"title": "Open Repository in Remote",
"category": "GitLens"
},
{
"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"
},
{
"command": "gitlens.stashDelete",
"title": "Delete Stashed Changes",
"category": "GitLens"
},
{
"command": "gitlens.stashSave",
"title": "Stash Changes",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-add.svg",
"light": "images/light/icon-add.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.explorers.openDirectoryDiff",
"title": "Open Directory Compare",
"category": "GitLens"
},
{
"command": "gitlens.explorers.openDirectoryDiffWithWorking",
"title": "Open Directory Compare with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.explorers.openChanges",
"title": "Open Changes",
"category": "GitLens"
},
{
"command": "gitlens.explorers.openChangesWithWorking",
"title": "Open Changes with Working File",
"category": "GitLens"
},
{
"command": "gitlens.explorers.openFile",
"title": "Open File",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-open-file.svg",
"light": "images/light/icon-open-file.svg"
}
},
{
"command": "gitlens.explorers.openFileRevision",
"title": "Open Revision",
"category": "GitLens"
},
{
"command": "gitlens.explorers.openFileRevisionInRemote",
"title": "Open Revision in Remote",
"category": "GitLens"
},
{
"command": "gitlens.explorers.openChangedFiles",
"title": "Open Files",
"category": "GitLens"
},
{
"command": "gitlens.explorers.openChangedFileChanges",
"title": "Open All Changes",
"category": "GitLens"
},
{
"command": "gitlens.explorers.openChangedFileChangesWithWorking",
"title": "Open All Changes with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.explorers.openChangedFileRevisions",
"title": "Open Revisions",
"category": "GitLens"
},
{
"command": "gitlens.explorers.applyChanges",
"title": "Apply Changes",
"category": "GitLens"
},
{
"command": "gitlens.explorers.closeRepository",
"title": "Close Repository",
"category": "GitLens"
},
{
"command": "gitlens.explorers.compareAncestryWithWorking",
"title": "Compare Ancestry with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.explorers.compareWithHead",
"title": "Compare with HEAD",
"category": "GitLens"
},
{
"command": "gitlens.explorers.compareWithRemote",
"title": "Compare with Remote",
"category": "GitLens"
},
{
"command": "gitlens.explorers.compareWithSelected",
"title": "Compare with Selected",
"category": "GitLens"
},
{
"command": "gitlens.explorers.compareWithWorking",
"title": "Compare with Working Tree",
"category": "GitLens"
},
{
"command": "gitlens.explorers.selectForCompare",
"title": "Select for Compare",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalCheckoutBranch",
"title": "Checkout Branch (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalCreateBranch",
"title": "Create Branch (via Terminal)...",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalDeleteBranch",
"title": "Delete Branch (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalMergeBranch",
"title": "Merge Branch (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalRebaseBranch",
"title": "Rebase (Interactive) Branch (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalRebaseBranchToRemote",
"title": "Rebase (Interactive) Branch to Remote (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalSquashBranchIntoCommit",
"title": "Squash Branch into Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalCheckoutCommit",
"title": "Checkout Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalCherryPickCommit",
"title": "Cherry Pick Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalPushCommit",
"title": "Push to Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalRebaseCommit",
"title": "Rebase to Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalResetCommit",
"title": "Reset to Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalRevertCommit",
"title": "Revert Commit (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalRemoveRemote",
"title": "Remove Remote (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalCreateTag",
"title": "Create Tag (via Terminal)...",
"category": "GitLens"
},
{
"command": "gitlens.explorers.terminalDeleteTag",
"title": "Delete Tag (via Terminal)",
"category": "GitLens"
},
{
"command": "gitlens.gitExplorer.undockHistory",
"title": "Undock File History from GitLens Explorer",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-undock.svg",
"light": "images/light/icon-undock.svg"
}
},
{
"command": "gitlens.gitExplorer.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-refresh.svg",
"light": "images/light/icon-refresh.svg"
}
},
{
"command": "gitlens.gitExplorer.refreshNode",
"title": "Refresh",
"category": "GitLens"
},
{
"command": "gitlens.gitExplorer.setFilesLayoutToAuto",
"title": "Automatic Layout",
"category": "GitLens"
},
{
"command": "gitlens.gitExplorer.setFilesLayoutToList",
"title": "List Layout",
"category": "GitLens"
},
{
"command": "gitlens.gitExplorer.setFilesLayoutToTree",
"title": "Tree Layout",
"category": "GitLens"
},
{
"command": "gitlens.gitExplorer.setAutoRefreshToOn",
"title": "Enable Automatic Refresh",
"category": "GitLens"
},
{
"command": "gitlens.gitExplorer.setAutoRefreshToOff",
"title": "Disable Automatic Refresh",
"category": "GitLens"
},
{
"command": "gitlens.gitExplorer.setRenameFollowingOn",
"title": "Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.gitExplorer.setRenameFollowingOff",
"title": "Don't Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.gitExplorer.switchToHistoryView",
"title": "Switch to File History View",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-history.svg",
"light": "images/light/icon-history.svg"
}
},
{
"command": "gitlens.gitExplorer.switchToRepositoryView",
"title": "Switch to Repository View",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-repo.svg",
"light": "images/light/icon-repo.svg"
}
},
{
"command": "gitlens.historyExplorer.close",
"title": "Close",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-close.svg",
"light": "images/light/icon-close.svg"
}
},
{
"command": "gitlens.historyExplorer.dock",
"title": "Dock File History to GitLens Explorer",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-dock.svg",
"light": "images/light/icon-dock.svg"
}
},
{
"command": "gitlens.historyExplorer.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-refresh.svg",
"light": "images/light/icon-refresh.svg"
}
},
{
"command": "gitlens.historyExplorer.refreshNode",
"title": "Refresh",
"category": "GitLens"
},
{
"command": "gitlens.historyExplorer.setRenameFollowingOn",
"title": "Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.historyExplorer.setRenameFollowingOff",
"title": "Don't Follow Renames",
"category": "GitLens"
},
{
"command": "gitlens.resultsExplorer.clearResultsNode",
"title": "Clear Results",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-close-small.svg",
"light": "images/light/icon-close-small.svg"
}
},
{
"command": "gitlens.resultsExplorer.close",
"title": "Close",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-close.svg",
"light": "images/light/icon-close.svg"
}
},
{
"command": "gitlens.resultsExplorer.refresh",
"title": "Refresh",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-refresh.svg",
"light": "images/light/icon-refresh.svg"
}
},
{
"command": "gitlens.resultsExplorer.refreshNode",
"title": "Refresh",
"category": "GitLens"
},
{
"command": "gitlens.resultsExplorer.setFilesLayoutToAuto",
"title": "Automatic Layout",
"category": "GitLens"
},
{
"command": "gitlens.resultsExplorer.setFilesLayoutToList",
"title": "List Layout",
"category": "GitLens"
},
{
"command": "gitlens.resultsExplorer.setFilesLayoutToTree",
"title": "Tree Layout",
"category": "GitLens"
},
{
"command": "gitlens.resultsExplorer.setKeepResultsToOn",
"title": "Keep Results",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-lock.svg",
"light": "images/light/icon-lock.svg"
}
},
{
"command": "gitlens.resultsExplorer.setKeepResultsToOff",
"title": "Keep Results",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-locked.svg",
"light": "images/light/icon-locked.svg"
}
},
{
"command": "gitlens.resultsExplorer.swapComparision",
"title": "Swap Comparision",
"category": "GitLens",
"icon": {
"dark": "images/dark/icon-swap.svg",
"light": "images/light/icon-swap.svg"
}
}
],
"menus": {
"commandPalette": [
{
"command": "gitlens.showGitExplorer",
"when": "gitlens:enabled && gitlens:gitExplorer"
},
{
"command": "gitlens.showHistoryExplorer",
"when": "gitlens:enabled && gitlens:historyExplorer"
},
{
"command": "gitlens.showHistoryExplorer",
"when": "gitlens:enabled && !gitlens:historyExplorer && gitlens:gitExplorer"
},
{
"command": "gitlens.showResultsExplorer",
"when": "gitlens:enabled && gitlens:resultsExplorer"
},
{
"command": "gitlens.diffDirectory",
"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:enabled"
},
{
"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.showQuickCommitDetails",
"when": "gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/"
},
{
"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"
},
{
"command": "gitlens.stashDelete",
"when": "false"
},
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled"
},
{
"command": "gitlens.resetSuppressedWarnings",
"when": "gitlens:enabled"
},
{
"command": "gitlens.explorers.openChanges",
"when": "false"
},
{
"command": "gitlens.explorers.openDirectoryDiff",
"when": "false"
},
{
"command": "gitlens.explorers.openDirectoryDiffWithWorking",
"when": "false"
},
{
"command": "gitlens.explorers.openChangesWithWorking",
"when": "false"
},
{
"command": "gitlens.explorers.openFile",
"when": "false"
},
{
"command": "gitlens.explorers.openFileRevision",
"when": "false"
},
{
"command": "gitlens.explorers.openFileRevisionInRemote",
"when": "false"
},
{
"command": "gitlens.explorers.openChangedFiles",
"when": "false"
},
{
"command": "gitlens.explorers.openChangedFileChanges",
"when": "false"
},
{
"command": "gitlens.explorers.openChangedFileChangesWithWorking",
"when": "false"
},
{
"command": "gitlens.explorers.openChangedFileRevisions",
"when": "false"
},
{
"command": "gitlens.explorers.applyChanges",
"when": "false"
},
{
"command": "gitlens.explorers.closeRepository",
"when": "false"
},
{
"command": "gitlens.explorers.compareAncestryWithWorking",
"when": "false"
},
{
"command": "gitlens.explorers.compareWithHead",
"when": "false"
},
{
"command": "gitlens.explorers.compareWithRemote",
"when": "false"
},
{
"command": "gitlens.explorers.compareWithSelected",
"when": "false"
},
{
"command": "gitlens.explorers.compareWithWorking",
"when": "false"
},
{
"command": "gitlens.explorers.selectForCompare",
"when": "false"
},
{
"command": "gitlens.explorers.terminalCheckoutBranch",
"when": "false"
},
{
"command": "gitlens.explorers.terminalCreateBranch",
"when": "false"
},
{
"command": "gitlens.explorers.terminalDeleteBranch",
"when": "false"
},
{
"command": "gitlens.explorers.terminalMergeBranch",
"when": "false"
},
{
"command": "gitlens.explorers.terminalRebaseBranch",
"when": "false"
},
{
"command": "gitlens.explorers.terminalRebaseBranchToRemote",
"when": "false"
},
{
"command": "gitlens.explorers.terminalSquashBranchIntoCommit",
"when": "false"
},
{
"command": "gitlens.explorers.terminalCheckoutCommit",
"when": "false"
},
{
"command": "gitlens.explorers.terminalCherryPickCommit",
"when": "false"
},
{
"command": "gitlens.explorers.terminalPushCommit",
"when": "false"
},
{
"command": "gitlens.explorers.terminalRebaseCommit",
"when": "false"
},
{
"command": "gitlens.explorers.terminalResetCommit",
"when": "false"
},
{
"command": "gitlens.explorers.terminalRevertCommit",
"when": "false"
},
{
"command": "gitlens.explorers.terminalRemoveRemote",
"when": "false"
},
{
"command": "gitlens.explorers.terminalCreateTag",
"when": "false"
},
{
"command": "gitlens.explorers.terminalDeleteTag",
"when": "false"
},
{
"command": "gitlens.gitExplorer.refresh",
"when": "false"
},
{
"command": "gitlens.gitExplorer.refreshNode",
"when": "false"
},
{
"command": "gitlens.gitExplorer.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.gitExplorer.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.gitExplorer.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.gitExplorer.setAutoRefreshToOn",
"when": "false"
},
{
"command": "gitlens.gitExplorer.setAutoRefreshToOff",
"when": "false"
},
{
"command": "gitlens.gitExplorer.setRenameFollowingOn",
"when": "false"
},
{
"command": "gitlens.gitExplorer.setRenameFollowingOff",
"when": "false"
},
{
"command": "gitlens.gitExplorer.switchToHistoryView",
"when": "gitlens:enabled && !gitlens:historyExplorer && gitlens:gitExplorer:view == repository"
},
{
"command": "gitlens.gitExplorer.switchToRepositoryView",
"when": "gitlens:enabled && !gitlens:historyExplorer && gitlens:gitExplorer:view == history"
},
{
"command": "gitlens.gitExplorer.undockHistory",
"when": "gitlens:enabled && !gitlens:historyExplorer"
},
{
"command": "gitlens.historyExplorer.close",
"when": "false"
},
{
"command": "gitlens.historyExplorer.dock",
"when": "gitlens:enabled && gitlens:historyExplorer"
},
{
"command": "gitlens.historyExplorer.refresh",
"when": "false"
},
{
"command": "gitlens.historyExplorer.refreshNode",
"when": "false"
},
{
"command": "gitlens.historyExplorer.setRenameFollowingOn",
"when": "false"
},
{
"command": "gitlens.historyExplorer.setRenameFollowingOff",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.clearResultsNode",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.close",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.refresh",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.refreshNode",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.setFilesLayoutToAuto",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.setFilesLayoutToList",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.setFilesLayoutToTree",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.setKeepResultsToOn",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.setKeepResultsToOff",
"when": "false"
},
{
"command": "gitlens.resultsExplorer.swapComparision",
"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.toggleFileBlame",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.blame",
"group": "3_gitlens@2"
},
{
"command": "gitlens.copyShaToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "9_gitlens@1"
},
{
"command": "gitlens.copyMessageToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
"group": "9_gitlens@2"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.clipboard",
"group": "9_gitlens@3"
}
],
"editor/title": [
{
"command": "gitlens.diffWithWorking",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git",
"group": "navigation@0"
},
{
"command": "gitlens.openWorkingFile",
"when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git",
"group": "navigation@0"
},
{
"command": "gitlens.openWorkingFile",
"when": "!gitlens:activeFileStatus =~ /revision/ && 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@98"
},
{
"command": "gitlens.diffWithPreviousInDiff",
"alt": "gitlens.diffWithRevision",
"when": "isInDiffEditor && gitlens:activeFileStatus =~ /tracked/ && 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.toggleFileRecentChanges",
"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"
},
{
"command": "gitlens.openFileInRemote",
"when": "gitlens:enabled && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editorGroup.remote",
"group": "4_gitlens"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "editorFocus && gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.history",
"group": "4_gitlens"
}
],
"editor/title/context": [
{
"command": "gitlens.openFileInRemote",
"when": "gitlens:enabled && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editorTab.remote",
"group": "2_files@100"
},
{
"command": "gitlens.diffWithPrevious",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.compare",
"group": "1_gitlens_1@1"
},
{
"command": "gitlens.diffWithWorking",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.compare",
"group": "1_gitlens_1@2"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "gitlens:enabled && config.gitlens.menus.editorTab.history",
"group": "1_gitlens_2@1"
}
],
"explorer/context": [
{
"command": "gitlens.openFileInRemote",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.remote",
"group": "navigation@100"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.history",
"group": "1_gitlens_1@1"
},
{
"command": "gitlens.diffWithPrevious",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.compare",
"group": "3_compare@1"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.remote",
"group": "9_gitlens@1"
}
],
"scm/resourceGroup/context": [
{
"command": "gitlens.openChangedFiles",
"when": "gitlens:enabled",
"group": "2_gitlens@1"
},
{
"command": "gitlens.closeUnchangedFiles",
"when": "gitlens:enabled",
"group": "2_gitlens@2"
},
{
"command": "gitlens.externalDiff",
"when": "gitlens:enabled",
"group": "2_gitlens@3"
},
{
"command": "gitlens.externalDiffAll",
"when": "gitlens:enabled",
"group": "2_gitlens@4"
},
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled",
"group": "3_gitlens@1"
}
],
"scm/resourceState/context": [
{
"command": "gitlens.openFileInRemote",
"when": "gitlens:enabled && gitlens:hasRemotes",
"group": "navigation"
},
{
"command": "gitlens.externalDiff",
"when": "gitlens:enabled",
"group": "navigation"
},
{
"command": "gitlens.diffWithRevision",
"when": "gitlens:enabled",
"group": "1_gitlens@1"
},
{
"command": "gitlens.diffWithBranch",
"when": "gitlens:enabled",
"group": "1_gitlens@2"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "gitlens:enabled",
"group": "1_gitlens_1@1"
},
{
"command": "gitlens.stashSave",
"when": "gitlens:enabled",
"group": "2_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "gitlens:enabled && gitlens:hasRemotes",
"group": "9_gitlens@1"
}
],
"view/title": [
{
"command": "gitlens.showCommitSearch",
"when": "view =~ /^gitlens.gitExplorer:/",
"group": "navigation@1"
},
{
"command": "gitlens.gitExplorer.undockHistory",
"when": "view =~ /^gitlens.gitExplorer:/ && gitlens:gitExplorer:view == history && !gitlens:historyExplorer",
"group": "navigation@2"
},
{
"command": "gitlens.gitExplorer.switchToHistoryView",
"when": "view =~ /^gitlens.gitExplorer:/ && !gitlens:historyExplorer && gitlens:gitExplorer:view == repository",
"group": "navigation@3"
},
{
"command": "gitlens.gitExplorer.switchToRepositoryView",
"when": "view =~ /^gitlens.gitExplorer:/ && !gitlens:historyExplorer && gitlens:gitExplorer:view == history",
"group": "navigation@3"
},
{
"command": "gitlens.gitExplorer.refresh",
"when": "view =~ /^gitlens.gitExplorer:/",
"group": "navigation@8"
},
{
"command": "gitlens.gitExplorer.setFilesLayoutToAuto",
"when": "view =~ /^gitlens.gitExplorer:/ && gitlens:gitExplorer:view == repository",
"group": "1_gitlens"
},
{
"command": "gitlens.gitExplorer.setFilesLayoutToList",
"when": "view =~ /^gitlens.gitExplorer:/ && gitlens:gitExplorer:view == repository",
"group": "1_gitlens"
},
{
"command": "gitlens.gitExplorer.setFilesLayoutToTree",
"when": "view =~ /^gitlens.gitExplorer:/ && gitlens:gitExplorer:view == repository",
"group": "1_gitlens"
},
{
"command": "gitlens.gitExplorer.setAutoRefreshToOn",
"when": "view =~ /^gitlens.gitExplorer:/ && config.gitlens.gitExplorer.autoRefresh && !gitlens:gitExplorer:autoRefresh",
"group": "2_gitlens"
},
{
"command": "gitlens.gitExplorer.setAutoRefreshToOff",
"when": "view =~ /^gitlens.gitExplorer:/ && config.gitlens.gitExplorer.autoRefresh && gitlens:gitExplorer:autoRefresh",
"group": "2_gitlens"
},
{
"command": "gitlens.gitExplorer.setRenameFollowingOn",
"when": "view =~ /^gitlens.gitExplorer:/ && gitlens:gitExplorer:view == history && !config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "2_gitlens_1"
},
{
"command": "gitlens.gitExplorer.setRenameFollowingOff",
"when": "view =~ /^gitlens.gitExplorer:/ && gitlens:gitExplorer:view == history && config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "2_gitlens_1"
},
{
"command": "gitlens.historyExplorer.refresh",
"when": "view =~ /^gitlens.historyExplorer:/",
"group": "navigation@1"
},
{
"command": "gitlens.historyExplorer.dock",
"when": "view =~ /^gitlens.historyExplorer:/ && gitlens:gitExplorer",
"group": "navigation@9"
},
{
"command": "gitlens.historyExplorer.close",
"when": "view =~ /^gitlens.historyExplorer:/ && !gitlens:gitExplorer",
"group": "navigation@9"
},
{
"command": "gitlens.historyExplorer.setRenameFollowingOn",
"when": "view =~ /^gitlens.historyExplorer:/ && !config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "1_gitlens"
},
{
"command": "gitlens.historyExplorer.setRenameFollowingOff",
"when": "view =~ /^gitlens.historyExplorer:/ && config.gitlens.advanced.fileHistoryFollowsRenames",
"group": "1_gitlens"
},
{
"command": "gitlens.showCommitSearch",
"when": "view =~ /^gitlens.resultsExplorer:/",
"group": "navigation@1"
},
{
"command": "gitlens.resultsExplorer.setKeepResultsToOn",
"when": "view =~ /^gitlens.resultsExplorer:/ && !gitlens:resultsExplorer:keepResults",
"group": "navigation@2"
},
{
"command": "gitlens.resultsExplorer.setKeepResultsToOff",
"when": "view =~ /^gitlens.resultsExplorer:/ && gitlens:resultsExplorer:keepResults",
"group": "navigation@2"
},
{
"command": "gitlens.resultsExplorer.refresh",
"when": "view =~ /^gitlens.resultsExplorer:/",
"group": "navigation@3"
},
{
"command": "gitlens.resultsExplorer.close",
"when": "view =~ /^gitlens.resultsExplorer:/",
"group": "navigation@9"
},
{
"command": "gitlens.resultsExplorer.setFilesLayoutToAuto",
"when": "view =~ /^gitlens.resultsExplorer:/",
"group": "1_gitlens"
},
{
"command": "gitlens.resultsExplorer.setFilesLayoutToList",
"when": "view =~ /^gitlens.resultsExplorer:/",
"group": "1_gitlens"
},
{
"command": "gitlens.resultsExplorer.setFilesLayoutToTree",
"when": "view =~ /^gitlens.resultsExplorer:/",
"group": "1_gitlens"
}
],
"view/item/context": [
{
"command": "gitlens.openBranchesInRemote",
"when": "viewItem == gitlens:branches:remotes",
"group": "1_gitlens@1"
},
{
"command": "gitlens.openBranchInRemote",
"when": "viewItem =~ /gitlens:(branch\\b(.*?:tracking|:remote))/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.explorers.compareWithRemote",
"when": "viewItem =~ /gitlens:(branch\\b.*?:tracking)/",
"group": "7_gitlens@1"
},
{
"command": "gitlens.explorers.compareWithHead",
"when": "viewItem =~ /gitlens:(branch(?!:current)|commit|stash|tag)\\b/",
"group": "7_gitlens@2"
},
{
"command": "gitlens.explorers.compareWithWorking",
"when": "viewItem =~ /gitlens:(branch(?!:current)|commit|stash|tag)\\b/",
"group": "7_gitlens@3"
},
{
"command": "gitlens.explorers.compareAncestryWithWorking",
"when": "viewItem =~ /gitlens:branch(?!:current)\\b/",
"group": "7_gitlens@4"
},
{
"command": "gitlens.explorers.compareWithSelected",
"when": "viewItem =~ /gitlens:(branch|commit|stash|tag|file:)\\b/ && gitlens:explorers:canCompare",
"group": "7_gitlens_@1"
},
{
"command": "gitlens.explorers.selectForCompare",
"when": "viewItem =~ /gitlens:(branch|commit|stash|tag|file:)\\b/",
"group": "7_gitlens_@2"
},
{
"command": "gitlens.explorers.openDirectoryDiffWithWorking",
"when": "viewItem =~ /gitlens:(branch|tag)\\b/",
"group": "7_gitlens_diff@1"
},
{
"command": "gitlens.explorers.terminalCheckoutBranch",
"when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
"group": "8_gitlens@1"
},
{
"command": "gitlens.explorers.terminalRebaseBranchToRemote",
"when": "viewItem =~ /gitlens:(branch:current:tracking|status:upstream)\\b/",
"group": "8_gitlens@1"
},
{
"command": "gitlens.explorers.terminalMergeBranch",
"when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
"group": "8_gitlens@2"
},
{
"command": "gitlens.explorers.terminalRebaseBranch",
"when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
"group": "8_gitlens@3"
},
{
"command": "gitlens.explorers.terminalSquashBranchIntoCommit",
"when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
"group": "8_gitlens@4"
},
{
"command": "gitlens.explorers.terminalCreateBranch",
"when": "viewItem =~ /gitlens:(branch|commit|status:upstream|tag)\\b/",
"group": "8_gitlens@5"
},
{
"command": "gitlens.explorers.terminalDeleteBranch",
"when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
"group": "8_gitlens@6"
},
{
"command": "gitlens.explorers.terminalCreateTag",
"when": "viewItem =~ /gitlens:(branch|commit|status:upstream)\\b/",
"group": "8_gitlens@7"
},
{
"command": "gitlens.openCommitInRemote",
"when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes",
"group": "1_gitlens@1"
},
{
"command": "gitlens.explorers.openChangedFileChanges",
"when": "viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "2_gitlens@1"
},
{
"command": "gitlens.explorers.openChangedFileChangesWithWorking",
"when": "viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "2_gitlens@2"
},
{
"command": "gitlens.explorers.openChangedFiles",
"when": "viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.explorers.openChangedFileRevisions",
"when": "viewItem =~ /gitlens:(commit|stash)\\b/",
"group": "3_gitlens@2"
},
{
"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.explorers.terminalCherryPickCommit",
"when": "viewItem == gitlens:commit",
"group": "8_gitlens@1"
},
{
"command": "gitlens.explorers.terminalPushCommit",
"when": "viewItem == gitlens:commit:current",
"group": "8_gitlens@2"
},
{
"command": "gitlens.explorers.terminalRevertCommit",
"when": "viewItem == gitlens:commit:current",
"group": "8_gitlens@3"
},
{
"command": "gitlens.explorers.terminalCheckoutCommit",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "8_gitlens@4"
},
{
"command": "gitlens.explorers.terminalRebaseCommit",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "8_gitlens@5"
},
{
"command": "gitlens.explorers.terminalResetCommit",
"when": "viewItem =~ /gitlens:commit\\b/",
"group": "8_gitlens@6"
},
{
"command": "gitlens.explorers.openFile",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "inline"
},
{
"command": "gitlens.explorers.openChanges",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens@1"
},
{
"command": "gitlens.explorers.openChangesWithWorking",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "2_gitlens@2"
},
{
"command": "gitlens.explorers.openFile",
"when": "viewItem =~ /gitlens:(file|history-file|status:file)\\b/",
"group": "3_gitlens@1"
},
{
"command": "gitlens.explorers.openFileRevision",
"when": "viewItem =~ /gitlens:file\\b/",
"group": "3_gitlens@2"
},
{
"command": "gitlens.openFileInRemote",
"when": "viewItem =~ /gitlens:file\\b/ && gitlens:hasRemotes",
"group": "4_gitlens@1"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "viewItem =~ /gitlens:file\\b/ && gitlens:hasRemotes",
"group": "5_gitlens@3"
},
{
"command": "gitlens.explorers.openFileRevisionInRemote",
"when": "viewItem == gitlens:file:commit && gitlens:hasRemotes",
"group": "4_gitlens@2"
},
{
"command": "gitlens.openFileInRemote",
"when": "viewItem =~ /gitlens:(history-file|status:file)\\b/ && gitlens:hasRemotes",
"group": "3_gitlens@2"
},
{
"command": "gitlens.copyRemoteFileUrlToClipboard",
"when": "viewItem =~ /gitlens:(history-file|status:file)\\b/ && gitlens:hasRemotes",
"group": "5_gitlens@3"
},
{
"command": "gitlens.showQuickFileHistory",
"when": "viewItem =~ /gitlens:file\\b/ && gitlens:gitExplorer:view == repository",
"group": "8_gitlens@1"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"when": "viewItem =~ /gitlens:file\\b(?!:stash)/",
"group": "8_gitlens@2"
},
{
"command": "gitlens.explorers.applyChanges",
"when": "viewItem =~ /gitlens:file:(commit|status)\\b/",
"group": "5_gitlens_1@1"
},
{
"command": "gitlens.explorers.applyChanges",
"when": "viewItem == gitlens:file:stash",
"group": "1_gitlens@1"
},
{
"command": "gitlens.openRepoInRemote",
"when": "viewItem == gitlens:status && gitlens:hasRemotes",
"group": "1_gitlens@1"
},
{
"command": "gitlens.explorers.closeRepository",
"when": "viewItem == gitlens:status",
"group": "8_gitlens@1"
},
{
"command": "gitlens.openBranchesInRemote",
"when": "viewItem == gitlens:remote",
"group": "1_gitlens@1"
},
{
"command": "gitlens.openRepoInRemote",
"when": "viewItem == gitlens:remote",
"group": "1_gitlens@2"
},
{
"command": "gitlens.explorers.terminalRemoveRemote",
"when": "viewItem == gitlens:remote",
"group": "8_gitlens@1"
},
{
"command": "gitlens.openRepoInRemote",
"when": "viewItem == gitlens:repository && gitlens:hasRemotes",
"group": "1_gitlens@1"
},
{
"command": "gitlens.explorers.closeRepository",
"when": "viewItem == gitlens:repository",
"group": "8_gitlens@1"
},
{
"command": "gitlens.resultsExplorer.swapComparision",
"when": "viewItem == gitlens:results:comparison",
"group": "inline@1"
},
{
"command": "gitlens.resultsExplorer.clearResultsNode",
"when": "viewItem =~ /gitlens:results\\b(?!:(commits|files))/",
"group": "inline@2"
},
{
"command": "gitlens.resultsExplorer.clearResultsNode",
"when": "viewItem =~ /gitlens:results\\b(?!:(commits|files))/",
"group": "1_gitlens@1"
},
{
"command": "gitlens.resultsExplorer.swapComparision",
"when": "viewItem == gitlens:results:comparison",
"group": "1_gitlens@2"
},
{
"command": "gitlens.explorers.openDirectoryDiff",
"when": "viewItem == gitlens:results:comparison",
"group": "7_gitlens@1"
},
{
"command": "gitlens.stashSave",
"when": "viewItem == gitlens:stashes",
"group": "1_gitlens@1"
},
{
"command": "gitlens.stashApply",
"when": "viewItem == gitlens:stash",
"group": "1_gitlens@1"
},
{
"command": "gitlens.stashDelete",
"when": "viewItem == gitlens:stash",
"group": "1_gitlens@2"
},
{
"command": "gitlens.explorers.terminalDeleteTag",
"when": "viewItem == gitlens:tag",
"group": "8_gitlens"
},
{
"command": "gitlens.gitExplorer.refreshNode",
"when": "view =~ /^gitlens.gitExplorer:/ && viewItem =~ /gitlens:(?!file\\b)/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.resultsExplorer.refreshNode",
"when": "view =~ /^gitlens.resultsExplorer:/ && viewItem =~ /gitlens:(?!file\\b)/",
"group": "9_gitlens@1"
},
{
"command": "gitlens.historyExplorer.refreshNode",
"when": "view =~ /^gitlens.historyExplorer:/ && 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": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleCodeLens",
"key": "shift+alt+b",
"when": "gitlens:keymap == alternate && editorTextFocus && gitlens:enabled && gitlens:canToggleCodeLens"
},
{
"command": "gitlens.showLastQuickPick",
"key": "alt+-",
"when": "gitlens:keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showCommitSearch",
"key": "alt+/",
"when": "gitlens:keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showQuickFileHistory",
"key": "alt+h",
"when": "gitlens:keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoHistory",
"key": "shift+alt+h",
"when": "gitlens:keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoStatus",
"key": "alt+s",
"when": "gitlens:keymap == alternate && gitlens:enabled"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"key": "alt+c",
"when": "gitlens:keymap == alternate && editorTextFocus && gitlens:enabled"
},
{
"command": "gitlens.diffWithNext",
"key": "alt+.",
"when": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffLineWithPrevious",
"key": "shift+alt+,",
"when": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithPrevious",
"key": "alt+,",
"when": "gitlens:keymap == alternate && editorTextFocus && !isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithPreviousInDiff",
"key": "alt+,",
"when": "gitlens:keymap == alternate && isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffLineWithWorking",
"key": "alt+w",
"when": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithWorking",
"key": "shift+alt+w",
"when": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.toggleFileBlame",
"key": "ctrl+shift+g b",
"mac": "cmd+alt+g b",
"when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /blameable/"
},
{
"command": "gitlens.toggleCodeLens",
"key": "ctrl+shift+g shift+b",
"mac": "cmd+alt+g shift+b",
"when": "gitlens:keymap == chorded && editorTextFocus && gitlens:enabled && gitlens:canToggleCodeLens"
},
{
"command": "gitlens.showLastQuickPick",
"key": "ctrl+shift+g -",
"mac": "cmd+alt+g -",
"when": "gitlens:keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showCommitSearch",
"key": "ctrl+shift+g /",
"mac": "cmd+alt+g /",
"when": "gitlens:keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showQuickFileHistory",
"key": "ctrl+shift+g h",
"mac": "cmd+alt+g h",
"when": "gitlens:keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoHistory",
"key": "ctrl+shift+g shift+h",
"mac": "cmd+alt+g shift+h",
"when": "gitlens:keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showQuickRepoStatus",
"key": "ctrl+shift+g s",
"mac": "cmd+alt+g s",
"when": "gitlens:keymap == chorded && gitlens:enabled"
},
{
"command": "gitlens.showQuickCommitFileDetails",
"key": "ctrl+shift+g c",
"mac": "cmd+alt+g c",
"when": "gitlens:keymap == chorded && editorTextFocus && gitlens:enabled"
},
{
"command": "gitlens.diffWithNext",
"key": "ctrl+shift+g .",
"mac": "cmd+alt+g .",
"when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffLineWithPrevious",
"key": "ctrl+shift+g shift+,",
"mac": "cmd+alt+g shift+,",
"when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithPrevious",
"key": "ctrl+shift+g ,",
"mac": "cmd+alt+g ,",
"when": "gitlens:keymap == chorded && editorTextFocus && !isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithPreviousInDiff",
"key": "ctrl+shift+g ,",
"mac": "cmd+alt+g ,",
"when": "gitlens:keymap == chorded && isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffLineWithWorking",
"key": "ctrl+shift+g w",
"mac": "cmd+alt+g w",
"when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "gitlens.diffWithWorking",
"key": "ctrl+shift+g shift+w",
"mac": "cmd+alt+g shift+w",
"when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
},
{
"command": "workbench.view.scm",
"key": "ctrl+shift+g g",
"mac": "ctrl+shift+g",
"when": "gitlens:keymap == chorded && gitlens:enabled"
}
],
"viewsContainers": {
"activitybar": [
{
"id": "gitlens",
"title": "GitLens",
"icon": "images/gitlens-activitybar.svg"
}
]
},
"views": {
"gitlens": [
{
"id": "gitlens.gitExplorer:gitlens",
"name": "Explorer",
"when": "gitlens:enabled && gitlens:gitExplorer == gitlens"
},
{
"id": "gitlens.historyExplorer:gitlens",
"name": "File History",
"when": "gitlens:enabled && gitlens:historyExplorer == gitlens"
},
{
"id": "gitlens.resultsExplorer:gitlens",
"name": "Results",
"when": "gitlens:enabled && gitlens:resultsExplorer == gitlens"
}
],
"explorer": [
{
"id": "gitlens.gitExplorer:explorer",
"name": "GitLens",
"when": "gitlens:enabled && gitlens:gitExplorer == explorer"
},
{
"id": "gitlens.historyExplorer:explorer",
"name": "GitLens File History",
"when": "gitlens:enabled && gitlens:historyExplorer == explorer"
},
{
"id": "gitlens.resultsExplorer:explorer",
"name": "GitLens Results",
"when": "gitlens:enabled && gitlens:resultsExplorer == explorer"
}
],
"scm": [
{
"id": "gitlens.gitExplorer:scm",
"name": "GitLens",
"when": "gitlens:enabled && gitlens:gitExplorer == scm"
},
{
"id": "gitlens.historyExplorer:scm",
"name": "GitLens File History",
"when": "gitlens:enabled && gitlens:historyExplorer == scm"
},
{
"id": "gitlens.resultsExplorer:scm",
"name": "GitLens Results",
"when": "gitlens:enabled && gitlens:resultsExplorer == scm"
}
]
}
},
"scripts": {
"build": "webpack --env.development",
"bundle": "webpack --env.production",
"clean": "git clean -Xdf",
"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",
"ui:optimize": "webpack --config-name ui --env.optimizeImages",
"ui:watch": "webpack --watch --config-name ui --env.development",
"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.debounce": "4.0.8",
"lodash.once": "4.1.1",
"tmp": "0.0.33",
"tslib": "1.9.3"
},
"devDependencies": {
"@types/clipboardy": "1.1.0",
"@types/node": "8.10.29",
"@types/tmp": "0.0.33",
"clean-webpack-plugin": "0.1.19",
"css-loader": "1.0.0",
"html-webpack-inline-source-plugin": "0.0.10",
"html-webpack-plugin": "3.2.0",
"husky": "0.14.3",
"imagemin-webpack-plugin": "2.2.0",
"mini-css-extract-plugin": "0.4.2",
"node-sass": "4.9.3",
"prettier": "1.14.2",
"prettier-tslint": "0.4.0",
"sass-loader": "7.1.0",
"size-plugin": "1.0.1",
"style-loader": "0.23.0",
"tslint": "5.11.0",
"tslint-loader": "3.6.0",
"tslint-prettiest": "0.0.1",
"ts-loader": "5.0.0",
"typescript": "3.0.3",
"vscode": "1.1.21",
"webpack": "4.17.2",
"webpack-cli": "3.1.0",
"webpack-deep-scope-plugin": "1.5.3",
"webpack-node-externals": "1.7.2"
}
}