{ "name": "gitlens", "displayName": "GitLens — Git supercharged", "description": "Supercharge the Git capabilities built into Visual Studio Code — Visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via powerful comparison commands, and so much more", "version": "9.0.3", "author": { "name": "Eric Amodio", "email": "eamodio@gmail.com" }, "publisher": "eamodio", "license": "SEE LICENSE IN LICENSE", "homepage": "https://github.com/eamodio/vscode-gitlens/blob/master/README.md", "bugs": { "url": "https://github.com/eamodio/vscode-gitlens/issues" }, "repository": { "type": "git", "url": "https://github.com/eamodio/vscode-gitlens.git" }, "engines": { "vscode": "^1.29.0" }, "main": "./dist/extension", "icon": "images/gitlens-icon.png", "preview": false, "badges": [ { "url": "https://img.shields.io/badge/vscode--dev--community-gitlens-blue.svg?logo=slack", "href": "https://join.slack.com/t/vscode-dev-community/shared_invite/enQtMjIxOTgxNDE3NzM0LWU5M2ZiZDU1YjBlMzdlZjA2YjBjYzRhYTM5NTgzMTAxMjdiNWU0ZmQzYWI3MWU5N2Q1YjBiYmQ4MzY0NDE1MzY", "description": "Join us in the #gitlens channel" } ], "categories": [ "Other" ], "galleryBanner": { "color": "#8647ae", "theme": "dark" }, "keywords": [ "gitlens", "git", "blame", "log", "annotation", "multi-root ready" ], "activationEvents": [ "*" ], "contributes": { "configuration": { "type": "object", "title": "GitLens", "properties": { "gitlens.blame.avatars": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show avatar images in the gutter blame annotations", "scope": "window" }, "gitlens.blame.compact": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to compact (deduplicate) matching adjacent gutter blame annotations", "scope": "window" }, "gitlens.blame.dateFormat": { "type": "string", "default": null, "markdownDescription": "Specifies how to format absolute dates (using the `${date}` token) in gutter blame annotations. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for valid formats", "scope": "window" }, "gitlens.blame.format": { "type": "string", "default": "${message|40?} ${agoOrDate|14-}", "markdownDescription": "Specifies the format of the gutter blame annotations. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.blame.dateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`", "scope": "window" }, "gitlens.blame.heatmap.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide a heatmap indicator in the gutter blame annotations", "scope": "window" }, "gitlens.blame.heatmap.location": { "type": "string", "default": "right", "enum": [ "left", "right" ], "enumDescriptions": [ "Adds a heatmap indicator on the left edge of the gutter blame annotations", "Adds a heatmap indicator on the right edge of the gutter blame annotations" ], "markdownDescription": "Specifies where the heatmap indicators will be shown in the gutter blame annotations", "scope": "window" }, "gitlens.blame.highlight.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to highlight lines associated with the current line", "scope": "window" }, "gitlens.blame.highlight.locations": { "type": "array", "default": [ "gutter", "line", "overview" ], "items": { "type": "string", "enum": [ "gutter", "line", "overview" ], "enumDescriptions": [ "Adds a gutter glyph", "Adds a full-line highlight background color", "Adds a decoration to the overview ruler (scroll bar)" ] }, "minItems": 1, "maxItems": 3, "uniqueItems": true, "markdownDescription": "Specifies where the associated line highlights will be shown", "scope": "window" }, "gitlens.blame.ignoreWhitespace": { "type": "boolean", "default": false, "markdownDescription": "Specifies whether to ignore whitespace when comparing revisions during blame operations", "scope": "resource" }, "gitlens.blame.separateLines": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether gutter blame annotations will be separated by a small gap", "scope": "window" }, "gitlens.blame.toggleMode": { "type": "string", "default": "file", "enum": [ "file", "window" ], "enumDescriptions": [ "Toggles each file individually", "Toggles the window, i.e. all files at once" ], "markdownDescription": "Specifies how the gutter blame annotations will be toggled", "scope": "window" }, "gitlens.codeLens.authors.command": { "type": "string", "default": "gitlens.toggleFileBlame", "enum": [ "gitlens.toggleFileBlame", "gitlens.diffWithPrevious", "gitlens.showQuickCommitDetails", "gitlens.showQuickCommitFileDetails", "gitlens.showQuickFileHistory", "gitlens.showQuickRepoHistory" ], "enumDescriptions": [ "Toggles file blame annotations", "Compares the current committed file with the previous commit", "Shows a commit details quick pick", "Shows a commit file details quick pick", "Shows a file history quick pick", "Shows a branch history quick pick" ], "markdownDescription": "Specifies the command to be executed when an _authors_ code lens is clicked", "scope": "window" }, "gitlens.codeLens.authors.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide an _authors_ code lens, showing number of authors of the file or code block and the most prominent author (if there is more than one)", "scope": "window" }, "gitlens.codeLens.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide any Git code lens, by default. Use the `Toggle Git Code Lens` command (`gitlens.toggleCodeLens`) to toggle the Git code lens on and off for the current window", "scope": "window" }, "gitlens.codeLens.includeSingleLineSymbols": { "type": "boolean", "default": false, "markdownDescription": "Specifies whether to provide any Git code lens on symbols that span only a single line", "scope": "window" }, "gitlens.codeLens.recentChange.command": { "type": "string", "default": "gitlens.showQuickCommitFileDetails", "enum": [ "gitlens.toggleFileBlame", "gitlens.diffWithPrevious", "gitlens.showQuickCommitDetails", "gitlens.showQuickCommitFileDetails", "gitlens.showQuickFileHistory", "gitlens.showQuickRepoHistory" ], "enumDescriptions": [ "Toggles file blame annotations", "Compares the current committed file with the previous commit", "Shows a commit details quick pick", "Shows a commit file details quick pick", "Shows a file history quick pick", "Shows a branch history quick pick" ], "markdownDescription": "Specifies the command to be executed when a _recent change_ code lens is clicked", "scope": "window" }, "gitlens.codeLens.recentChange.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide a _recent change_ code lens, showing the author and date of the most recent commit for the file or code block", "scope": "window" }, "gitlens.codeLens.scopes": { "type": "array", "default": [ "document", "containers" ], "items": { "type": "string", "enum": [ "document", "containers", "blocks" ], "enumDescriptions": [ "Adds code lens at the top of the document", "Adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)", "Adds code lens at the start of block-like symbols (functions, methods, etc) lines" ] }, "minItems": 1, "maxItems": 4, "uniqueItems": true, "markdownDescription": "Specifies where Git code lens will be shown in the document", "scope": "resource" }, "gitlens.codeLens.scopesByLanguage": { "type": "array", "default": [ { "language": "azure-pipelines", "scopes": [ "document" ] }, { "language": "css", "scopes": [ "document" ] }, { "language": "html", "scopes": [ "document" ] }, { "language": "json", "scopes": [ "document" ] }, { "language": "jsonc", "scopes": [ "document" ] }, { "language": "less", "scopes": [ "document" ] }, { "language": "postcss", "scopes": [ "document" ] }, { "language": "python", "symbolScopes": [ "!Module" ] }, { "language": "scss", "scopes": [ "document" ] }, { "language": "stylus", "scopes": [ "document" ] }, { "language": "vue", "scopes": [ "document" ] }, { "language": "yaml", "scopes": [ "document" ] } ], "items": { "type": "object", "required": [ "language" ], "properties": { "language": { "type": "string", "description": "Specifies the language to which this code lens override applies" }, "scopes": { "type": "array", "default": [ "document", "containers" ], "items": { "type": "string", "enum": [ "document", "containers", "blocks", "custom" ], "enumDescriptions": [ "Adds code lens at the top of the document", "Adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)", "Adds code lens at the start of block-like symbols (functions, methods, properties, etc) lines", "Adds code lens at the start of symbols contained in `symbolScopes`" ] }, "minItems": 1, "maxItems": 4, "uniqueItems": true, "description": "Specifies where Git code lens will be shown in the document for the specified language" }, "symbolScopes": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "description": "Specifies the set of document symbols where Git code lens will be shown in the document for the specified language. Must be a member of `SymbolKind`" } } }, "uniqueItems": true, "markdownDescription": "Specifies where Git code lens will be shown in the document for the specified languages", "scope": "resource" }, "gitlens.codeLens.symbolScopes": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "markdownDescription": "Specifies a set of document symbols where Git code lens will or will not be shown in the document. Prefix with `!` to avoid providing a Git code lens for the symbol. Must be a member of `SymbolKind`", "scope": "resource" }, "gitlens.currentLine.dateFormat": { "type": "string", "default": null, "markdownDescription": "Specifies how to format absolute dates (using the `${date}` token) for the current line blame annotation. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for valid formats", "scope": "window" }, "gitlens.currentLine.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide a blame annotation for the current line, by default. Use the `Toggle Line Blame Annotations` command (`gitlens.toggleLineBlame`) to toggle the annotations on and off for the current window", "scope": "window" }, "gitlens.currentLine.format": { "type": "string", "default": "${authorAgoOrDate} • ${message}", "markdownDescription": "Specifies the format of the current line blame annotation. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.currentLine.dateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`", "scope": "window" }, "gitlens.currentLine.scrollable": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether the current line blame annotation can be scrolled into view when it is outside the viewport", "scope": "window" }, "gitlens.debug": { "type": "boolean", "default": false, "markdownDescription": "Specifies debug mode", "scope": "window" }, "gitlens.defaultDateFormat": { "type": "string", "default": null, "markdownDescription": "Specifies how absolute dates will be formatted by default. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for valid formats", "scope": "window" }, "gitlens.defaultDateStyle": { "type": "string", "default": "relative", "enum": [ "relative", "absolute" ], "enumDescriptions": [ "e.g. 1 day ago", "e.g. July 25th, 2018 7:18pm" ], "markdownDescription": "Specifies how dates will be displayed by default", "scope": "window" }, "gitlens.defaultGravatarsStyle": { "type": "string", "default": "robohash", "enum": [ "identicon", "mp", "monsterid", "retro", "robohash", "wavatar" ], "enumDescriptions": [ "A geometric pattern", "A simple, cartoon-style silhouetted outline of a person (does not vary by email hash)", "A monster with different colors, faces, etc", "8-bit arcade-style pixelated faces", "A robot with different colors, faces, etc", "A face with differing features and backgrounds" ], "markdownDescription": "Specifies the style of the gravatar default (fallback) images", "scope": "window" }, "gitlens.heatmap.ageThreshold": { "type": "string", "default": "90", "markdownDescription": "Specifies the age of the most recent change (in days) after which the gutter heatmap annotations will be cold rather than hot (i.e. will use `#gitlens.heatmap.coldColor#` instead of `#gitlens.heatmap.hotColor#`)", "scope": "window" }, "gitlens.heatmap.coldColor": { "type": "string", "default": "#0a60f6", "markdownDescription": "Specifies the base color of the gutter heatmap annotations when the most recent change is older (cold) than the `#gitlens.heatmap.ageThreshold#` value", "scope": "window" }, "gitlens.heatmap.hotColor": { "type": "string", "default": "#f66a0a", "markdownDescription": "Specifies the base color of the gutter heatmap annotations when the most recent change is newer (hot) than the `#gitlens.heatmap.ageThreshold#` value", "scope": "window" }, "gitlens.heatmap.toggleMode": { "type": "string", "default": "file", "enum": [ "file", "window" ], "enumDescriptions": [ "Toggles each file individually", "Toggles the window, i.e. all files at once" ], "markdownDescription": "Specifies how the gutter heatmap annotations will be toggled", "scope": "window" }, "gitlens.hovers.annotations.changes": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide a _changes (diff)_ hover for all lines when showing blame annotations", "scope": "window" }, "gitlens.hovers.annotations.details": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide a _commit details_ hover for all lines when showing blame annotations", "scope": "window" }, "gitlens.hovers.annotations.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide any hovers when showing blame annotations", "scope": "window" }, "gitlens.hovers.annotations.over": { "type": "string", "default": "line", "enum": [ "annotation", "line" ], "enumDescriptions": [ "Only shown when hovering over the line annotation", "Shown when hovering anywhere over the line" ], "markdownDescription": "Specifies when to trigger hovers when showing blame annotations", "scope": "window" }, "gitlens.hovers.currentLine.changes": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide a _changes (diff)_ hover for the current line", "scope": "window" }, "gitlens.hovers.currentLine.details": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide a _commit details_ hover for the current line", "scope": "window" }, "gitlens.hovers.currentLine.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide any hovers for the current line", "scope": "window" }, "gitlens.hovers.currentLine.over": { "type": "string", "default": "annotation", "enum": [ "annotation", "line" ], "enumDescriptions": [ "Only shown when hovering over the line annotation", "Shown when hovering anywhere over the line" ], "markdownDescription": "Specifies when to trigger hovers for the current line", "scope": "window" }, "gitlens.hovers.avatars": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show avatar images in hovers", "scope": "window" }, "gitlens.hovers.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide any hovers", "scope": "window" }, "gitlens.insiders": { "type": "boolean", "default": false, "markdownDescription": "Specifies whether to enable experimental features", "scope": "window" }, "gitlens.keymap": { "type": "string", "default": "chorded", "enum": [ "alternate", "chorded", "none" ], "enumDescriptions": [ "Adds an alternate set of shortcut keys that start with `Alt` (⌥ on macOS)", "Adds a chorded set of shortcut keys that start with `Ctrl+Alt+G` (`⌥⌘G` on macOS)", "No shortcut keys will be added" ], "markdownDescription": "Specifies the keymap to use for GitLens shortcut keys", "scope": "window" }, "gitlens.liveshare.allowGuestAccess": { "type": "boolean", "default": true, "description": "Specifies whether to allow guest access to GitLens features when using Visual Studio Live Share", "scope": "window" }, "gitlens.menus": { "anyOf": [ { "enum": [ false ] }, { "type": "object", "properties": { "editor": { "anyOf": [ { "enum": [ false ] }, { "type": "object", "properties": { "blame": { "type": "boolean" }, "clipboard": { "type": "boolean" }, "compare": { "type": "boolean" }, "details": { "type": "boolean" }, "history": { "type": "boolean" }, "remote": { "type": "boolean" } } } ] }, "editorGroup": { "anyOf": [ { "enum": [ false ] }, { "type": "object", "properties": { "blame": { "type": "boolean" }, "compare": { "type": "boolean" }, "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 } }, "markdownDescription": "Specifies which commands will be added to which menus", "scope": "window" }, "gitlens.mode.active": { "type": "string", "markdownDescription": "Specifies the active GitLens mode, if any", "scope": "window" }, "gitlens.mode.statusBar.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide the active GitLens mode in the status bar", "scope": "window" }, "gitlens.mode.statusBar.alignment": { "type": "string", "default": "right", "enum": [ "left", "right" ], "enumDescriptions": [ "Aligns to the left", "Aligns to the right" ], "markdownDescription": "Specifies the active GitLens mode alignment in the status bar", "scope": "window" }, "gitlens.modes": { "type": "object", "properties": { "zen": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "statusBarItemName": { "type": "string" }, "description": { "type": "string" }, "codeLens": { "type": "boolean" }, "currentLine": { "type": "boolean" }, "hovers": { "type": "boolean" }, "statusBar": { "type": "boolean" }, "views": { "type": "boolean" } } }, "review": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "statusBarItemName": { "type": "string" }, "description": { "type": "string" }, "codeLens": { "type": "boolean" }, "currentLine": { "type": "boolean" }, "hovers": { "type": "boolean" }, "statusBar": { "type": "boolean" }, "views": { "type": "boolean" } } } }, "additionalProperties": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "statusBarItemName": { "type": "string" }, "description": { "type": "string" }, "codeLens": { "type": "boolean" }, "currentLine": { "type": "boolean" }, "hovers": { "type": "boolean" }, "statusBar": { "type": "boolean" }, "views": { "type": "boolean" } } }, "default": { "zen": { "name": "Zen", "statusBarItemName": "Zen", "description": "for a zen-like experience, disables many visual features", "codeLens": false, "currentLine": false, "hovers": false, "statusBar": false }, "review": { "name": "Review", "statusBarItemName": "Reviewing", "description": "for reviewing code, enables many visual features", "codeLens": true, "currentLine": true, "hovers": true } }, "markdownDescription": "Specifies the user-defined GitLens modes", "scope": "window" }, "gitlens.outputLevel": { "type": "string", "default": "silent", "enum": [ "silent", "errors", "verbose", "debug" ], "markdownDescription": "Specifies how much (if any) output will be sent to the GitLens output channel", "scope": "window" }, "gitlens.recentChanges.highlight.locations": { "type": "array", "default": [ "gutter", "line", "overview" ], "items": { "type": "string", "enum": [ "gutter", "line", "overview" ], "enumDescriptions": [ "Adds a gutter glyph", "Adds a full-line highlight background color", "Adds a decoration to the overview ruler (scroll bar)" ] }, "minItems": 1, "maxItems": 3, "uniqueItems": true, "markdownDescription": "Specifies where the highlights of the recently changed lines will be shown", "scope": "window" }, "gitlens.recentChanges.toggleMode": { "type": "string", "default": "file", "enum": [ "file", "window" ], "enumDescriptions": [ "Toggles each file individually", "Toggles the window, i.e. all files at once" ], "markdownDescription": "Specifies how the recently changed lines annotations will be toggled", "scope": "window" }, "gitlens.remotes": { "type": "array", "default": null, "items": { "type": "object", "required": [ "type", "domain" ], "properties": { "type": { "type": "string", "enum": [ "Bitbucket", "BitbucketServer", "Custom", "GitHub", "GitLab" ], "description": "Specifies the type of the custom remote service" }, "domain": { "type": "string", "description": "Specifies the domain name of the custom remote service" }, "name": { "type": "string", "description": "Specifies an optional friendly name for the custom remote service" }, "protocol": { "type": "string", "default": "https", "description": "Specifies an optional url protocol for the custom remote service" }, "urls": { "type": "object", "required": [ "repository", "branches", "branch", "commit", "file", "fileInCommit", "fileInBranch", "fileLine", "fileRange" ], "properties": { "repository": { "type": "string", "description": "Specifies the format of a respository url for the custom remote service\nAvailable tokens\n ${repo}` — repository path" }, "branches": { "type": "string", "description": "Specifies the format of a branches url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${branch}` — branch" }, "branch": { "type": "string", "description": "Specifies the format of a branch url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${branch}` — branch" }, "commit": { "type": "string", "description": "Specifies the format of a commit url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${id}` — commit id" }, "file": { "type": "string", "description": "Specifies the format of a file url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${file}` — file name\n ${line}` — formatted line information" }, "fileInBranch": { "type": "string", "description": "Specifies the format of a branch file url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${file}` — file name\n ${branch}` — branch\n ${line}` — formatted line information" }, "fileInCommit": { "type": "string", "description": "Specifies the format of a commit file url for the custom remote service\nAvailable tokens\n ${repo}` — repository path\n ${file}` — file name\n ${id}` — commit id\n ${line}` — formatted line information" }, "fileLine": { "type": "string", "description": "Specifies the format of a line in a file url for the custom remote service\nAvailable tokens\n ${line}` — line" }, "fileRange": { "type": "string", "description": "Specifies the format of a range in a file url for the custom remote service\nAvailable tokens\n ${start}` — starting line\n ${end}` — ending line" } } }, "description": "Specifies the url formats of the custom remote service" } }, "uniqueItems": true, "markdownDescription": "Specifies user-defined remote (code-hosting) services or custom domains for built-in remote services", "scope": "resource" }, "gitlens.settings.mode": { "type": "string", "default": "simple", "enum": [ "simple", "advanced" ], "enumDescriptions": [ "Only displays common settings", "Displays all settings" ], "markdownDescription": "Specifies the display mode of the interactive settings editor", "scope": "window" }, "gitlens.showWhatsNewAfterUpgrades": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show What's New after upgrading to new feature releases", "scope": "window" }, "gitlens.statusBar.alignment": { "type": "string", "default": "right", "enum": [ "left", "right" ], "enumDescriptions": [ "Aligns to the left", "Aligns to the right" ], "markdownDescription": "Specifies the blame alignment in the status bar", "scope": "window" }, "gitlens.statusBar.command": { "type": "string", "default": "gitlens.showQuickCommitDetails", "enum": [ "gitlens.toggleFileBlame", "gitlens.diffWithPrevious", "gitlens.diffWithWorking", "gitlens.toggleCodeLens", "gitlens.showQuickCommitDetails", "gitlens.showQuickCommitFileDetails", "gitlens.showQuickFileHistory", "gitlens.showQuickRepoHistory" ], "enumDescriptions": [ "Toggles file blame annotations", "Compares the current line commit with the previous", "Compares the current line commit with the working tree", "Toggles Git code lens", "Shows a commit details quick pick", "Shows a commit file details quick pick", "Shows a file history quick pick", "Shows a branch history quick pick" ], "markdownDescription": "Specifies the command to be executed when the blame status bar item is clicked", "scope": "window" }, "gitlens.statusBar.dateFormat": { "type": "string", "default": null, "markdownDescription": "Specifies the date format of absolute dates shown in the blame information in the status bar. See the [Moment.js docs](https://momentjs.com/docs/#/displaying/format/) for valid formats", "scope": "window" }, "gitlens.statusBar.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to provide blame information in the status bar", "scope": "window" }, "gitlens.statusBar.format": { "type": "string", "default": "${authorAgoOrDate}", "markdownDescription": "Specifies the format of the gutter blame annotations. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.statusBar.dateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`", "scope": "window" }, "gitlens.statusBar.reduceFlicker": { "type": "boolean", "default": false, "markdownDescription": "Specifies whether to avoid clearing the previous blame information when changing lines to reduce status bar \"flashing\"", "scope": "window" }, "gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors": { "type": "string", "default": "Unsaved changes (cannot determine recent change or authors)", "markdownDescription": "Specifies the string to be shown in place of both the _recent change_ and _authors_ code lens when there are unsaved changes", "scope": "window" }, "gitlens.strings.codeLens.unsavedChanges.recentChangeOnly": { "type": "string", "default": "Unsaved changes (cannot determine recent change)", "markdownDescription": "Specifies the string to be shown in place of the _recent change_ code lens when there are unsaved changes", "scope": "window" }, "gitlens.strings.codeLens.unsavedChanges.authorsOnly": { "type": "string", "default": "Unsaved changes (cannot determine authors)", "markdownDescription": "Specifies the string to be shown in place of the _authors_ code lens when there are unsaved changes", "scope": "window" }, "gitlens.views.avatars": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show avatar images instead of commit (or status) icons in the views", "scope": "window" }, "gitlens.views.commitFileFormat": { "type": "string", "default": "${filePath}", "markdownDescription": "Specifies the format of a committed file in the views\n- Available tokens\n - `${directory}` — directory name\n - `${file}` — file name\n - `${filePath}` — formatted file name and path\n - `${path}` — full file path", "scope": "window" }, "gitlens.views.commitFormat": { "type": "string", "default": "${message} • ${authorAgoOrDate}${ • changes}${ (id)}", "markdownDescription": "Specifies the format of committed changes in the views. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.defaultDateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`", "scope": "window" }, "gitlens.views.compare.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show the _Compare_ view", "scope": "window" }, "gitlens.views.compare.files.compact": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Compare_ view. Only applies when `#gitlens.views.compare.files.layout#` is set to `tree` or `auto`", "scope": "window" }, "gitlens.views.compare.files.layout": { "type": "string", "default": "auto", "enum": [ "auto", "list", "tree" ], "enumDescriptions": [ "Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.compare.files.threshold#` value and the number of files at each nesting level", "Displays files as a list", "Displays files as a tree" ], "markdownDescription": "Specifies how the _Compare_ view will display files", "scope": "window" }, "gitlens.views.compare.files.threshold": { "type": "number", "default": 5, "markdownDescription": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _Compare_ view. Only applies when `#gitlens.views.compare.files.layout#` is set to `auto`", "scope": "window" }, "gitlens.views.compare.location": { "type": "string", "default": "gitlens", "enum": [ "gitlens", "explorer", "scm" ], "enumDescriptions": [ "Adds to the GitLens side bar", "Adds to the Explorer side bar", "Adds to the Source Control side bar" ], "markdownDescription": "Specifies where to show the _Compare_ view", "scope": "window" }, "gitlens.views.defaultItemLimit": { "type": "number", "default": 10, "markdownDescription": "Specifies the default number of items to show in a view list. Use 0 to specify no limit", "scope": "window" }, "gitlens.views.fileHistory.avatars": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show avatar images instead of status icons in the _File History_ view", "scope": "window" }, "gitlens.views.fileHistory.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show the _File History_ view", "scope": "window" }, "gitlens.views.fileHistory.location": { "type": "string", "default": "gitlens", "enum": [ "gitlens", "explorer", "scm" ], "enumDescriptions": [ "Adds to the GitLens side bar", "Adds to the Explorer side bar", "Adds to the Source Control side bar" ], "markdownDescription": "Specifies where to show the _File History_ view", "scope": "window" }, "gitlens.views.lineHistory.avatars": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show avatar images instead of status icons in the _Line History_ view", "scope": "window" }, "gitlens.views.lineHistory.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show the _Line History_ view", "scope": "window" }, "gitlens.views.lineHistory.location": { "type": "string", "default": "gitlens", "enum": [ "gitlens", "explorer", "scm" ], "enumDescriptions": [ "Adds to the GitLens side bar", "Adds to the Explorer side bar", "Adds to the Source Control side bar" ], "markdownDescription": "Specifies where to show the _Line History_ view", "scope": "window" }, "gitlens.views.repositories.autoRefresh": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to automatically refresh the _Repositories_ view when the repository or the file system changes", "scope": "window" }, "gitlens.views.repositories.autoReveal": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to automatically reveal repositories in the _Repositories_ view when opening files", "scope": "window" }, "gitlens.views.repositories.branches.layout": { "type": "string", "default": "tree", "enum": [ "list", "tree" ], "enumDescriptions": [ "Displays branches as a list", "Displays branches as a tree when branch names contain slashes `/`" ], "markdownDescription": "Specifies how the _Repositories_ view will display branches", "scope": "window" }, "gitlens.views.repositories.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show the _Repositories_ view", "scope": "window" }, "gitlens.views.repositories.files.compact": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Repositories_ view. Only applies when `#gitlens.views.repositories.files.layout#` is set to `tree` or `auto`", "scope": "window" }, "gitlens.views.repositories.files.layout": { "type": "string", "default": "auto", "enum": [ "auto", "list", "tree" ], "enumDescriptions": [ "Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.repositories.files.threshold#` value and the number of files at each nesting level", "Displays files as a list", "Displays files as a tree" ], "markdownDescription": "Specifies how the _Repositories_ view will display files", "scope": "window" }, "gitlens.views.repositories.files.threshold": { "type": "number", "default": 5, "markdownDescription": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _Repositories_ view. Only applies when `#gitlens.views.repositories.files.layout#` is set to `auto`", "scope": "window" }, "gitlens.views.repositories.includeWorkingTree": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to include working tree file status for each repository in the _Repositories_ view", "scope": "window" }, "gitlens.views.repositories.location": { "type": "string", "default": "gitlens", "enum": [ "gitlens", "explorer", "scm" ], "enumDescriptions": [ "Adds to the GitLens side bar", "Adds to the Explorer side bar", "Adds to the Source Control side bar" ], "markdownDescription": "Specifies where to show the _Repositories_ view", "scope": "window" }, "gitlens.views.repositories.showTrackingBranch": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show the tracking branch when displaying local branches in the _Repositories_ view", "scope": "window" }, "gitlens.views.search.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to show the _Search Commits_ view", "scope": "window" }, "gitlens.views.search.files.compact": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to compact (flatten) unnecessary file nesting in the _Search Commits_ view. Only applies when `#gitlens.views.search.files.layout#` is set to `tree` or `auto`", "scope": "window" }, "gitlens.views.search.files.layout": { "type": "string", "default": "auto", "enum": [ "auto", "list", "tree" ], "enumDescriptions": [ "Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.search.files.threshold#` value and the number of files at each nesting level", "Displays files as a list", "Displays files as a tree" ], "markdownDescription": "Specifies how the _Search Commits_ view will display files", "scope": "window" }, "gitlens.views.search.files.threshold": { "type": "number", "default": 5, "markdownDescription": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the _Search Commits_ view. Only applies when `#gitlens.views.search.files.layout#` is set to `auto`", "scope": "window" }, "gitlens.views.search.location": { "type": "string", "default": "gitlens", "enum": [ "gitlens", "explorer", "scm" ], "enumDescriptions": [ "Adds to the GitLens side bar", "Adds to the Explorer side bar", "Adds to the Source Control side bar" ], "markdownDescription": "Specifies where to show the _Search Commits_ view", "scope": "window" }, "gitlens.views.stashFileFormat": { "type": "string", "default": "${filePath}", "markdownDescription": "Specifies the format of a stashed file in the views\n- Available tokens\n - `${directory}` — directory name\n - `${file}` — file name\n - `${filePath}` — formatted file name and path\n - `${path}` — full file path", "scope": "window" }, "gitlens.views.stashFormat": { "type": "string", "default": "${message}", "markdownDescription": "Specifies the format of stashed changes in the views. See the [GitLens docs](https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting) for advanced formatting\n- Available tokens\n - `${id}` — commit id\n - `${author}` — commit author\n - `${message}` — commit message\n - `${ago}` — relative commit date (e.g. 1 day ago)\n - `${date}` — formatted commit date (format specified by `#gitlens.statusBar.dateFormat#`)\n - `${agoOrDate}` — commit date specified by `#gitlens.defaultDateStyle#`\n - `${authorAgo}` — commit author, relative commit date\n - `${authorAgoOrDate}` — commit author, commit date specified by `#gitlens.defaultDateStyle#`", "scope": "window" }, "gitlens.views.statusFileFormat": { "type": "string", "default": "${working }${filePath}", "markdownDescription": "Specifies the format of the status of a working or committed file in the views\n- Available tokens\n - `${directory}` — directory name\n - `${file}` — file name\n - `${filePath}` — formatted file name and path\n - `${path}` — full file path\n - `${working}` — optional indicator if the file is uncommitted", "scope": "window" }, "gitlens.advanced.blame.customArguments": { "type": "array", "default": null, "items": { "type": "string" }, "markdownDescription": "Specifies additional arguments to pass to the `git blame` command", "scope": "resource" }, "gitlens.advanced.blame.delayAfterEdit": { "type": "number", "default": 5000, "markdownDescription": "Specifies the time (in milliseconds) to wait before re-blaming an unsaved document after an edit. Use 0 to specify an infinite wait", "scope": "window" }, "gitlens.advanced.blame.sizeThresholdAfterEdit": { "type": "number", "default": 5000, "markdownDescription": "Specifies the maximum document size (in lines) allowed to be re-blamed after an edit while still unsaved. Use 0 to specify no maximum", "scope": "window" }, "gitlens.advanced.caching.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether git output will be cached — changing the default is not recommended", "scope": "window" }, "gitlens.advanced.fileHistoryFollowsRenames": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether file histories will follow renames — will affect how merge commits are shown in histories", "scope": "window" }, "gitlens.advanced.maxListItems": { "type": "number", "default": 200, "markdownDescription": "Specifies the maximum number of items to show in a list. Use 0 to specify no maximum", "scope": "window" }, "gitlens.advanced.messages": { "type": "object", "default": { "suppressCommitHasNoPreviousCommitWarning": false, "suppressCommitNotFoundWarning": false, "suppressFileNotUnderSourceControlWarning": false, "suppressGitDisabledWarning": false, "suppressGitVersionWarning": false, "suppressLineUncommittedWarning": false, "suppressNoRepositoryWarning": false, "suppressSupportGitLensNotification": false }, "properties": { "suppressCommitHasNoPreviousCommitWarning": { "type": "boolean", "default": false }, "suppressCommitNotFoundWarning": { "type": "boolean", "default": false }, "suppressFileNotUnderSourceControlWarning": { "type": "boolean", "default": false }, "suppressGitDisabledWarning": { "type": "boolean", "default": false }, "suppressGitVersionWarning": { "type": "boolean", "default": false }, "suppressLineUncommittedWarning": { "type": "boolean", "default": false }, "suppressNoRepositoryWarning": { "type": "boolean", "default": false }, "suppressSupportGitLensNotification": { "type": "boolean", "default": false } }, "markdownDescription": "Specifies which messages should be suppressed", "scope": "window" }, "gitlens.advanced.quickPick.closeOnFocusOut": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to close QuickPick menus when focus is lost", "scope": "window" }, "gitlens.advanced.repositorySearchDepth": { "type": "number", "default": 1, "markdownDescription": "Specifies how many folders deep to search for repositories", "scope": "resource" }, "gitlens.advanced.telemetry.enabled": { "type": "boolean", "default": true, "markdownDescription": "Specifies whether to enable GitLens telemetry (even if enabled still abides by the overall `#telemetry.enableTelemetry#` setting", "scope": "window" } } }, "colors": [ { "id": "gitlens.gutterBackgroundColor", "description": "Specifies the background color of the gutter blame annotations", "defaults": { "dark": "#FFFFFF13", "light": "#0000000C", "highContrast": "#FFFFFF13" } }, { "id": "gitlens.gutterForegroundColor", "description": "Specifies the foreground color of the gutter blame annotations", "defaults": { "dark": "#BEBEBE", "light": "#747474", "highContrast": "#BEBEBE" } }, { "id": "gitlens.gutterUncommittedForegroundColor", "description": "Specifies the foreground color of an uncommitted line in the gutter blame annotations", "defaults": { "dark": "#00BCF299", "light": "#00BCF299", "highContrast": "#00BCF2FF" } }, { "id": "gitlens.trailingLineBackgroundColor", "description": "Specifies the background color of the blame annotation for the current line", "defaults": { "dark": "#00000000", "light": "#00000000", "highContrast": "#00000000" } }, { "id": "gitlens.trailingLineForegroundColor", "description": "Specifies the foreground color of the blame annotation for the current line", "defaults": { "dark": "#99999959", "light": "#99999959", "highContrast": "#99999999" } }, { "id": "gitlens.lineHighlightBackgroundColor", "description": "Specifies the background color of the associated line highlights in blame annotations", "defaults": { "dark": "#00BCF233", "light": "#00BCF233", "highContrast": "#00BCF233" } }, { "id": "gitlens.lineHighlightOverviewRulerColor", "description": "Specifies the overview ruler color of the associated line highlights in blame annotations", "defaults": { "dark": "#00BCF299", "light": "#00BCF299", "highContrast": "#00BCF299" } } ], "commands": [ { "command": "gitlens.supportGitLens", "title": "Support GitLens ❤", "category": "GitLens", "icon": { "dark": "images/dark/icon-heart.svg", "light": "images/light/icon-heart.svg" } }, { "command": "gitlens.showSettingsPage", "title": "Open Settings", "category": "GitLens", "icon": { "dark": "images/dark/icon-gear.svg", "light": "images/light/icon-gear.svg" } }, { "command": "gitlens.showWelcomePage", "title": "Welcome", "category": "GitLens" }, { "command": "gitlens.showCompareView", "title": "Show Compare View", "category": "GitLens" }, { "command": "gitlens.showFileHistoryView", "title": "Show File History View", "category": "GitLens" }, { "command": "gitlens.showLineHistoryView", "title": "Show Line History View", "category": "GitLens" }, { "command": "gitlens.showRepositoriesView", "title": "Show Repositories View", "category": "GitLens" }, { "command": "gitlens.showSearchView", "title": "Show Search Commits View", "category": "GitLens" }, { "command": "gitlens.diffDirectory", "title": "Directory Compare Working Tree with...", "category": "GitLens" }, { "command": "gitlens.diffDirectoryWithHead", "title": "Directory Compare All Changes", "category": "GitLens" }, { "command": "gitlens.diffHeadWithBranch", "title": "Compare HEAD with Branch or Tag...", "category": "GitLens" }, { "command": "gitlens.diffWorkingWithBranch", "title": "Compare Working Tree with Branch or Tag...", "category": "GitLens" }, { "command": "gitlens.diffWithBranch", "title": "Open Changes with Branch or Tag...", "category": "GitLens" }, { "command": "gitlens.diffWithNext", "title": "Open Changes with Next Revision", "category": "GitLens", "icon": { "dark": "images/dark/icon-next-commit.svg", "light": "images/light/icon-next-commit.svg" } }, { "command": "gitlens.diffWithPrevious", "title": "Open Changes with Previous Revision", "category": "GitLens", "icon": { "dark": "images/dark/icon-prev-commit.svg", "light": "images/light/icon-prev-commit.svg" } }, { "command": "gitlens.diffWithPreviousInDiff", "title": "Open Changes with Previous Revision", "category": "GitLens", "icon": { "dark": "images/dark/icon-prev-commit.svg", "light": "images/light/icon-prev-commit.svg" } }, { "command": "gitlens.diffLineWithPrevious", "title": "Open Line Changes with Previous Revision", "category": "GitLens" }, { "command": "gitlens.diffWithRevision", "title": "Open Changes with Revision...", "category": "GitLens", "icon": { "dark": "images/dark/icon-prev-commit-menu.svg", "light": "images/light/icon-prev-commit-menu.svg" } }, { "command": "gitlens.diffWithWorking", "title": "Open Changes with Working File", "category": "GitLens", "icon": { "dark": "images/dark/icon-compare.svg", "light": "images/light/icon-compare.svg" } }, { "command": "gitlens.diffLineWithWorking", "title": "Open Line Changes with Working File", "category": "GitLens" }, { "command": "gitlens.toggleFileBlame", "title": "Toggle File Blame Annotations", "category": "GitLens", "icon": { "dark": "images/dark/icon-git.svg", "light": "images/light/icon-git.svg" } }, { "command": "gitlens.clearFileAnnotations", "title": "Clear File Annotations", "category": "GitLens", "icon": { "dark": "images/dark/icon-git-orange.svg", "light": "images/light/icon-git-orange.svg" } }, { "command": "gitlens.computingFileAnnotations", "title": "Computing File Annotations...", "category": "GitLens", "icon": { "dark": "images/dark/icon-git-progress.svg", "light": "images/light/icon-git-progress.svg" } }, { "command": "gitlens.toggleFileHeatmap", "title": "Toggle File Heatmap Annotations", "category": "GitLens" }, { "command": "gitlens.toggleFileRecentChanges", "title": "Toggle Recent File Changes Annotations", "category": "GitLens", "icon": { "dark": "images/dark/icon-git.svg", "light": "images/light/icon-git.svg" } }, { "command": "gitlens.toggleLineBlame", "title": "Toggle Line Blame Annotations", "category": "GitLens" }, { "command": "gitlens.toggleCodeLens", "title": "Toggle Git Code Lens", "category": "GitLens" }, { "command": "gitlens.switchMode", "title": "Switch Mode", "category": "GitLens" }, { "command": "gitlens.toggleReviewMode", "title": "Toggle Review Mode", "category": "GitLens" }, { "command": "gitlens.toggleZenMode", "title": "Toggle Zen Mode", "category": "GitLens" }, { "command": "gitlens.showCommitSearch", "title": "Search Commits", "category": "GitLens", "icon": { "dark": "images/dark/icon-search.svg", "light": "images/light/icon-search.svg" } }, { "command": "gitlens.showLastQuickPick", "title": "Show Last Opened Quick Pick", "category": "GitLens" }, { "command": "gitlens.showCommitInView", "title": "Show Commit in View", "category": "GitLens" }, { "command": "gitlens.showFileHistoryInView", "title": "Show File History in View", "category": "GitLens" }, { "command": "gitlens.showQuickCommitDetails", "title": "Show Commit Details", "category": "GitLens" }, { "command": "gitlens.showQuickCommitFileDetails", "title": "Show Commit Details", "category": "GitLens" }, { "command": "gitlens.showQuickRevisionDetails", "title": "Show Revision Details", "category": "GitLens", "icon": { "dark": "images/dark/icon-commit.svg", "light": "images/light/icon-commit.svg" } }, { "command": "gitlens.showQuickFileHistory", "title": "Show File History", "category": "GitLens" }, { "command": "gitlens.showQuickBranchHistory", "title": "Show Branch History", "category": "GitLens" }, { "command": "gitlens.showQuickRepoHistory", "title": "Show Current Branch History", "category": "GitLens" }, { "command": "gitlens.showQuickRepoStatus", "title": "Show Repository Status", "category": "GitLens" }, { "command": "gitlens.showQuickStashList", "title": "Show Stashed Changes", "category": "GitLens" }, { "command": "gitlens.copyMessageToClipboard", "title": "Copy Commit Message to Clipboard", "category": "GitLens", "icon": { "dark": "images/dark/icon-clipboard.svg", "light": "images/light/icon-clipboard.svg" } }, { "command": "gitlens.copyRemoteFileUrlToClipboard", "title": "Copy Remote File Url to Clipboard", "category": "GitLens", "icon": { "dark": "images/dark/icon-copy-remote.svg", "light": "images/light/icon-copy-remote.svg" } }, { "command": "gitlens.copyShaToClipboard", "title": "Copy Commit ID to Clipboard", "category": "GitLens", "icon": { "dark": "images/dark/icon-copy-commit.svg", "light": "images/light/icon-copy-commit.svg" } }, { "command": "gitlens.closeUnchangedFiles", "title": "Close Unchanged Files", "category": "GitLens" }, { "command": "gitlens.openChangedFiles", "title": "Open Changed Files", "category": "GitLens" }, { "command": "gitlens.openBranchesInRemote", "title": "Open Branches on Remote", "category": "GitLens", "icon": { "dark": "images/dark/icon-link.svg", "light": "images/light/icon-link.svg" } }, { "command": "gitlens.openBranchInRemote", "title": "Open Branch on Remote", "category": "GitLens", "icon": { "dark": "images/dark/icon-link.svg", "light": "images/light/icon-link.svg" } }, { "command": "gitlens.openCommitInRemote", "title": "Open Commit on Remote", "category": "GitLens", "icon": { "dark": "images/dark/icon-link.svg", "light": "images/light/icon-link.svg" } }, { "command": "gitlens.openFileInRemote", "title": "Open File on Remote", "category": "GitLens", "icon": { "dark": "images/dark/icon-link.svg", "light": "images/light/icon-link.svg" } }, { "command": "gitlens.openFileRevision", "title": "Open Revision...", "category": "GitLens" }, { "command": "gitlens.openRepoInRemote", "title": "Open Repository on Remote", "category": "GitLens", "icon": { "dark": "images/dark/icon-link.svg", "light": "images/light/icon-link.svg" } }, { "command": "gitlens.openWorkingFile", "title": "Open Working File", "category": "GitLens", "icon": { "dark": "images/dark/icon-open-working-file.svg", "light": "images/light/icon-open-working-file.svg" } }, { "command": "gitlens.stashApply", "title": "Apply Stashed Changes", "category": "GitLens", "icon": { "dark": "images/dark/icon-stash-pop.svg", "light": "images/light/icon-stash-pop.svg" } }, { "command": "gitlens.stashDelete", "title": "Delete Stashed Changes", "category": "GitLens", "icon": { "dark": "images/dark/icon-delete.svg", "light": "images/light/icon-delete.svg" } }, { "command": "gitlens.stashSave", "title": "Stash Changes", "category": "GitLens", "icon": { "dark": "images/dark/icon-stash-save.svg", "light": "images/light/icon-stash-save.svg" } }, { "command": "gitlens.externalDiff", "title": "Open Changes (with difftool)", "category": "GitLens" }, { "command": "gitlens.externalDiffAll", "title": "Open All Changes (with difftool)", "category": "GitLens" }, { "command": "gitlens.resetSuppressedWarnings", "title": "Reset Suppressed Warnings", "category": "GitLens" }, { "command": "gitlens.views.exploreRepoRevision", "title": "Explore the Repository from Here", "category": "GitLens" }, { "command": "gitlens.fetchRepositories", "title": "Fetch Repositories", "category": "GitLens", "icon": { "dark": "images/dark/icon-sync.svg", "light": "images/light/icon-sync.svg" } }, { "command": "gitlens.pullRepositories", "title": "Pull Repositories", "category": "GitLens", "icon": { "dark": "images/dark/icon-pull.svg", "light": "images/light/icon-pull.svg" } }, { "command": "gitlens.pushRepositories", "title": "Push Repositories", "category": "GitLens", "icon": { "dark": "images/dark/icon-push.svg", "light": "images/light/icon-push.svg" } }, { "command": "gitlens.views.checkout", "title": "Checkout", "category": "GitLens", "icon": { "dark": "images/dark/icon-checkout.svg", "light": "images/light/icon-checkout.svg" } }, { "command": "gitlens.views.fetch", "title": "Fetch Repository", "category": "GitLens", "icon": { "dark": "images/dark/icon-sync.svg", "light": "images/light/icon-sync.svg" } }, { "command": "gitlens.views.pull", "title": "Pull Repository", "category": "GitLens", "icon": { "dark": "images/dark/icon-pull.svg", "light": "images/light/icon-pull.svg" } }, { "command": "gitlens.views.push", "title": "Push Repository", "category": "GitLens", "icon": { "dark": "images/dark/icon-push.svg", "light": "images/light/icon-push.svg" } }, { "command": "gitlens.views.pushWithForce", "title": "Push (force) Repository", "category": "GitLens", "icon": { "dark": "images/dark/icon-push-force.svg", "light": "images/light/icon-push-force.svg" } }, { "command": "gitlens.views.stageFile", "title": "Stage Changes", "category": "GitLens", "icon": { "dark": "images/dark/icon-add.svg", "light": "images/light/icon-add.svg" } }, { "command": "gitlens.views.unstageFile", "title": "Unstage Changes", "category": "GitLens", "icon": { "dark": "images/dark/icon-minus.svg", "light": "images/light/icon-minus.svg" } }, { "command": "gitlens.views.openDirectoryDiff", "title": "Open Directory Compare", "category": "GitLens" }, { "command": "gitlens.views.openDirectoryDiffWithWorking", "title": "Open Directory Compare with Working Tree", "category": "GitLens" }, { "command": "gitlens.views.openChanges", "title": "Open Changes", "category": "GitLens" }, { "command": "gitlens.views.openChangesWithWorking", "title": "Open Changes with Working File", "category": "GitLens" }, { "command": "gitlens.views.openFile", "title": "Open File", "category": "GitLens", "icon": { "dark": "images/dark/icon-open-file.svg", "light": "images/light/icon-open-file.svg" } }, { "command": "gitlens.views.openFileRevision", "title": "Open Revision", "category": "GitLens" }, { "command": "gitlens.views.openFileRevisionInRemote", "title": "Open Revision on Remote", "category": "GitLens", "icon": { "dark": "images/dark/icon-link.svg", "light": "images/light/icon-link.svg" } }, { "command": "gitlens.views.openChangedFiles", "title": "Open Files", "category": "GitLens" }, { "command": "gitlens.views.openChangedFileChanges", "title": "Open All Changes", "category": "GitLens" }, { "command": "gitlens.views.openChangedFileChangesWithWorking", "title": "Open All Changes with Working Tree", "category": "GitLens" }, { "command": "gitlens.views.openChangedFileRevisions", "title": "Open Revisions", "category": "GitLens" }, { "command": "gitlens.views.applyChanges", "title": "Apply Changes", "category": "GitLens" }, { "command": "gitlens.views.closeRepository", "title": "Close Repository", "category": "GitLens" }, { "command": "gitlens.views.compareAncestryWithWorking", "title": "Compare Ancestry with Working Tree", "category": "GitLens" }, { "command": "gitlens.views.compareWithHead", "title": "Compare with HEAD", "category": "GitLens", "icon": { "dark": "images/dark/icon-compare-refs.svg", "light": "images/light/icon-compare-refs.svg" } }, { "command": "gitlens.views.compareWithRemote", "title": "Compare with Remote", "category": "GitLens", "icon": { "dark": "images/dark/icon-compare-ref-remote.svg", "light": "images/light/icon-compare-ref-remote.svg" } }, { "command": "gitlens.views.compareWithSelected", "title": "Compare with Selected", "category": "GitLens" }, { "command": "gitlens.views.selectForCompare", "title": "Select for Compare", "category": "GitLens" }, { "command": "gitlens.views.compareFileWithSelected", "title": "Compare with Selected", "category": "GitLens" }, { "command": "gitlens.views.selectFileForCompare", "title": "Select for Compare", "category": "GitLens" }, { "command": "gitlens.views.compareWithWorking", "title": "Compare with Working Tree", "category": "GitLens", "icon": { "dark": "images/dark/icon-compare-ref-working.svg", "light": "images/light/icon-compare-ref-working.svg" } }, { "command": "gitlens.views.terminalCheckoutBranch", "title": "Checkout Branch (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalCreateBranch", "title": "Create Branch (via Terminal)...", "category": "GitLens" }, { "command": "gitlens.views.terminalDeleteBranch", "title": "Delete Branch (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalMergeBranch", "title": "Merge Branch (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalRebaseBranch", "title": "Rebase (Interactive) Branch (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalRebaseBranchToRemote", "title": "Rebase (Interactive) Branch to Remote (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalSquashBranchIntoCommit", "title": "Squash Branch into Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalCheckoutCommit", "title": "Checkout Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalCherryPickCommit", "title": "Cherry Pick Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalPushCommit", "title": "Push to Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalRebaseCommit", "title": "Rebase to Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalResetCommit", "title": "Reset to Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalRevertCommit", "title": "Revert Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalRemoveRemote", "title": "Remove Remote (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.terminalCreateTag", "title": "Create Tag (via Terminal)...", "category": "GitLens" }, { "command": "gitlens.views.terminalDeleteTag", "title": "Delete Tag (via Terminal)", "category": "GitLens" }, { "command": "gitlens.views.repositories.refresh", "title": "Refresh", "category": "GitLens", "icon": { "dark": "images/dark/icon-refresh.svg", "light": "images/light/icon-refresh.svg" } }, { "command": "gitlens.views.repositories.setFilesLayoutToAuto", "title": "Automatic Layout", "category": "GitLens" }, { "command": "gitlens.views.repositories.setFilesLayoutToList", "title": "List Layout", "category": "GitLens" }, { "command": "gitlens.views.repositories.setFilesLayoutToTree", "title": "Tree Layout", "category": "GitLens" }, { "command": "gitlens.views.repositories.setAutoRefreshToOn", "title": "Enable Automatic Refresh", "category": "GitLens" }, { "command": "gitlens.views.repositories.setAutoRefreshToOff", "title": "Disable Automatic Refresh", "category": "GitLens" }, { "command": "gitlens.views.fileHistory.refresh", "title": "Refresh", "category": "GitLens", "icon": { "dark": "images/dark/icon-refresh.svg", "light": "images/light/icon-refresh.svg" } }, { "command": "gitlens.views.fileHistory.changeBase", "title": "Change Base...", "category": "GitLens", "icon": { "dark": "images/dark/icon-history.svg", "light": "images/light/icon-history.svg" } }, { "command": "gitlens.views.fileHistory.setEditorFollowingOn", "title": "Resume File Tracking", "category": "GitLens", "icon": { "dark": "images/dark/icon-location.svg", "light": "images/light/icon-location.svg" } }, { "command": "gitlens.views.fileHistory.setEditorFollowingOff", "title": "Pause File Tracking", "category": "GitLens", "icon": { "dark": "images/dark/icon-location-filled.svg", "light": "images/light/icon-location-filled.svg" } }, { "command": "gitlens.views.fileHistory.setRenameFollowingOn", "title": "Follow Renames", "category": "GitLens" }, { "command": "gitlens.views.fileHistory.setRenameFollowingOff", "title": "Don't Follow Renames", "category": "GitLens" }, { "command": "gitlens.views.lineHistory.refresh", "title": "Refresh", "category": "GitLens", "icon": { "dark": "images/dark/icon-refresh.svg", "light": "images/light/icon-refresh.svg" } }, { "command": "gitlens.views.lineHistory.changeBase", "title": "Change Base...", "category": "GitLens", "icon": { "dark": "images/dark/icon-history.svg", "light": "images/light/icon-history.svg" } }, { "command": "gitlens.views.lineHistory.setEditorFollowingOn", "title": "Resume Line Tracking", "category": "GitLens", "icon": { "dark": "images/dark/icon-location.svg", "light": "images/light/icon-location.svg" } }, { "command": "gitlens.views.lineHistory.setEditorFollowingOff", "title": "Pause Line Tracking", "category": "GitLens", "icon": { "dark": "images/dark/icon-location-filled.svg", "light": "images/light/icon-location-filled.svg" } }, { "command": "gitlens.views.lineHistory.setRenameFollowingOn", "title": "Follow Renames", "category": "GitLens" }, { "command": "gitlens.views.lineHistory.setRenameFollowingOff", "title": "Don't Follow Renames", "category": "GitLens" }, { "command": "gitlens.views.compare.selectForCompare", "title": "Compare Branch or Tag with...", "category": "GitLens", "icon": { "dark": "images/dark/icon-compare-refs.svg", "light": "images/light/icon-compare-refs.svg" } }, { "command": "gitlens.views.compare.clear", "title": "Clear Results", "category": "GitLens", "icon": { "dark": "images/dark/icon-clear.svg", "light": "images/light/icon-clear.svg" } }, { "command": "gitlens.views.compare.refresh", "title": "Refresh", "category": "GitLens", "icon": { "dark": "images/dark/icon-refresh.svg", "light": "images/light/icon-refresh.svg" } }, { "command": "gitlens.views.compare.setFilesLayoutToAuto", "title": "Automatic Layout", "category": "GitLens" }, { "command": "gitlens.views.compare.setFilesLayoutToList", "title": "List Layout", "category": "GitLens" }, { "command": "gitlens.views.compare.setFilesLayoutToTree", "title": "Tree Layout", "category": "GitLens" }, { "command": "gitlens.views.compare.setKeepResultsToOn", "title": "Keep Results", "category": "GitLens", "icon": { "dark": "images/dark/icon-lock.svg", "light": "images/light/icon-lock.svg" } }, { "command": "gitlens.views.compare.setKeepResultsToOff", "title": "Keep Results", "category": "GitLens", "icon": { "dark": "images/dark/icon-locked.svg", "light": "images/light/icon-locked.svg" } }, { "command": "gitlens.views.compare.swapComparision", "title": "Swap Comparision", "category": "GitLens", "icon": { "dark": "images/dark/icon-swap.svg", "light": "images/light/icon-swap.svg" } }, { "command": "gitlens.views.search.searchCommits", "title": "Search Commits", "category": "GitLens", "icon": { "dark": "images/dark/icon-search.svg", "light": "images/light/icon-search.svg" } }, { "command": "gitlens.views.search.clear", "title": "Clear Results", "category": "GitLens", "icon": { "dark": "images/dark/icon-clear.svg", "light": "images/light/icon-clear.svg" } }, { "command": "gitlens.views.search.refresh", "title": "Refresh", "category": "GitLens", "icon": { "dark": "images/dark/icon-refresh.svg", "light": "images/light/icon-refresh.svg" } }, { "command": "gitlens.views.search.setFilesLayoutToAuto", "title": "Automatic Layout", "category": "GitLens" }, { "command": "gitlens.views.search.setFilesLayoutToList", "title": "List Layout", "category": "GitLens" }, { "command": "gitlens.views.search.setFilesLayoutToTree", "title": "Tree Layout", "category": "GitLens" }, { "command": "gitlens.views.search.setKeepResultsToOn", "title": "Keep Results", "category": "GitLens", "icon": { "dark": "images/dark/icon-lock.svg", "light": "images/light/icon-lock.svg" } }, { "command": "gitlens.views.search.setKeepResultsToOff", "title": "Keep Results", "category": "GitLens", "icon": { "dark": "images/dark/icon-locked.svg", "light": "images/light/icon-locked.svg" } }, { "command": "gitlens.views.dismissNode", "title": "Dismiss", "category": "GitLens", "icon": { "dark": "images/dark/icon-close-small.svg", "light": "images/light/icon-close-small.svg" } }, { "command": "gitlens.views.expandNode", "title": "Expand", "category": "GitLens" }, { "command": "gitlens.views.refreshNode", "title": "Refresh", "category": "GitLens" } ], "menus": { "commandPalette": [ { "command": "gitlens.showCompareView", "when": "gitlens:enabled" }, { "command": "gitlens.showFileHistoryView", "when": "gitlens:enabled" }, { "command": "gitlens.showLineHistoryView", "when": "gitlens:enabled" }, { "command": "gitlens.showRepositoriesView", "when": "gitlens:enabled" }, { "command": "gitlens.showSearchView", "when": "gitlens:enabled" }, { "command": "gitlens.diffDirectory", "when": "gitlens:enabled" }, { "command": "gitlens.diffDirectoryWithHead", "when": "gitlens:enabled" }, { "command": "gitlens.diffHeadWithBranch", "when": "gitlens:enabled" }, { "command": "gitlens.diffWorkingWithBranch", "when": "gitlens:enabled" }, { "command": "gitlens.diffWithBranch", "when": "gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffWithNext", "when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /revision/" }, { "command": "gitlens.diffWithPrevious", "when": "!isInDiffEditor && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffWithPreviousInDiff", "when": "isInDiffEditor && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffLineWithPrevious", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.diffWithRevision", "when": "gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffWithWorking", "when": "gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffLineWithWorking", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.externalDiff", "when": "gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.externalDiffAll", "when": "gitlens:enabled" }, { "command": "gitlens.toggleFileBlame", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.clearFileAnnotations", "when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:annotationStatus == computed" }, { "command": "gitlens.computingFileAnnotations", "when": "false" }, { "command": "gitlens.toggleFileHeatmap", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.toggleFileRecentChanges", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.toggleLineBlame", "when": "gitlens:enabled" }, { "command": "gitlens.toggleCodeLens", "when": "gitlens:enabled && gitlens:canToggleCodeLens" }, { "command": "gitlens.switchMode", "when": "gitlens:enabled" }, { "command": "gitlens.toggleReviewMode", "when": "gitlens:enabled" }, { "command": "gitlens.toggleZenMode", "when": "gitlens:enabled" }, { "command": "gitlens.showCommitSearch", "when": "gitlens:enabled" }, { "command": "gitlens.showLastQuickPick", "when": "gitlens:enabled" }, { "command": "gitlens.showCommitInView", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.showFileHistoryInView", "when": "gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.showQuickCommitDetails", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.showQuickCommitFileDetails", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.showQuickRevisionDetails", "when": "gitlens:activeFileStatus =~ /revision/" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.showQuickBranchHistory", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickRepoHistory", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickRepoStatus", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickStashList", "when": "gitlens:enabled" }, { "command": "gitlens.copyMessageToClipboard", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.copyRemoteFileUrlToClipboard", "when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/" }, { "command": "gitlens.copyShaToClipboard", "when": "gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.closeUnchangedFiles", "when": "gitlens:enabled" }, { "command": "gitlens.openChangedFiles", "when": "gitlens:enabled" }, { "command": "gitlens.openBranchesInRemote", "when": "gitlens:hasRemotes" }, { "command": "gitlens.openBranchInRemote", "when": "gitlens:hasRemotes" }, { "command": "gitlens.openCommitInRemote", "when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:activeFileStatus =~ /remotes/" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/" }, { "command": "gitlens.openFileRevision", "when": "gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.openRepoInRemote", "when": "gitlens:hasRemotes" }, { "command": "gitlens.openWorkingFile", "when": "gitlens:activeFileStatus =~ /revision/" }, { "command": "gitlens.stashApply", "when": "gitlens:enabled && !gitlens:readonly" }, { "command": "gitlens.stashDelete", "when": "false" }, { "command": "gitlens.stashSave", "when": "gitlens:enabled && !gitlens:readonly" }, { "command": "gitlens.resetSuppressedWarnings", "when": "gitlens:enabled" }, { "command": "gitlens.views.exploreRepoRevision", "when": "false" }, { "command": "gitlens.fetchRepositories", "when": "gitlens:hasRemotes && !gitlens:readonly" }, { "command": "gitlens.pullRepositories", "when": "gitlens:hasRemotes && !gitlens:readonly" }, { "command": "gitlens.pushRepositories", "when": "gitlens:hasRemotes && !gitlens:readonly" }, { "command": "gitlens.views.checkout", "when": "false" }, { "command": "gitlens.views.fetch", "when": "false" }, { "command": "gitlens.views.pull", "when": "false" }, { "command": "gitlens.views.push", "when": "false" }, { "command": "gitlens.views.pushWithForce", "when": "false" }, { "command": "gitlens.views.stageFile", "when": "false" }, { "command": "gitlens.views.unstageFile", "when": "false" }, { "command": "gitlens.views.openChanges", "when": "false" }, { "command": "gitlens.views.openDirectoryDiff", "when": "false" }, { "command": "gitlens.views.openDirectoryDiffWithWorking", "when": "false" }, { "command": "gitlens.views.openChangesWithWorking", "when": "false" }, { "command": "gitlens.views.openFile", "when": "false" }, { "command": "gitlens.views.openFileRevision", "when": "false" }, { "command": "gitlens.views.openFileRevisionInRemote", "when": "false" }, { "command": "gitlens.views.openChangedFiles", "when": "false" }, { "command": "gitlens.views.openChangedFileChanges", "when": "false" }, { "command": "gitlens.views.openChangedFileChangesWithWorking", "when": "false" }, { "command": "gitlens.views.openChangedFileRevisions", "when": "false" }, { "command": "gitlens.views.applyChanges", "when": "false" }, { "command": "gitlens.views.closeRepository", "when": "false" }, { "command": "gitlens.views.compareAncestryWithWorking", "when": "false" }, { "command": "gitlens.views.compareWithHead", "when": "false" }, { "command": "gitlens.views.compareWithRemote", "when": "false" }, { "command": "gitlens.views.compareWithSelected", "when": "false" }, { "command": "gitlens.views.selectForCompare", "when": "false" }, { "command": "gitlens.views.compareFileWithSelected", "when": "false" }, { "command": "gitlens.views.selectFileForCompare", "when": "false" }, { "command": "gitlens.views.compareWithWorking", "when": "false" }, { "command": "gitlens.views.terminalCheckoutBranch", "when": "false" }, { "command": "gitlens.views.terminalCreateBranch", "when": "false" }, { "command": "gitlens.views.terminalDeleteBranch", "when": "false" }, { "command": "gitlens.views.terminalMergeBranch", "when": "false" }, { "command": "gitlens.views.terminalRebaseBranch", "when": "false" }, { "command": "gitlens.views.terminalRebaseBranchToRemote", "when": "false" }, { "command": "gitlens.views.terminalSquashBranchIntoCommit", "when": "false" }, { "command": "gitlens.views.terminalCheckoutCommit", "when": "false" }, { "command": "gitlens.views.terminalCherryPickCommit", "when": "false" }, { "command": "gitlens.views.terminalPushCommit", "when": "false" }, { "command": "gitlens.views.terminalRebaseCommit", "when": "false" }, { "command": "gitlens.views.terminalResetCommit", "when": "false" }, { "command": "gitlens.views.terminalRevertCommit", "when": "false" }, { "command": "gitlens.views.terminalRemoveRemote", "when": "false" }, { "command": "gitlens.views.terminalCreateTag", "when": "false" }, { "command": "gitlens.views.terminalDeleteTag", "when": "false" }, { "command": "gitlens.views.repositories.refresh", "when": "false" }, { "command": "gitlens.views.repositories.setFilesLayoutToAuto", "when": "false" }, { "command": "gitlens.views.repositories.setFilesLayoutToList", "when": "false" }, { "command": "gitlens.views.repositories.setFilesLayoutToTree", "when": "false" }, { "command": "gitlens.views.repositories.setAutoRefreshToOn", "when": "false" }, { "command": "gitlens.views.repositories.setAutoRefreshToOff", "when": "false" }, { "command": "gitlens.views.fileHistory.refresh", "when": "false" }, { "command": "gitlens.views.fileHistory.changeBase", "when": "false" }, { "command": "gitlens.views.fileHistory.setEditorFollowingOn", "when": "false" }, { "command": "gitlens.views.fileHistory.setEditorFollowingOff", "when": "false" }, { "command": "gitlens.views.fileHistory.setRenameFollowingOn", "when": "false" }, { "command": "gitlens.views.fileHistory.setRenameFollowingOff", "when": "false" }, { "command": "gitlens.views.lineHistory.refresh", "when": "false" }, { "command": "gitlens.views.lineHistory.changeBase", "when": "false" }, { "command": "gitlens.views.lineHistory.setEditorFollowingOn", "when": "false" }, { "command": "gitlens.views.lineHistory.setEditorFollowingOff", "when": "false" }, { "command": "gitlens.views.lineHistory.setRenameFollowingOn", "when": "false" }, { "command": "gitlens.views.lineHistory.setRenameFollowingOff", "when": "false" }, { "command": "gitlens.views.compare.selectForCompare", "when": "gitlens:enabled && gitlens.views.compare.enabled" }, { "command": "gitlens.views.compare.clear", "when": "false" }, { "command": "gitlens.views.compare.refresh", "when": "false" }, { "command": "gitlens.views.compare.setFilesLayoutToAuto", "when": "false" }, { "command": "gitlens.views.compare.setFilesLayoutToList", "when": "false" }, { "command": "gitlens.views.compare.setFilesLayoutToTree", "when": "false" }, { "command": "gitlens.views.compare.setKeepResultsToOn", "when": "false" }, { "command": "gitlens.views.compare.setKeepResultsToOff", "when": "false" }, { "command": "gitlens.views.compare.swapComparision", "when": "false" }, { "command": "gitlens.views.search.searchCommits", "when": "false" }, { "command": "gitlens.views.search.clear", "when": "false" }, { "command": "gitlens.views.search.refresh", "when": "false" }, { "command": "gitlens.views.search.setFilesLayoutToAuto", "when": "false" }, { "command": "gitlens.views.search.setFilesLayoutToList", "when": "false" }, { "command": "gitlens.views.search.setFilesLayoutToTree", "when": "false" }, { "command": "gitlens.views.search.setKeepResultsToOn", "when": "false" }, { "command": "gitlens.views.search.setKeepResultsToOff", "when": "false" }, { "command": "gitlens.views.dismissNode", "when": "false" }, { "command": "gitlens.views.expandNode", "when": "false" }, { "command": "gitlens.views.refreshNode", "when": "false" } ], "editor/context": [ { "command": "gitlens.diffLineWithPrevious", "when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.compare", "group": "1_gitlens@1" }, { "command": "gitlens.diffLineWithWorking", "when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.compare", "group": "1_gitlens@2" }, { "command": "gitlens.openFileInRemote", "when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote", "group": "1_gitlens_1@1" }, { "command": "gitlens.openCommitInRemote", "when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote", "group": "1_gitlens_1@2" }, { "command": "gitlens.showQuickCommitFileDetails", "when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.details", "group": "1_gitlens_1@3" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history", "group": "3_gitlens@1" }, { "command": "gitlens.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 != file && resourceScheme != git", "group": "navigation@0" }, { "command": "gitlens.openWorkingFile", "when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != file && resourceScheme != git", "group": "navigation@0" }, { "command": "gitlens.openWorkingFile", "when": "!gitlens:activeFileStatus =~ /revision/ && resourceScheme != file && resourceScheme != git && isInDiffEditor", "group": "navigation@0" }, { "command": "gitlens.openWorkingFile", "when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme == git && !isInDiffEditor", "group": "navigation@0" }, { "command": "gitlens.diffWithPrevious", "alt": "gitlens.diffWithRevision", "when": "!isInDiffEditor && gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare", "group": "navigation@97" }, { "command": "gitlens.diffWithPreviousInDiff", "alt": "gitlens.diffWithRevision", "when": "isInDiffEditor && gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare", "group": "navigation@97" }, { "command": "gitlens.showQuickRevisionDetails", "when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git", "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.copyRemoteFileUrlToClipboard", "when": "gitlens:enabled && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editorTab.remote", "group": "2_files@101" }, { "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.stashSave", "when": "gitlens:enabled && !gitlens:readonly", "group": "inline@-1" }, { "command": "gitlens.openChangedFiles", "when": "gitlens:enabled", "group": "2_gitlens@1" }, { "command": "gitlens.closeUnchangedFiles", "when": "gitlens:enabled", "group": "2_gitlens@2" }, { "command": "gitlens.externalDiffAll", "when": "gitlens:enabled", "group": "3_gitlens@3" }, { "command": "gitlens.diffDirectoryWithHead", "when": "gitlens:enabled", "group": "3_gitlens@4" }, { "command": "gitlens.stashSave", "when": "gitlens:enabled && !gitlens:readonly", "group": "4_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 && !gitlens:readonly", "group": "2_gitlens@1" }, { "command": "gitlens.copyRemoteFileUrlToClipboard", "when": "gitlens:enabled && gitlens:hasRemotes", "group": "9_gitlens@1" } ], "view/title": [ { "command": "gitlens.pushRepositories", "when": "gitlens:hasRemotes && !gitlens:readonly && view =~ /^gitlens\\.views\\.repositories:/", "group": "navigation@10" }, { "command": "gitlens.pullRepositories", "when": "gitlens:hasRemotes && !gitlens:readonly && view =~ /^gitlens\\.views\\.repositories:/", "group": "navigation@11" }, { "command": "gitlens.fetchRepositories", "when": "gitlens:hasRemotes && !gitlens:readonly && view =~ /^gitlens\\.views\\.repositories:/", "group": "navigation@12" }, { "command": "gitlens.views.repositories.refresh", "when": "view =~ /^gitlens\\.views\\.repositories:/", "group": "navigation@99" }, { "command": "gitlens.views.repositories.setFilesLayoutToAuto", "when": "view =~ /^gitlens\\.views\\.repositories:/", "group": "1_gitlens" }, { "command": "gitlens.views.repositories.setFilesLayoutToList", "when": "view =~ /^gitlens\\.views\\.repositories:/", "group": "1_gitlens" }, { "command": "gitlens.views.repositories.setFilesLayoutToTree", "when": "view =~ /^gitlens\\.views\\.repositories:/", "group": "1_gitlens" }, { "command": "gitlens.views.repositories.setAutoRefreshToOn", "when": "view =~ /^gitlens\\.views\\.repositories:/ && config.gitlens.views.repositories.autoRefresh && !gitlens:views:repositories:autoRefresh", "group": "2_gitlens" }, { "command": "gitlens.views.repositories.setAutoRefreshToOff", "when": "view =~ /^gitlens\\.views\\.repositories:/ && config.gitlens.views.repositories.autoRefresh && gitlens:views:repositories:autoRefresh", "group": "2_gitlens" }, { "command": "gitlens.views.fileHistory.setEditorFollowingOn", "when": "view =~ /^gitlens\\.views\\.fileHistory:/ && !gitlens:views:fileHistory:editorFollowing", "group": "navigation@10" }, { "command": "gitlens.views.fileHistory.setEditorFollowingOff", "when": "view =~ /^gitlens\\.views\\.fileHistory:/ && gitlens:views:fileHistory:editorFollowing", "group": "navigation@10" }, { "command": "gitlens.views.fileHistory.changeBase", "when": "view =~ /^gitlens\\.views\\.fileHistory:/", "group": "navigation@11" }, { "command": "gitlens.views.fileHistory.refresh", "when": "view =~ /^gitlens\\.views\\.fileHistory:/", "group": "navigation@99" }, { "command": "gitlens.views.fileHistory.setRenameFollowingOn", "when": "view =~ /^gitlens\\.views\\.fileHistory:/ && !config.gitlens.advanced.fileHistoryFollowsRenames", "group": "1_gitlens" }, { "command": "gitlens.views.fileHistory.setRenameFollowingOff", "when": "view =~ /^gitlens\\.views\\.fileHistory:/ && config.gitlens.advanced.fileHistoryFollowsRenames", "group": "1_gitlens" }, { "command": "gitlens.views.lineHistory.setEditorFollowingOn", "when": "view =~ /^gitlens\\.views\\.lineHistory:/ && !gitlens:views:lineHistory:editorFollowing", "group": "navigation@10" }, { "command": "gitlens.views.lineHistory.setEditorFollowingOff", "when": "view =~ /^gitlens\\.views\\.lineHistory:/ && gitlens:views:lineHistory:editorFollowing", "group": "navigation@10" }, { "command": "gitlens.views.lineHistory.changeBase", "when": "view =~ /^gitlens\\.views\\.lineHistory:/", "group": "navigation@11" }, { "command": "gitlens.views.lineHistory.refresh", "when": "view =~ /^gitlens\\.views\\.lineHistory:/", "group": "navigation@99" }, { "command": "gitlens.views.lineHistory.setRenameFollowingOn", "when": "view =~ /^gitlens\\.views\\.lineHistory:/ && !config.gitlens.advanced.fileHistoryFollowsRenames", "group": "1_gitlens" }, { "command": "gitlens.views.lineHistory.setRenameFollowingOff", "when": "view =~ /^gitlens\\.views\\.lineHistory:/ && config.gitlens.advanced.fileHistoryFollowsRenames", "group": "1_gitlens" }, { "command": "gitlens.views.compare.selectForCompare", "when": "view =~ /^gitlens\\.views\\.compare:/", "group": "navigation@10" }, { "command": "gitlens.views.compare.setKeepResultsToOn", "when": "view =~ /^gitlens\\.views\\.compare:/ && !gitlens:views:compare:keepResults", "group": "navigation@11" }, { "command": "gitlens.views.compare.setKeepResultsToOff", "when": "view =~ /^gitlens\\.views\\.compare:/ && gitlens:views:compare:keepResults", "group": "navigation@11" }, { "command": "gitlens.views.compare.clear", "when": "view =~ /^gitlens\\.views\\.compare:/", "group": "navigation@98" }, { "command": "gitlens.views.compare.refresh", "when": "view =~ /^gitlens\\.views\\.compare:/", "group": "navigation@99" }, { "command": "gitlens.views.compare.setFilesLayoutToAuto", "when": "view =~ /^gitlens\\.views\\.compare:/", "group": "1_gitlens" }, { "command": "gitlens.views.compare.setFilesLayoutToList", "when": "view =~ /^gitlens\\.views\\.compare:/", "group": "1_gitlens" }, { "command": "gitlens.views.compare.setFilesLayoutToTree", "when": "view =~ /^gitlens\\.views\\.compare:/", "group": "1_gitlens" }, { "command": "gitlens.views.search.searchCommits", "when": "view =~ /^gitlens\\.views\\.search:/", "group": "navigation@10" }, { "command": "gitlens.views.search.setKeepResultsToOn", "when": "view =~ /^gitlens\\.views\\.search:/ && !gitlens:views:search:keepResults", "group": "navigation@11" }, { "command": "gitlens.views.search.setKeepResultsToOff", "when": "view =~ /^gitlens\\.views\\.search:/ && gitlens:views:search:keepResults", "group": "navigation@11" }, { "command": "gitlens.views.search.clear", "when": "view =~ /^gitlens\\.views\\.search:/", "group": "navigation@98" }, { "command": "gitlens.views.search.refresh", "when": "view =~ /^gitlens\\.views\\.search:/", "group": "navigation@99" }, { "command": "gitlens.views.search.setFilesLayoutToAuto", "when": "view =~ /^gitlens\\.views\\.search:/", "group": "1_gitlens" }, { "command": "gitlens.views.search.setFilesLayoutToList", "when": "view =~ /^gitlens\\.views\\.search:/", "group": "1_gitlens" }, { "command": "gitlens.views.search.setFilesLayoutToTree", "when": "view =~ /^gitlens\\.views\\.search:/", "group": "1_gitlens" }, { "command": "gitlens.supportGitLens", "when": "view =~ /^gitlens\\.views\\..*:/ && config.gitlens.advanced.messages.suppressSupportGitLensNotification != true && gitlens:views:supportGitLens:hide != true", "group": "navigation@1" }, { "command": "gitlens.showSettingsPage", "when": "view =~ /^gitlens\\.views\\..*:/", "group": "9_gitlens" } ], "view/item/context": [ { "command": "gitlens.openBranchesInRemote", "when": "viewItem == gitlens:branches:remotes", "group": "inline@98" }, { "command": "gitlens.openBranchesInRemote", "when": "viewItem == gitlens:branches:remotes", "group": "1_gitlens@1" }, { "command": "gitlens.views.checkout", "when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)\\b/", "group": "inline@10" }, { "command": "gitlens.views.compareWithRemote", "when": "viewItem =~ /gitlens:branch\\b.*?:tracking/", "group": "inline@96" }, { "command": "gitlens.views.compareWithHead", "when": "viewItem =~ /gitlens:(branch(?!:current)|commit|stash|tag)\\b/", "group": "inline@97", "alt": "gitlens.views.compareWithWorking" }, { "command": "gitlens.views.compareWithWorking", "when": "viewItem =~ /gitlens:branch:current\\b/", "group": "inline@97" }, { "command": "gitlens.openBranchInRemote", "when": "viewItem =~ /gitlens:branch\\b(.*?:tracking|:remote)/", "group": "inline@98" }, { "command": "gitlens.views.checkout", "when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)\\b/", "group": "1_gitlens@1" }, { "command": "gitlens.openBranchInRemote", "when": "viewItem =~ /gitlens:branch\\b(.*?:tracking|:remote)/", "group": "2_gitlens@1" }, { "command": "gitlens.views.compareWithRemote", "when": "viewItem =~ /gitlens:(branch\\b.*?:tracking)/", "group": "7_gitlens@1" }, { "command": "gitlens.views.compareWithHead", "when": "viewItem =~ /gitlens:(branch(?!:current)|commit|stash|tag)\\b/", "group": "7_gitlens@2" }, { "command": "gitlens.views.compareWithWorking", "when": "viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/", "group": "7_gitlens@3" }, { "command": "gitlens.views.compareAncestryWithWorking", "when": "viewItem =~ /gitlens:branch(?!:current)\\b/", "group": "7_gitlens@4" }, { "command": "gitlens.views.compareWithSelected", "when": "viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/ && gitlens:views:canCompare", "group": "7_gitlens_@1" }, { "command": "gitlens.views.selectForCompare", "when": "viewItem =~ /gitlens:(branch|commit|stash|tag)\\b/", "group": "7_gitlens_@2" }, { "command": "gitlens.views.compareFileWithSelected", "when": "viewItem =~ /gitlens:file:\\b/ && gitlens:views:canCompare:file", "group": "7_gitlens_@1" }, { "command": "gitlens.views.selectFileForCompare", "when": "viewItem =~ /gitlens:file:\\b/", "group": "7_gitlens_@2" }, { "command": "gitlens.views.openDirectoryDiffWithWorking", "when": "viewItem =~ /gitlens:(branch|tag)\\b/", "group": "7_gitlens_more@2" }, { "command": "gitlens.views.terminalCheckoutBranch", "when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/", "group": "8_gitlens@1" }, { "command": "gitlens.views.terminalRebaseBranchToRemote", "when": "!gitlens:readonly && viewItem =~ /gitlens:(branch:current:tracking)\\b/", "group": "8_gitlens@1" }, { "command": "gitlens.views.terminalMergeBranch", "when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/", "group": "8_gitlens@2" }, { "command": "gitlens.views.terminalRebaseBranch", "when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/", "group": "8_gitlens@3" }, { "command": "gitlens.views.terminalSquashBranchIntoCommit", "when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/", "group": "8_gitlens@4" }, { "command": "gitlens.views.terminalCreateBranch", "when": "!gitlens:readonly && viewItem =~ /gitlens:(branch|commit|tag)\\b/", "group": "8_gitlens@5" }, { "command": "gitlens.views.terminalDeleteBranch", "when": "!gitlens:readonly && viewItem =~ /gitlens:branch\\b(?!:current)/", "group": "8_gitlens@6" }, { "command": "gitlens.views.terminalCreateTag", "when": "!gitlens:readonly && viewItem =~ /gitlens:(branch|commit)\\b/", "group": "8_gitlens@7" }, { "command": "gitlens.openCommitInRemote", "when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes", "group": "inline@98" }, { "command": "gitlens.openCommitInRemote", "when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes", "group": "1_gitlens@1" }, { "command": "gitlens.views.openChangedFileChanges", "when": "viewItem =~ /gitlens:(commit|stash)\\b/", "group": "2_gitlens@1" }, { "command": "gitlens.views.openChangedFileChangesWithWorking", "when": "viewItem =~ /gitlens:(commit|stash)\\b/", "group": "2_gitlens@2" }, { "command": "gitlens.views.openChangedFiles", "when": "viewItem =~ /gitlens:(commit|stash)\\b/", "group": "3_gitlens@1" }, { "command": "gitlens.views.openChangedFileRevisions", "when": "viewItem =~ /gitlens:(commit|stash)\\b/", "group": "3_gitlens@2" }, { "command": "gitlens.copyShaToClipboard", "when": "viewItem =~ /gitlens:(file:)?commit\\b/", "group": "inline@98", "alt": "gitlens.copyMessageToClipboard" }, { "command": "gitlens.copyShaToClipboard", "when": "viewItem =~ /gitlens:(file:)?commit\\b/", "group": "5_gitlens@1" }, { "command": "gitlens.copyMessageToClipboard", "when": "viewItem =~ /gitlens:(commit|stash|file:commit)\\b/", "group": "5_gitlens@2" }, { "command": "gitlens.showQuickCommitDetails", "when": "viewItem =~ /gitlens:commit\\b/", "group": "5_gitlens_1@1" }, { "command": "gitlens.showCommitInView", "when": "viewItem =~ /gitlens:commit\\b/", "group": "5_gitlens_1@2" }, { "command": "gitlens.views.terminalCherryPickCommit", "when": "!gitlens:readonly && viewItem == gitlens:commit", "group": "8_gitlens@1" }, { "command": "gitlens.views.terminalPushCommit", "when": "!gitlens:readonly && viewItem == gitlens:commit:current", "group": "8_gitlens@2" }, { "command": "gitlens.views.terminalRevertCommit", "when": "!gitlens:readonly && viewItem == gitlens:commit:current", "group": "8_gitlens@3" }, { "command": "gitlens.views.terminalCheckoutCommit", "when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/", "group": "8_gitlens@4" }, { "command": "gitlens.views.terminalRebaseCommit", "when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/", "group": "8_gitlens@5" }, { "command": "gitlens.views.terminalResetCommit", "when": "!gitlens:readonly && viewItem =~ /gitlens:commit\\b/", "group": "8_gitlens@6" }, { "command": "gitlens.views.openFile", "when": "viewItem =~ /gitlens:(file|history:(file|line)|status:file)\\b/", "group": "inline@1" }, { "command": "gitlens.views.stageFile", "when": "viewItem =~ /gitlens:file\\b.*:unstaged\\b/", "group": "inline@1" }, { "command": "gitlens.views.unstageFile", "when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b.*:staged\\b/", "group": "inline@1" }, { "command": "gitlens.views.stageFile", "when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b.*:unstaged\\b/", "group": "1_gitlens@1" }, { "command": "gitlens.views.unstageFile", "when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b.*:staged\\b/", "group": "1_gitlens@1" }, { "command": "gitlens.stashSave", "when": "!gitlens:readonly && viewItem =~ /gitlens:file\\b.*:(un)?staged\\b/", "group": "1_gitlens@2" }, { "command": "gitlens.views.openChanges", "when": "viewItem =~ /gitlens:file\\b/", "group": "2_gitlens@1" }, { "command": "gitlens.externalDiff", "when": "viewItem =~ /gitlens:file\\b/", "group": "2_gitlens@2" }, { "command": "gitlens.views.openChangesWithWorking", "when": "viewItem =~ /gitlens:file\\b/", "group": "2_gitlens@3" }, { "command": "gitlens.views.openFile", "when": "viewItem =~ /gitlens:(file|history:(file|line)|status:file)\\b/", "group": "3_gitlens@1" }, { "command": "gitlens.views.openFileRevision", "when": "viewItem =~ /gitlens:file\\b/", "group": "3_gitlens@2" }, { "command": "gitlens.openFileInRemote", "when": "viewItem =~ /gitlens:(file(?!:(un)?staged)|history:(file|line))\\b/ && gitlens:hasRemotes", "group": "inline@99", "alt": "gitlens.copyRemoteFileUrlToClipboard" }, { "command": "gitlens.openFileInRemote", "when": "viewItem =~ /gitlens:file\\b/ && gitlens:hasRemotes", "group": "4_gitlens@1" }, { "command": "gitlens.copyRemoteFileUrlToClipboard", "when": "viewItem =~ /gitlens:(file|history:(file|line)|status:file)\\b/ && gitlens:hasRemotes", "group": "5_gitlens@3" }, { "command": "gitlens.views.openFileRevisionInRemote", "when": "viewItem == gitlens:file:commit && gitlens:hasRemotes", "group": "4_gitlens@2" }, { "command": "gitlens.openFileInRemote", "when": "viewItem =~ /gitlens:(history:(file|line)|status:file)\\b/ && gitlens:hasRemotes", "group": "3_gitlens@2" }, { "command": "gitlens.views.applyChanges", "when": "viewItem =~ /gitlens:file:(commit|results)\\b/", "group": "5_gitlens_1@1" }, { "command": "gitlens.views.applyChanges", "when": "!gitlens:readonly && viewItem == gitlens:file:stash", "group": "1_gitlens@1" }, { "command": "gitlens.showQuickCommitDetails", "when": "viewItem =~ /gitlens:file\\b(?!(:stash|:status))/", "group": "5_gitlens_2@2" }, { "command": "gitlens.showCommitInView", "when": "viewItem =~ /gitlens:file\\b(?!(:stash|:status))/", "group": "5_gitlens_2@3" }, { "command": "gitlens.showQuickFileHistory", "when": "viewItem =~ /gitlens:file\\b/", "group": "8_gitlens@1" }, { "command": "gitlens.showFileHistoryInView", "when": "viewItem =~ /gitlens:file\\b/", "group": "8_gitlens@2" }, { "command": "gitlens.views.fetch", "when": "!gitlens:readonly && viewItem == gitlens:remote", "group": "inline@97" }, { "command": "gitlens.openRepoInRemote", "when": "viewItem == gitlens:remote", "group": "inline@98" }, { "command": "gitlens.openRepoInRemote", "when": "viewItem == gitlens:remote", "group": "1_gitlens@1" }, { "command": "gitlens.openBranchesInRemote", "when": "viewItem == gitlens:remote", "group": "1_gitlens@2" }, { "command": "gitlens.views.fetch", "when": "!gitlens:readonly && viewItem == gitlens:remote", "group": "2_gitlens@1" }, { "command": "gitlens.views.terminalRemoveRemote", "when": "!gitlens:readonly && viewItem == gitlens:remote", "group": "8_gitlens@1" }, { "command": "gitlens.views.exploreRepoRevision", "when": "viewItem =~ /gitlens:(branch|commit|file:(commit|results)|stash|tag)\\b/", "group": "7_gitlens_more@1" }, { "command": "gitlens.showCommitSearch", "when": "viewItem == gitlens:repository", "group": "inline@1" }, { "command": "gitlens.views.push", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository", "group": "inline@97", "alt": "gitlens.views.pushWithForce" }, { "command": "gitlens.views.pull", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository", "group": "inline@98" }, { "command": "gitlens.views.fetch", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository", "group": "inline@99" }, { "command": "gitlens.views.fetch", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository", "group": "1_gitlens@1" }, { "command": "gitlens.views.pull", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository", "group": "1_gitlens@1" }, { "command": "gitlens.views.push", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository", "group": "1_gitlens@1" }, { "command": "gitlens.views.pushWithForce", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:repository", "group": "1_gitlens@2" }, { "command": "gitlens.views.pull", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:behind", "group": "inline@1" }, { "command": "gitlens.views.pull", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:behind", "group": "1_gitlens@1" }, { "command": "gitlens.views.push", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:ahead", "group": "inline@1", "alt": "gitlens.views.pushWithForce" }, { "command": "gitlens.views.push", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:ahead", "group": "1_gitlens@1" }, { "command": "gitlens.views.pushWithForce", "when": "gitlens:hasRemotes && !gitlens:readonly && viewItem == gitlens:status:upstream:ahead", "group": "1_gitlens@2" }, { "command": "gitlens.showCommitSearch", "when": "viewItem == gitlens:repository", "group": "2_gitlens@1" }, { "command": "gitlens.stashApply", "when": "!gitlens:readonly && viewItem == gitlens:repository", "group": "3_gitlens@1" }, { "command": "gitlens.stashSave", "when": "!gitlens:readonly && viewItem == gitlens:repository", "group": "3_gitlens@2" }, { "command": "gitlens.openRepoInRemote", "when": "viewItem == gitlens:repository && gitlens:hasRemotes", "group": "4_gitlens@1" }, { "command": "gitlens.views.closeRepository", "when": "viewItem == gitlens:repository", "group": "8_gitlens@1" }, { "command": "gitlens.views.compare.swapComparision", "when": "viewItem == gitlens:compare:results", "group": "inline@1" }, { "command": "gitlens.views.dismissNode", "when": "viewItem =~ /gitlens:(compare:picker:ref|compare|search)\\b(?!:(commits|files))/", "group": "inline@2" }, { "command": "gitlens.views.dismissNode", "when": "viewItem =~ /gitlens:(compare:picker:ref|compare|search)\\b(?!:(commits|files))/", "group": "1_gitlens@1" }, { "command": "gitlens.views.compare.swapComparision", "when": "viewItem == gitlens:compare:results", "group": "2_gitlens@1" }, { "command": "gitlens.views.openDirectoryDiff", "when": "viewItem == gitlens:compare:results", "group": "7_gitlens@1" }, { "command": "gitlens.stashApply", "when": "!gitlens:readonly && viewItem == gitlens:stashes", "group": "inline@98" }, { "command": "gitlens.stashSave", "when": "!gitlens:readonly && viewItem =~ /^gitlens:(stashes|status:files)$/", "group": "inline@99" }, { "command": "gitlens.stashApply", "when": "!gitlens:readonly && viewItem == gitlens:stashes", "group": "1_gitlens@1" }, { "command": "gitlens.stashSave", "when": "!gitlens:readonly && viewItem =~ /^gitlens:(stashes|status:files)$/", "group": "1_gitlens@2" }, { "command": "gitlens.stashApply", "when": "!gitlens:readonly && viewItem == gitlens:stash", "group": "inline@98" }, { "command": "gitlens.stashDelete", "when": "!gitlens:readonly && viewItem == gitlens:stash", "group": "inline@99" }, { "command": "gitlens.stashApply", "when": "!gitlens:readonly && viewItem == gitlens:stash", "group": "1_gitlens@1" }, { "command": "gitlens.stashDelete", "when": "!gitlens:readonly && viewItem == gitlens:stash", "group": "1_gitlens@2" }, { "command": "gitlens.views.checkout", "when": "!gitlens:readonly && viewItem =~ /gitlens:tag\\b/", "group": "inline@10" }, { "command": "gitlens.views.checkout", "when": "!gitlens:readonly && viewItem =~ /gitlens:tag\\b/", "group": "1_gitlens@1" }, { "command": "gitlens.views.terminalDeleteTag", "when": "!gitlens:readonly && viewItem == gitlens:tag", "group": "8_gitlens" }, { "command": "gitlens.views.expandNode", "when": "view =~ /^gitlens\\.views\\./ && viewItem =~ /gitlens:(compare|folder|results|search|status:files)\\b/", "group": "8_gitlens@1" }, { "command": "gitlens.views.refreshNode", "when": "view =~ /^gitlens\\.views\\./ && viewItem =~ /gitlens:(?!file\\b)/", "group": "9_gitlens@1" } ] }, "keybindings": [ { "command": "gitlens.key.left", "key": "alt+left", "when": "gitlens:key:left" }, { "command": "gitlens.key.right", "key": "alt+right", "when": "gitlens:key:right" }, { "command": "gitlens.key.,", "key": "alt+,", "when": "gitlens:key:," }, { "command": "gitlens.key..", "key": "alt+.", "when": "gitlens:key:." }, { "command": "gitlens.key.escape", "key": "escape", "when": "gitlens:key:escape && editorTextFocus && !findWidgetVisible && !renameInputVisible && !suggestWidgetVisible && !isInEmbeddedEditor" }, { "command": "gitlens.toggleFileBlame", "key": "alt+b", "when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.toggleCodeLens", "key": "shift+alt+b", "when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:enabled && gitlens:canToggleCodeLens" }, { "command": "gitlens.showLastQuickPick", "key": "alt+-", "when": "config.gitlens.keymap == alternate && gitlens:enabled" }, { "command": "gitlens.showCommitSearch", "key": "alt+/", "when": "config.gitlens.keymap == alternate && gitlens:enabled" }, { "command": "gitlens.showQuickFileHistory", "key": "alt+h", "when": "config.gitlens.keymap == alternate && gitlens:enabled" }, { "command": "gitlens.showQuickRepoHistory", "key": "shift+alt+h", "when": "config.gitlens.keymap == alternate && gitlens:enabled" }, { "command": "gitlens.showQuickRepoStatus", "key": "alt+s", "when": "config.gitlens.keymap == alternate && gitlens:enabled" }, { "command": "gitlens.showQuickCommitFileDetails", "key": "alt+c", "when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:enabled" }, { "command": "gitlens.diffWithNext", "key": "alt+.", "when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffLineWithPrevious", "key": "shift+alt+,", "when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffWithPrevious", "key": "alt+,", "when": "config.gitlens.keymap == alternate && editorTextFocus && !isInDiffEditor && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffWithPreviousInDiff", "key": "alt+,", "when": "config.gitlens.keymap == alternate && isInDiffEditor && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffLineWithWorking", "key": "alt+w", "when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffWithWorking", "key": "shift+alt+w", "when": "config.gitlens.keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.toggleFileBlame", "key": "ctrl+shift+g b", "mac": "cmd+alt+g b", "when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /blameable/" }, { "command": "gitlens.toggleCodeLens", "key": "ctrl+shift+g shift+b", "mac": "cmd+alt+g shift+b", "when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:enabled && gitlens:canToggleCodeLens" }, { "command": "gitlens.showLastQuickPick", "key": "ctrl+shift+g -", "mac": "cmd+alt+g -", "when": "config.gitlens.keymap == chorded && gitlens:enabled" }, { "command": "gitlens.showCommitSearch", "key": "ctrl+shift+g /", "mac": "cmd+alt+g /", "when": "config.gitlens.keymap == chorded && gitlens:enabled" }, { "command": "gitlens.showQuickFileHistory", "key": "ctrl+shift+g h", "mac": "cmd+alt+g h", "when": "config.gitlens.keymap == chorded && gitlens:enabled" }, { "command": "gitlens.showQuickRepoHistory", "key": "ctrl+shift+g shift+h", "mac": "cmd+alt+g shift+h", "when": "config.gitlens.keymap == chorded && gitlens:enabled" }, { "command": "gitlens.showQuickRepoStatus", "key": "ctrl+shift+g s", "mac": "cmd+alt+g s", "when": "config.gitlens.keymap == chorded && gitlens:enabled" }, { "command": "gitlens.showQuickCommitFileDetails", "key": "ctrl+shift+g c", "mac": "cmd+alt+g c", "when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:enabled" }, { "command": "gitlens.diffWithNext", "key": "ctrl+shift+g .", "mac": "cmd+alt+g .", "when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffLineWithPrevious", "key": "ctrl+shift+g shift+,", "mac": "cmd+alt+g shift+,", "when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffWithPrevious", "key": "ctrl+shift+g ,", "mac": "cmd+alt+g ,", "when": "config.gitlens.keymap == chorded && editorTextFocus && !isInDiffEditor && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffWithPreviousInDiff", "key": "ctrl+shift+g ,", "mac": "cmd+alt+g ,", "when": "config.gitlens.keymap == chorded && isInDiffEditor && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffLineWithWorking", "key": "ctrl+shift+g w", "mac": "cmd+alt+g w", "when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/" }, { "command": "gitlens.diffWithWorking", "key": "ctrl+shift+g shift+w", "mac": "cmd+alt+g shift+w", "when": "config.gitlens.keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/" }, { "command": "workbench.view.scm", "key": "ctrl+shift+g g", "mac": "ctrl+shift+g", "when": "config.gitlens.keymap == chorded && gitlens:enabled" } ], "viewsContainers": { "activitybar": [ { "id": "gitlens", "title": "GitLens", "icon": "images/gitlens-activitybar.svg" } ] }, "views": { "gitlens": [ { "id": "gitlens.views.repositories:gitlens", "name": "Repositories", "when": "config.gitlens.views.repositories.enabled && config.gitlens.views.repositories.location == gitlens" }, { "id": "gitlens.views.fileHistory:gitlens", "name": "File History", "when": "config.gitlens.views.fileHistory.enabled && config.gitlens.views.fileHistory.location == gitlens" }, { "id": "gitlens.views.lineHistory:gitlens", "name": "Line History", "when": "config.gitlens.views.lineHistory.enabled && config.gitlens.views.lineHistory.location == gitlens" }, { "id": "gitlens.views.compare:gitlens", "name": "Compare", "when": "config.gitlens.views.compare.enabled && config.gitlens.views.compare.location == gitlens" }, { "id": "gitlens.views.search:gitlens", "name": "Search Commits", "when": "config.gitlens.views.search.enabled && config.gitlens.views.search.location == gitlens" } ], "explorer": [ { "id": "gitlens.views.repositories:explorer", "name": "GitLens: Repositories", "when": "gitlens:enabled && config.gitlens.views.repositories.enabled && config.gitlens.views.repositories.location == explorer" }, { "id": "gitlens.views.fileHistory:explorer", "name": "GitLens: File History", "when": "gitlens:enabled && config.gitlens.views.fileHistory.enabled && config.gitlens.views.fileHistory.location == explorer" }, { "id": "gitlens.views.lineHistory:explorer", "name": "GitLens: Line History", "when": "gitlens:enabled && config.gitlens.views.lineHistory.enabled && config.gitlens.views.lineHistory.location == explorer" }, { "id": "gitlens.views.compare:explorer", "name": "GitLens: Compare", "when": "gitlens:enabled && config.gitlens.views.compare.enabled && config.gitlens.views.compare.location == explorer" }, { "id": "gitlens.views.search:explorer", "name": "GitLens: Search Commits", "when": "gitlens:enabled && config.gitlens.views.search.enabled && config.gitlens.views.search.location == explorer" } ], "scm": [ { "id": "gitlens.views.repositories:scm", "name": "GitLens: Repositories", "when": "gitlens:enabled && config.gitlens.views.repositories.enabled && config.gitlens.views.repositories.location == scm" }, { "id": "gitlens.views.fileHistory:scm", "name": "GitLens: File History", "when": "gitlens:enabled && config.gitlens.views.fileHistory.enabled && config.gitlens.views.fileHistory.location == scm" }, { "id": "gitlens.views.lineHistory:scm", "name": "GitLens: Line History", "when": "gitlens:enabled && config.gitlens.views.lineHistory.enabled && config.gitlens.views.lineHistory.location == scm" }, { "id": "gitlens.views.compare:scm", "name": "GitLens: Compare", "when": "gitlens:enabled && config.gitlens.views.compare.enabled && config.gitlens.views.compare.location == scm" }, { "id": "gitlens.views.search:scm", "name": "GitLens: Search Commits", "when": "gitlens:enabled && config.gitlens.views.search.enabled && config.gitlens.views.search.location == scm" } ] } }, "scripts": { "build": "webpack --env.development", "bundle": "webpack --env.production", "clean": "git clean -Xdf -e !.cache-images -e !node_modules -e !node_modules/**/*", "lint": "tslint --project tsconfig.json && tslint --project ui.tsconfig.json", "pack": "vsce package", "pretty": "prettier --config .prettierrc --loglevel warn --write \"./**/*.{ts,md,json}\" && tslint --project tsconfig.json --fix && tslint --project ui.tsconfig.json --fix", "pub": "vsce publish", "rebuild": "npm run reset && npm run build", "reset": "npm run clean && npm install --no-save", "watch": "webpack --watch --env.development --info-verbosity verbose", "ui:optimize": "webpack --config-name ui --env.optimizeImages", "ui:watch": "webpack --watch --config-name ui --env.development --info-verbosity verbose", "update:emoji": "pushd emoji && node ./shortcodeToEmoji.js && popd", "postinstall": "node ./node_modules/vscode/bin/install", "vscode:prepublish": "npm run reset && npm run bundle" }, "dependencies": { "clipboardy": "1.2.3", "date-fns": "1.29.0", "iconv-lite": "0.4.24", "lodash-es": "4.17.11", "tslib": "1.9.3", "vsls": "0.3.967" }, "devDependencies": { "@types/clipboardy": "1.1.0", "@types/lodash-es": "4.17.1", "@types/node": "8.10.38", "clean-webpack-plugin": "1.0.0", "css-loader": "1.0.1", "filemanager-webpack-plugin": "2.0.5", "html-webpack-inline-source-plugin": "0.0.10", "html-webpack-plugin": "3.2.0", "imagemin-webpack-plugin": "2.3.0", "mini-css-extract-plugin": "0.4.4", "node-sass": "4.10.0", "prettier": "1.15.3", "prettier-tslint": "0.4.0", "sass-loader": "7.1.0", "terser-webpack-plugin": "1.1.0", "tslint": "5.11.0", "tslint-loader": "3.5.4", "tslint-prettiest": "0.0.1", "ts-loader": "5.3.1", "typescript": "3.2.1", "vsce": "1.53.2", "vscode": "1.1.26", "webpack": "4.27.1", "webpack-cli": "3.1.2" } }