{ "name": "gitlens", "version": "6.3.0-beta2", "author": { "name": "Eric Amodio", "email": "eamodio@gmail.com" }, "publisher": "eamodio", "engines": { "vscode": "^1.18.0" }, "license": "SEE LICENSE IN LICENSE", "displayName": "Git Lens \u2014 git blame annotations, code lens, and more", "description": "Supercharge Visual Studio Code's Git capabilities \u2014 Visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore the history of a file or branch, gain valuable insights via powerful comparison commands, and so much more", "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" ], "keywords": [ "gitlens", "git", "blame", "log", "annotation", "diff", "lens", "history", "multi-root ready" ], "galleryBanner": { "color": "#8647ae", "theme": "dark" }, "icon": "images/gitlens-icon.png", "preview": false, "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" }, "main": "./out/src/extension", "contributes": { "configuration": { "type": "object", "title": "GitLens configuration", "properties": { "gitlens.debug": { "type": "boolean", "default": false, "description": "Specifies debug mode", "scope": "window" }, "gitlens.insiders": { "type": "boolean", "default": false, "description": "Specifies whether or not to enable new experimental features (expect there to be issues)", "scope": "window" }, "gitlens.outputLevel": { "type": "string", "default": "silent", "enum": [ "silent", "errors", "verbose" ], "description": "Specifies how much (if any) output will be sent to the GitLens output channel", "scope": "window" }, "gitlens.annotations.file.gutter.format": { "type": "string", "default": "${message|40?} ${ago|14-}", "description": "Specifies the format of the gutter blame annotations\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.annotations.file.gutter.dateFormat`)\n ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting", "scope": "window" }, "gitlens.annotations.file.gutter.dateFormat": { "type": "string", "default": null, "description": "Specifies how to format absolute dates (using the `${date}` token) in gutter blame annotations\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats", "scope": "window" }, "gitlens.annotations.file.gutter.compact": { "type": "boolean", "default": true, "description": "Specifies whether or not to compact (deduplicate) matching adjacent gutter blame annotations", "scope": "window" }, "gitlens.annotations.file.gutter.heatmap.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a heatmap indicator in the gutter blame annotations", "scope": "window" }, "gitlens.annotations.file.gutter.heatmap.location": { "type": "string", "default": "right", "enum": [ "left", "right" ], "description": "Specifies where the heatmap indicators will be shown in the gutter blame annotations\n `left` - adds a heatmap indicator on the left edge of the gutter blame annotations\n `right` - adds a heatmap indicator on the right edge of the gutter blame annotations", "scope": "window" }, "gitlens.annotations.file.gutter.hover.details": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a commit details hover annotation over the gutter blame annotations", "scope": "window" }, "gitlens.annotations.file.gutter.hover.changes": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a changes (diff) hover annotation over the gutter blame annotations", "scope": "window" }, "gitlens.annotations.file.gutter.hover.wholeLine": { "type": "boolean", "default": true, "description": "Specifies whether or not to trigger hover annotations over the whole line", "scope": "window" }, "gitlens.annotations.file.gutter.separateLines": { "type": "boolean", "default": true, "description": "Specifies whether or not gutter blame annotations will be separated by a small gap", "scope": "window" }, "gitlens.annotations.file.hover.details": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a commit details hover annotation over each line", "scope": "window" }, "gitlens.annotations.file.hover.changes": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a changes (diff) hover annotation over each line", "scope": "window" }, "gitlens.annotations.file.hover.heatmap.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide heatmap indicators on the left edge of each line", "scope": "window" }, "gitlens.annotations.file.recentChanges.hover.details": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a commit details hover annotation", "scope": "window" }, "gitlens.annotations.file.recentChanges.hover.changes": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a changes (diff) hover annotation", "scope": "window" }, "gitlens.annotations.line.hover.details": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a commit details hover annotation for the current line", "scope": "window" }, "gitlens.annotations.line.hover.changes": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a changes (diff) hover annotation for the current line", "scope": "window" }, "gitlens.annotations.line.trailing.format": { "type": "string", "default": "${authorAgo} \u2022 ${message}", "description": "Specifies the format of the trailing blame annotations\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.annotations.line.trailing.dateFormat`)\n ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting", "scope": "window" }, "gitlens.annotations.line.trailing.dateFormat": { "type": "string", "default": null, "description": "Specifies how to format absolute dates (using the `${date}` token) in trailing blame annotations\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats", "scope": "window" }, "gitlens.annotations.line.trailing.hover.details": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a commit details hover annotation over the trailing blame annotations", "scope": "window" }, "gitlens.annotations.line.trailing.hover.changes": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a changes (diff) hover annotation over the trailing blame annotations", "scope": "window" }, "gitlens.annotations.line.trailing.hover.wholeLine": { "type": "boolean", "default": false, "description": "Specifies whether or not to trigger hover annotations over the whole line", "scope": "window" }, "gitlens.blame.ignoreWhitespace": { "type": "boolean", "default": false, "description": "Specifies whether or not to ignore whitespace when comparing revisions during blame operations", "scope": "resource" }, "gitlens.blame.file.annotationType": { "type": "string", "default": "gutter", "enum": [ "gutter", "hover" ], "description": "Specifies the type of blame annotations that will be shown for the current file\n `gutter` - adds an annotation to the beginning of each line\n `hover` - shows annotations when hovering over each line", "scope": "window" }, "gitlens.blame.file.lineHighlight.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to highlight lines associated with the current line", "scope": "window" }, "gitlens.blame.file.lineHighlight.locations": { "type": "array", "default": [ "gutter", "line", "overviewRuler" ], "items": { "type": "string", "enum": [ "gutter", "line", "overviewRuler" ] }, "minItems": 1, "maxItems": 3, "uniqueItems": true, "description": "Specifies where the associated line highlights will be shown\n `gutter` - adds a gutter glyph\n `line` - adds a full-line highlight background color\n `overviewRuler` - adds a decoration to the overviewRuler (scroll bar)", "scope": "window" }, "gitlens.blame.line.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide a blame annotation for the current line, by default\nUse the `Toggle Line Blame Annotations` command (`gitlens.toggleLineBlame`) to toggle the annotations on and off for the current session", "scope": "window" }, "gitlens.blame.line.annotationType": { "type": "string", "default": "trailing", "enum": [ "trailing", "hover" ], "description": "Specifies the type of blame annotations that will be shown for the current line\n `trailing` - adds an annotation to the end of the current line\n `hover` - shows annotations when hovering over the current line", "scope": "window" }, "gitlens.recentChanges.file.lineHighlight.locations": { "type": "array", "default": [ "gutter", "line", "overviewRuler" ], "items": { "type": "string", "enum": [ "gutter", "line", "overviewRuler" ] }, "minItems": 1, "maxItems": 3, "uniqueItems": true, "description": "Specifies where the highlights of the recently changed lines will be shown\n `gutter` - adds a gutter glyph\n `line` - adds a full-line highlight background color\n `overviewRuler` - adds a decoration to the overviewRuler (scroll bar)", "scope": "window" }, "gitlens.codeLens.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide any Git code lens, by default\nUse the `Toggle Git Code Lens` command (`gitlens.toggleCodeLens`) to toggle the Git code lens on and off for the current session", "scope": "window" }, "gitlens.codeLens.recentChange.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to show a `recent change` code lens showing the author and date of the most recent commit for the file or code block", "scope": "window" }, "gitlens.codeLens.recentChange.command": { "type": "string", "default": "gitlens.showQuickCommitFileDetails", "enum": [ "gitlens.toggleFileBlame", "gitlens.diffWithPrevious", "gitlens.showQuickCommitDetails", "gitlens.showQuickCommitFileDetails", "gitlens.showQuickFileHistory", "gitlens.showQuickRepoHistory" ], "description": "Specifies the command to be executed when the `recent change` code lens is clicked\n `gitlens.toggleFileBlame` - toggles file blame annotations\n `gitlens.diffWithPrevious` - compares the current committed file with the previous commit\n `gitlens.showQuickCommitDetails` - shows a commit details quick pick\n `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick\n `gitlens.showQuickFileHistory` - shows a file history quick pick\n `gitlens.showQuickRepoHistory` - shows a branch history quick pick", "scope": "window" }, "gitlens.codeLens.authors.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to show an `authors` code lens showing number of authors of the file or code block and the most prominent author (if there is more than one)", "scope": "window" }, "gitlens.codeLens.authors.command": { "type": "string", "default": "gitlens.toggleFileBlame", "enum": [ "gitlens.toggleFileBlame", "gitlens.diffWithPrevious", "gitlens.showQuickCommitDetails", "gitlens.showQuickCommitFileDetails", "gitlens.showQuickFileHistory", "gitlens.showQuickRepoHistory" ], "description": "Specifies the command to be executed when the `authors` code lens is clicked\n `gitlens.toggleFileBlame` - toggles file blame annotations\n `gitlens.diffWithPrevious` - compares the current committed file with the previous commit\n `gitlens.showQuickCommitDetails` - shows a commit details quick pick\n `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick\n `gitlens.showQuickFileHistory` - shows a file history quick pick\n `gitlens.showQuickRepoHistory` - shows a branch history quick pick", "scope": "window" }, "gitlens.codeLens.locations": { "type": "array", "default": [ "document", "containers" ], "items": { "type": "string", "enum": [ "document", "containers", "blocks" ] }, "minItems": 1, "maxItems": 4, "uniqueItems": true, "description": "Specifies where Git code lens will be shown in the document\n `document` - adds code lens at the top of the document\n `containers` - adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)\n `blocks` - adds code lens at the start of block-like symbols (functions, methods, etc) lines", "scope": "resource" }, "gitlens.codeLens.customLocationSymbols": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "description": "Specifies a set of document symbols where Git code lens will or will not be shown in the document\nPrefix with `!` to not show Git code lens for the symbol\nMust be a member of `SymbolKind`", "scope": "resource" }, "gitlens.codeLens.perLanguageLocations": { "type": "array", "default": [ { "language": "css", "locations": [ "document" ] }, { "language": "html", "locations": [ "document" ] }, { "language": "json", "locations": [ "document" ] }, { "language": "less", "locations": [ "document" ] }, { "language": "scss", "locations": [ "document" ] }, { "language": "vue", "locations": [ "document" ] }, { "language": "stylus", "locations": [ "document" ] } ], "items": { "type": "object", "required": [ "language", "locations" ], "properties": { "language": { "type": "string", "description": "Specifies the language to which this code lens override applies" }, "locations": { "type": "array", "default": [ "document", "containers" ], "items": { "type": "string", "enum": [ "document", "containers", "blocks", "custom" ] }, "minItems": 1, "maxItems": 4, "uniqueItems": true, "description": "Specifies where Git code lens will be shown in the document for the specified language\n `document` - adds code lens at the top of the document\n `containers` - adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)\n `blocks` - adds code lens at the start of block-like symbols (functions, methods, properties, etc) lines\n `custom` - adds code lens at the start of symbols contained in `customSymbols`" }, "customSymbols": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "description": "Specifies the set of document symbols where Git code lens will be shown in the document for the specified language\nMust be a member of `SymbolKind`" } } }, "uniqueItems": true, "description": "Specifies where Git code lens will be shown in the document for the specified languages", "scope": "resource" }, "gitlens.codeLens.debug": { "type": "boolean", "default": false, "description": "Specifies whether or not to show debug information in code lens", "scope": "window" }, "gitlens.defaultDateFormat": { "type": "string", "default": null, "description": "Specifies how all absolute dates will be formatted by default\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats", "scope": "window" }, "gitlens.gitExplorer.autoRefresh": { "type": "boolean", "default": true, "description": "Specifies whether or not to automatically refresh the `GitLens` view when the repository or the file system changes", "scope": "window" }, "gitlens.gitExplorer.commitFormat": { "type": "string", "default": "${message} \u00a0\u2022\u00a0 ${authorAgo} \u00a0 (${id})", "description": "Specifies the format of committed changes in the `GitLens` view\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)\n ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting", "scope": "window" }, "gitlens.gitExplorer.commitFileFormat": { "type": "string", "default": "${filePath}", "description": "Specifies the format of a committed file in the `GitLens` view\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path", "scope": "window" }, "gitlens.gitExplorer.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to show the `GitLens` view", "scope": "window" }, "gitlens.gitExplorer.files.layout": { "type": "string", "default": "auto", "enum": [ "auto", "list", "tree" ], "description": "Specifies how the `GitLens` view will display files\n `auto` - automatically switches between displaying files as a `tree` or `list` based on the `gitlens.gitExplorer.files.threshold` setting and the number of files at each nesting level\n `list` - displays files as a list\n `tree` - displays files as a tree", "scope": "window" }, "gitlens.gitExplorer.files.compact": { "type": "boolean", "default": true, "description": "Specifies whether or not to compact (flatten) unnecessary file nesting in the `GitLens` view\nOnly applies when displaying files as a `tree` or `auto`", "scope": "window" }, "gitlens.gitExplorer.files.threshold": { "type": "number", "default": 5, "description": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the `GitLens` view\nOnly applies when displaying files as `auto`", "scope": "window" }, "gitlens.gitExplorer.includeWorkingTree": { "type": "boolean", "default": true, "description": "Specifies whether or not to include working tree files inside the `Repository Status` node of the `GitLens` view", "scope": "window" }, "gitlens.gitExplorer.showTrackingBranch": { "type": "boolean", "default": true, "description": "Specifies whether or not to show the tracking branch when displaying local branches in the `GitLens` view", "scope": "window" }, "gitlens.gitExplorer.stashFormat": { "type": "string", "default": "${message}", "description": "Specifies the format of stashed changes in the `GitLens` view\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)\n ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting", "scope": "window" }, "gitlens.gitExplorer.stashFileFormat": { "type": "string", "default": "${filePath}", "description": "Specifies the format of a stashed file in the `GitLens` view\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path", "scope": "window" }, "gitlens.gitExplorer.statusFileFormat": { "type": "string", "default": "${working}${filePath}", "description": "Specifies the format of the status of a working or committed file in the `GitLens` view\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path\n ${working} - optional indicator if the file is uncommitted", "scope": "window" }, "gitlens.gitExplorer.view": { "type": "string", "default": "auto", "enum": [ "auto", "history", "repository" ], "description": "Specifies the starting view (mode) of the `GitLens` view\n `auto` - shows the last selected view, defaults to `repository`\n `history` - shows the commit history of the active file\n `repository` - shows a repository explorer", "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\n `Bitbucket`, `BitbucketServer`, `GitHub`, or `GitLab`" }, "domain": { "type": "string", "description": "Specifies the domain name of the custom remote service" }, "name": { "type": "string", "description": "Specifies an optional friendly name for the custom remote service" }, "protocol": { "type": "string", "default": "https", "description": "Specifies an optional url protocol for the custom remote service" }, "urls": { "type": "object", "required": [ "repository", "branches", "branch", "commit", "file", "fileInCommit", "fileInBranch", "fileLine", "fileRange" ], "properties": { "repository": { "type": "string", "description": "Specifies the format of a respository url for the custom remote service\nAvailable tokens\n ${repo} - repository path" }, "branches": { "type": "string", "description": "Specifies the format of a branches url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${branch} - branch" }, "branch": { "type": "string", "description": "Specifies the format of a branch url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${branch} - branch" }, "commit": { "type": "string", "description": "Specifies the format of a commit url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${id} - commit id" }, "file": { "type": "string", "description": "Specifies the format of a file url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${file} - file name\n ${line} - formatted line information" }, "fileInBranch": { "type": "string", "description": "Specifies the format of a branch file url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${file} - file name\n ${branch} - branch\n ${line} - formatted line information" }, "fileInCommit": { "type": "string", "description": "Specifies the format of a commit file url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${file} - file name\n ${id} - commit id\n ${line} - formatted line information" }, "fileLine": { "type": "string", "description": "Specifies the format of a line in a file url for the custom remote service\nAvailable tokens\n ${line} - line" }, "fileRange": { "type": "string", "description": "Specifies the format of a range in a file url for the custom remote service\nAvailable tokens\n ${start} - starting line\n ${end} - ending line" } } }, "description": "Specifies the url formats of the custom remote service" } }, "uniqueItems": true, "description": "Specifies user-defined remote (code-hosting) services or custom domains for built-in remote services", "scope": "resource" }, "gitlens.statusBar.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to provide blame information on the status bar", "scope": "window" }, "gitlens.statusBar.alignment": { "type": "string", "default": "right", "enum": [ "left", "right" ], "description": "Specifies the blame alignment in the status bar\n `left` - align to the left\n `right` - align to the right", "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" ], "description": "Specifies the command to be executed when the blame status bar item is clicked\n `gitlens.toggleFileBlame` - toggles file blame annotations\n `gitlens.diffWithPrevious` - compares the current line commit with the previous\n `gitlens.diffWithWorking` - compares the current line commit with the working tree\n `gitlens.toggleCodeLens` - toggles Git code lens\n `gitlens.showQuickCommitDetails` - shows a commit details quick pick\n `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick\n `gitlens.showQuickFileHistory` - shows a file history quick pick\n `gitlens.showQuickRepoHistory` - shows a branch history quick pick", "scope": "window" }, "gitlens.statusBar.format": { "type": "string", "default": "${authorAgo}", "description": "Specifies the format of the status bar blame information\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)\n ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting", "scope": "window" }, "gitlens.statusBar.dateFormat": { "type": "string", "default": null, "description": "Specifies the date format of absolute dates shown in the blame information on the status bar. See https://momentjs.com/docs/#/displaying/format/ for valid formats", "scope": "window" }, "gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors": { "type": "string", "default": "Unsaved changes (cannot determine recent change or authors)", "description": "Specifies the string to be shown in place of both the `recent change` and `authors` code lens when there are unsaved changes", "scope": "window" }, "gitlens.strings.codeLens.unsavedChanges.recentChangeOnly": { "type": "string", "default": "Unsaved changes (cannot determine recent change)", "description": "Specifies the string to be shown in place of the `recent change` code lens when there are unsaved changes", "scope": "window" }, "gitlens.strings.codeLens.unsavedChanges.authorsOnly": { "type": "string", "default": "Unsaved changes (cannot determine authors)", "description": "Specifies the string to be shown in place of the `authors` code lens when there are unsaved changes", "scope": "window" }, "gitlens.advanced.caching.enabled": { "type": "boolean", "default": true, "description": "Specifies whether git output will be cached", "scope": "window" }, "gitlens.advanced.caching.maxLines": { "type": "number", "default": 0, "description": "Specifies the threshold for caching larger documents", "scope": "window" }, "gitlens.advanced.git": { "type": "string", "default": null, "description": "Specifies the git path to use", "scope": "window" }, "gitlens.advanced.maxQuickHistory": { "type": "number", "default": 200, "description": "Specifies the maximum number of QuickPick history entries to show", "scope": "window" }, "gitlens.advanced.menus": { "type": "object", "default": { "editorContext": { "blame": true, "copy": true, "details": true, "fileDiff": true, "history": true, "lineDiff": true, "remote": true }, "editorTitle": { "blame": true, "fileDiff": false, "history": false, "remote": false, "status": false }, "editorTitleContext": { "blame": false, "fileDiff": false, "history": false, "remote": false }, "explorerContext": { "fileDiff": true, "history": true, "remote": true } }, "properties": { "editorContext": { "type": "object", "default": { "blame": true, "copy": true, "details": true, "fileDiff": true, "history": true, "lineDiff": true, "remote": true }, "properties": { "blame": { "type": "boolean", "default": true }, "copy": { "type": "boolean", "default": true }, "details": { "type": "boolean", "default": true }, "fileDiff": { "type": "boolean", "default": true }, "history": { "type": "boolean", "default": true }, "lineDiff": { "type": "boolean", "default": true }, "remote": { "type": "boolean", "default": true } } }, "editorTitle": { "type": "object", "default": { "blame": true, "fileDiff": true, "history": true, "remote": true, "status": true }, "properties": { "blame": { "type": "boolean", "default": true }, "fileDiff": { "type": "boolean", "default": true }, "history": { "type": "boolean", "default": true }, "remote": { "type": "boolean", "default": true }, "status": { "type": "boolean", "default": true } } }, "editorTitleContext": { "type": "object", "default": { "blame": true, "fileDiff": true, "history": true, "remote": true }, "properties": { "blame": { "type": "boolean", "default": true }, "fileDiff": { "type": "boolean", "default": true }, "history": { "type": "boolean", "default": true }, "remote": { "type": "boolean", "default": true } } }, "explorerContext": { "type": "object", "default": { "fileDiff": true, "history": true, "remote": true }, "properties": { "fileDiff": { "type": "boolean", "default": true }, "history": { "type": "boolean", "default": true }, "remote": { "type": "boolean", "default": true } } } }, "description": "Specifies which commands will be added to which menus", "scope": "window" }, "gitlens.advanced.messages": { "type": "object", "default": { "suppressCommitHasNoPreviousCommitWarning": false, "suppressCommitNotFoundWarning": false, "suppressFileNotUnderSourceControlWarning": false, "suppressGitVersionWarning": false, "suppressLineUncommittedWarning": false, "suppressNoRepositoryWarning": false, "suppressUpdateNotice": false, "suppressWelcomeNotice": false }, "properties": { "suppressCommitHasNoPreviousCommitWarning": { "type": "boolean", "default": false }, "suppressCommitNotFoundWarning": { "type": "boolean", "default": false }, "suppressFileNotUnderSourceControlWarning": { "type": "boolean", "default": false }, "suppressGitVersionWarning": { "type": "boolean", "default": false }, "suppressLineUncommittedWarning": { "type": "boolean", "default": false }, "suppressNoRepositoryWarning": { "type": "boolean", "default": false }, "suppressUpdateNotice": { "type": "boolean", "default": false }, "suppressWelcomeNotice": { "type": "boolean", "default": false } }, "description": "Specifies which messages should be suppressed", "scope": "window" }, "gitlens.advanced.quickPick.closeOnFocusOut": { "type": "boolean", "default": true, "description": "Specifies whether or not to close the QuickPick menu when focus is lost", "scope": "window" }, "gitlens.advanced.repositorySearchDepth": { "type": "number", "default": 1, "description": "Specifies how many folders deep to search for repositories", "scope": "resource" }, "gitlens.advanced.telemetry.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not 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 trailing blame annotation", "defaults": { "dark": "#00000000", "light": "#00000000", "highContrast": "#00000000" } }, { "id": "gitlens.trailingLineForegroundColor", "description": "Specifies the foreground color of the trailing blame annotation", "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.diffDirectory", "title": "Compare Directory with Branch...", "category": "GitLens" }, { "command": "gitlens.diffWith", "title": "Compare File Revisions", "category": "GitLens" }, { "command": "gitlens.diffWithBranch", "title": "Compare File with Branch...", "category": "GitLens" }, { "command": "gitlens.diffWithNext", "title": "Compare File with Next Revision", "category": "GitLens" }, { "command": "gitlens.diffWithPrevious", "title": "Compare File with Previous Revision", "category": "GitLens" }, { "command": "gitlens.diffLineWithPrevious", "title": "Compare Line Revision with Previous", "category": "GitLens" }, { "command": "gitlens.diffWithRevision", "title": "Compare File with Revision...", "category": "GitLens" }, { "command": "gitlens.diffWithWorking", "title": "Compare File with Working Revision", "category": "GitLens" }, { "command": "gitlens.diffLineWithWorking", "title": "Compare Line Revision with Working", "category": "GitLens" }, { "command": "gitlens.showFileBlame", "title": "Show File Blame Annotations", "category": "GitLens" }, { "command": "gitlens.showLineBlame", "title": "Show Line Blame Annotations", "category": "GitLens" }, { "command": "gitlens.toggleFileBlame", "title": "Toggle File Blame Annotations", "category": "GitLens", "icon": { "dark": "images/dark/git-icon.svg", "light": "images/light/git-icon.svg" } }, { "command": "gitlens.clearFileAnnotations", "title": "Clear File Annotations", "category": "GitLens", "icon": { "dark": "images/dark/git-icon-orange.svg", "light": "images/light/git-icon-orange.svg" } }, { "command": "gitlens.computingFileAnnotations", "title": "Computing File Annotations...", "category": "GitLens", "icon": { "dark": "images/dark/git-icon-progress.svg", "light": "images/light/git-icon-progress.svg" } }, { "command": "gitlens.toggleFileRecentChanges", "title": "Toggle Recent File Changes Annotations", "category": "GitLens", "icon": { "dark": "images/dark/git-icon.svg", "light": "images/light/git-icon.svg" } }, { "command": "gitlens.toggleLineBlame", "title": "Toggle Line Blame Annotations", "category": "GitLens" }, { "command": "gitlens.toggleCodeLens", "title": "Toggle Git Code Lens", "category": "GitLens" }, { "command": "gitlens.showCommitSearch", "title": "Search Commits", "category": "GitLens", "icon": { "dark": "images/dark/icon-search.svg", "light": "images/light/icon-search.svg" } }, { "command": "gitlens.showLastQuickPick", "title": "Show Last Opened Quick Pick", "category": "GitLens" }, { "command": "gitlens.showQuickCommitDetails", "title": "Show Commit Details", "category": "GitLens" }, { "command": "gitlens.showQuickCommitFileDetails", "title": "Show Commit File Details", "category": "GitLens" }, { "command": "gitlens.showQuickFileHistory", "title": "Show File History", "category": "GitLens" }, { "command": "gitlens.showQuickBranchHistory", "title": "Show Branch History", "category": "GitLens" }, { "command": "gitlens.showQuickRepoHistory", "title": "Show Current Branch History", "category": "GitLens" }, { "command": "gitlens.showQuickRepoStatus", "title": "Show Repository Status", "category": "GitLens" }, { "command": "gitlens.showQuickStashList", "title": "Show Stashed Changes", "category": "GitLens" }, { "command": "gitlens.copyShaToClipboard", "title": "Copy Commit ID to Clipboard", "category": "GitLens" }, { "command": "gitlens.copyMessageToClipboard", "title": "Copy Commit Message to Clipboard", "category": "GitLens" }, { "command": "gitlens.closeUnchangedFiles", "title": "Close Unchanged Files", "category": "GitLens" }, { "command": "gitlens.openChangedFiles", "title": "Open Changed Files", "category": "GitLens" }, { "command": "gitlens.openBranchesInRemote", "title": "Open Branches in Remote", "category": "GitLens" }, { "command": "gitlens.openBranchInRemote", "title": "Open Branch in Remote", "category": "GitLens" }, { "command": "gitlens.openCommitInRemote", "title": "Open Commit in Remote", "category": "GitLens" }, { "command": "gitlens.openFileInRemote", "title": "Open File in Remote", "category": "GitLens" }, { "command": "gitlens.openRepoInRemote", "title": "Open Repository in Remote", "category": "GitLens" }, { "command": "gitlens.stashApply", "title": "Apply Stashed Changes", "category": "GitLens" }, { "command": "gitlens.stashDelete", "title": "Delete Stashed Changes", "category": "GitLens" }, { "command": "gitlens.stashSave", "title": "Stash Changes", "category": "GitLens", "icon": { "dark": "images/dark/icon-add.svg", "light": "images/light/icon-add.svg" } }, { "command": "gitlens.externalDiff", "title": "Open Changes (with difftool)", "category": "GitLens" }, { "command": "gitlens.externalDiffAll", "title": "Open All Changes (with difftool)", "category": "GitLens" }, { "command": "gitlens.resetSuppressedWarnings", "title": "Reset Suppressed Warnings", "category": "GitLens" }, { "command": "gitlens.gitExplorer.setAutoRefreshToOn", "title": "Enable Automatic Refresh", "category": "GitLens" }, { "command": "gitlens.gitExplorer.setAutoRefreshToOff", "title": "Disable Automatic Refresh", "category": "GitLens" }, { "command": "gitlens.gitExplorer.refresh", "title": "Refresh", "category": "GitLens", "icon": { "dark": "images/dark/icon-refresh.svg", "light": "images/light/icon-refresh.svg" } }, { "command": "gitlens.gitExplorer.refreshNode", "title": "Refresh", "category": "GitLens" }, { "command": "gitlens.gitExplorer.setFilesLayoutToAuto", "title": "Show Files in Automatic View", "category": "GitLens" }, { "command": "gitlens.gitExplorer.setFilesLayoutToList", "title": "Show Files in List View", "category": "GitLens" }, { "command": "gitlens.gitExplorer.setFilesLayoutToTree", "title": "Show Files in Tree View", "category": "GitLens" }, { "command": "gitlens.gitExplorer.switchToHistoryView", "title": "Switch to History View", "category": "GitLens", "icon": { "dark": "images/dark/icon-history.svg", "light": "images/light/icon-history.svg" } }, { "command": "gitlens.gitExplorer.switchToRepositoryView", "title": "Switch to Repository View", "category": "GitLens", "icon": { "dark": "images/dark/icon-repo.svg", "light": "images/light/icon-repo.svg" } }, { "command": "gitlens.gitExplorer.openChanges", "title": "Open Changes", "category": "GitLens" }, { "command": "gitlens.gitExplorer.openChangesWithWorking", "title": "Open Changes with Working Tree", "category": "GitLens" }, { "command": "gitlens.gitExplorer.openFile", "title": "Open File", "category": "GitLens" }, { "command": "gitlens.gitExplorer.openFileRevision", "title": "Open Revision", "category": "GitLens" }, { "command": "gitlens.gitExplorer.openFileRevisionInRemote", "title": "Open Revision in Remote", "category": "GitLens" }, { "command": "gitlens.gitExplorer.openChangedFiles", "title": "Open Files", "category": "GitLens" }, { "command": "gitlens.gitExplorer.openChangedFileChanges", "title": "Open All Changes", "category": "GitLens" }, { "command": "gitlens.gitExplorer.openChangedFileChangesWithWorking", "title": "Open All Changes with Working Tree", "category": "GitLens" }, { "command": "gitlens.gitExplorer.openChangedFileRevisions", "title": "Open Revisions", "category": "GitLens" }, { "command": "gitlens.gitExplorer.applyChanges", "title": "Apply Changes", "category": "GitLens" }, { "command": "gitlens.gitExplorer.terminalCheckoutBranch", "title": "Checkout Branch (via Terminal)", "category": "GitLens" }, { "command": "gitlens.gitExplorer.terminalCreateBranch", "title": "Create Branch (via Terminal)...", "category": "GitLens" }, { "command": "gitlens.gitExplorer.terminalDeleteBranch", "title": "Delete Branch (via Terminal)", "category": "GitLens" }, { "command": "gitlens.gitExplorer.terminalRebaseBranchToRemote", "title": "Rebase Branch to Remote (via Terminal)", "category": "GitLens" }, { "command": "gitlens.gitExplorer.terminalSquashBranchIntoCommit", "title": "Squash Branch into Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.gitExplorer.terminalRebaseCommit", "title": "Rebase Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.gitExplorer.terminalResetCommit", "title": "Reset Commit (via Terminal)", "category": "GitLens" }, { "command": "gitlens.gitExplorer.terminalRemoveRemote", "title": "Remove Remote (via Terminal)", "category": "GitLens" } ], "menus": { "commandPalette": [ { "command": "gitlens.diffDirectory", "when": "gitlens:enabled" }, { "command": "gitlens.diffWith", "when": "false" }, { "command": "gitlens.diffWithBranch", "when": "gitlens:activeIsTracked" }, { "command": "gitlens.diffWithNext", "when": "gitlens:activeIsTracked" }, { "command": "gitlens.diffWithPrevious", "when": "gitlens:activeIsTracked" }, { "command": "gitlens.diffLineWithPrevious", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.diffWithRevision", "when": "gitlens:activeIsTracked" }, { "command": "gitlens.diffWithWorking", "when": "gitlens:activeIsTracked" }, { "command": "gitlens.diffLineWithWorking", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.externalDiffAll", "when": "gitlens:enabled" }, { "command": "gitlens.showFileBlame", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.showLineBlame", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.toggleFileBlame", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.clearFileAnnotations", "when": "gitlens:annotationStatus == computed" }, { "command": "gitlens.computingFileAnnotations", "when": "false" }, { "command": "gitlens.toggleFileRecentChanges", "when": "gitlens:activeIsTracked" }, { "command": "gitlens.toggleLineBlame", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.toggleCodeLens", "when": "gitlens:activeIsTracked && gitlens:canToggleCodeLens" }, { "command": "gitlens.showLastQuickPick", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickCommitDetails", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.showQuickCommitFileDetails", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:activeIsTracked" }, { "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.copyShaToClipboard", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.copyMessageToClipboard", "when": "gitlens:activeIsBlameable" }, { "command": "gitlens.closeUnchangedFiles", "when": "gitlens:enabled" }, { "command": "gitlens.openChangedFiles", "when": "gitlens:enabled" }, { "command": "gitlens.openBranchesInRemote", "when": "gitlens:activeHasRemote" }, { "command": "gitlens.openBranchInRemote", "when": "gitlens:activeHasRemote" }, { "command": "gitlens.openCommitInRemote", "when": "gitlens:activeIsBlameable && gitlens:activeHasRemote" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:activeIsTracked && gitlens:activeHasRemote" }, { "command": "gitlens.openRepoInRemote", "when": "gitlens:activeHasRemote" }, { "command": "gitlens.stashApply", "when": "gitlens:enabled" }, { "command": "gitlens.stashSave", "when": "gitlens:enabled" }, { "command": "gitlens.resetSuppressedWarnings", "when": "gitlens:enabled" }, { "command": "gitlens.gitExplorer.setAutoRefreshToOn", "when": "false" }, { "command": "gitlens.gitExplorer.setAutoRefreshToOff", "when": "false" }, { "command": "gitlens.gitExplorer.setFilesLayoutToAuto", "when": "false" }, { "command": "gitlens.gitExplorer.setFilesLayoutToList", "when": "false" }, { "command": "gitlens.gitExplorer.setFilesLayoutToTree", "when": "false" }, { "command": "gitlens.gitExplorer.refresh", "when": "false" }, { "command": "gitlens.gitExplorer.refreshNode", "when": "false" }, { "command": "gitlens.gitExplorer.switchToHistoryView", "when": "gitlens:gitExplorer:view == repository" }, { "command": "gitlens.gitExplorer.switchToRepositoryView", "when": "gitlens:gitExplorer:view == history" }, { "command": "gitlens.gitExplorer.openChanges", "when": "false" }, { "command": "gitlens.gitExplorer.openChangesWithWorking", "when": "false" }, { "command": "gitlens.gitExplorer.openFile", "when": "false" }, { "command": "gitlens.gitExplorer.openFileRevision", "when": "false" }, { "command": "gitlens.gitExplorer.openFileRevisionInRemote", "when": "false" }, { "command": "gitlens.gitExplorer.openChangedFiles", "when": "false" }, { "command": "gitlens.gitExplorer.openChangedFileChanges", "when": "false" }, { "command": "gitlens.gitExplorer.openChangedFileChangesWithWorking", "when": "false" }, { "command": "gitlens.gitExplorer.openChangedFileRevisions", "when": "false" }, { "command": "gitlens.gitExplorer.applyChanges", "when": "false" }, { "command": "gitlens.gitExplorer.terminalCheckoutBranch", "when": "false" }, { "command": "gitlens.gitExplorer.terminalCreateBranch", "when": "false" }, { "command": "gitlens.gitExplorer.terminalDeleteBranch", "when": "false" }, { "command": "gitlens.gitExplorer.terminalRebaseBranchToRemote", "when": "false" }, { "command": "gitlens.gitExplorer.terminalSquashBranchIntoCommit", "when": "false" }, { "command": "gitlens.gitExplorer.terminalRebaseCommit", "when": "false" }, { "command": "gitlens.gitExplorer.terminalResetCommit", "when": "false" }, { "command": "gitlens.gitExplorer.terminalRemoveRemote", "when": "false" } ], "editor/context": [ { "command": "gitlens.openFileInRemote", "when": "editorTextFocus && gitlens:activeHasRemote && config.gitlens.advanced.menus.editorContext.remote", "group": "navigation@100" }, { "command": "gitlens.diffLineWithPrevious", "when": "editorTextFocus && gitlens:activeIsBlameable && config.gitlens.advanced.menus.editorContext.lineDiff", "group": "1_gitlens@1" }, { "command": "gitlens.diffLineWithWorking", "when": "editorTextFocus && gitlens:activeIsBlameable && config.gitlens.advanced.menus.editorContext.lineDiff", "group": "1_gitlens@2" }, { "command": "gitlens.showQuickCommitFileDetails", "when": "editorTextFocus && gitlens:activeIsBlameable && config.gitlens.advanced.menus.editorContext.details", "group": "1_gitlens@3" }, { "command": "gitlens.diffWithPrevious", "when": "editorTextFocus && gitlens:activeIsTracked && config.gitlens.advanced.menus.editorContext.fileDiff", "group": "1_gitlens_1@1" }, { "command": "gitlens.diffWithWorking", "when": "editorTextFocus && gitlens:activeIsTracked && config.gitlens.advanced.menus.editorContext.fileDiff", "group": "1_gitlens_1@2" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:activeIsTracked && config.gitlens.advanced.menus.editorContext.history", "group": "3_gitlens@1" }, { "command": "gitlens.toggleFileBlame", "when": "editorTextFocus && gitlens:activeIsBlameable && config.gitlens.advanced.menus.editorContext.blame", "group": "3_gitlens@2" }, { "command": "gitlens.copyShaToClipboard", "when": "editorTextFocus && gitlens:activeIsBlameable && config.gitlens.advanced.menus.editorContext.copy", "group": "9_gitlens@1" }, { "command": "gitlens.copyMessageToClipboard", "when": "editorTextFocus && gitlens:activeIsBlameable && config.gitlens.advanced.menus.editorContext.copy", "group": "9_gitlens@2" } ], "editor/title": [ { "command": "gitlens.toggleFileBlame", "alt": "gitlens.toggleFileRecentChanges", "when": "gitlens:activeIsBlameable && !gitlens:annotationStatus && config.gitlens.advanced.menus.editorTitle.blame", "group": "navigation@100" }, { "command": "gitlens.computingFileAnnotations", "when": "gitlens:annotationStatus == computing && config.gitlens.advanced.menus.editorTitle.blame", "group": "navigation@100" }, { "command": "gitlens.clearFileAnnotations", "when": "gitlens:annotationStatus == computed && config.gitlens.advanced.menus.editorTitle.blame", "group": "navigation@100" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:enabled && gitlens:activeHasRemote && config.gitlens.advanced.menus.editorTitle.remote", "group": "1_gitlens" }, { "command": "gitlens.openRepoInRemote", "when": "gitlens:enabled && gitlens:activeHasRemote && config.gitlens.advanced.menus.editorTitle.remote", "group": "1_gitlens" }, { "command": "gitlens.diffWithPrevious", "when": "editorTextFocus && gitlens:activeIsTracked && config.gitlens.advanced.menus.editorTitle.fileDiff", "group": "2_gitlens" }, { "command": "gitlens.diffWithWorking", "when": "editorTextFocus && gitlens:activeIsTracked && config.gitlens.advanced.menus.editorTitle.fileDiff", "group": "2_gitlens" }, { "command": "gitlens.showQuickFileHistory", "when": "editorFocus && gitlens:activeIsTracked && config.gitlens.advanced.menus.editorTitle.history", "group": "2_gitlens_1" }, { "command": "gitlens.showQuickRepoHistory", "when": "!editorFocus && gitlens:enabled && config.gitlens.advanced.menus.editorTitle.history", "group": "2_gitlens_1" }, { "command": "gitlens.showQuickRepoStatus", "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitle.status", "group": "2_gitlens_1" } ], "editor/title/context": [ { "command": "gitlens.openFileInRemote", "when": "gitlens:enabled && gitlens:activeHasRemote && config.gitlens.advanced.menus.editorTitleContext.remote", "group": "1_gitlens" }, { "command": "gitlens.diffWithPrevious", "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.fileDiff", "group": "1_gitlens_1@1" }, { "command": "gitlens.diffWithWorking", "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.fileDiff", "group": "1_gitlens_1@2" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.history", "group": "1_gitlens_2@1" }, { "command": "gitlens.toggleFileBlame", "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.blame", "group": "1_gitlens_2@2" } ], "explorer/context": [ { "command": "gitlens.openFileInRemote", "when": "gitlens:enabled && gitlens:hasRemotes && config.gitlens.advanced.menus.explorerContext.remote", "group": "navigation@100" }, { "command": "gitlens.diffWithPrevious", "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.fileDiff", "group": "1_gitlens@1" }, { "command": "gitlens.diffWithWorking", "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.fileDiff", "group": "1_gitlens@2" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.history", "group": "1_gitlens_1@1" } ], "scm/resourceGroup/context": [ { "command": "gitlens.openChangedFiles", "when": "gitlens:enabled", "group": "2_gitlens@1" }, { "command": "gitlens.closeUnchangedFiles", "when": "gitlens:enabled", "group": "2_gitlens@2" }, { "command": "gitlens.externalDiff", "when": "gitlens:enabled", "group": "2_gitlens@3" }, { "command": "gitlens.externalDiffAll", "when": "gitlens:enabled", "group": "2_gitlens@4" }, { "command": "gitlens.stashSave", "when": "gitlens:enabled", "group": "3_gitlens@1" } ], "scm/resourceState/context": [ { "command": "gitlens.openFileInRemote", "when": "gitlens:enabled && gitlens:hasRemotes", "group": "navigation" }, { "command": "gitlens.externalDiff", "when": "gitlens:enabled", "group": "navigation" }, { "command": "gitlens.diffWithRevision", "when": "gitlens:enabled", "group": "1_gitlens@1" }, { "command": "gitlens.diffWithBranch", "when": "gitlens:enabled", "group": "1_gitlens@2" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:enabled", "group": "1_gitlens_1@1" }, { "command": "gitlens.stashSave", "when": "gitlens:enabled", "group": "2_gitlens@1" } ], "view/title": [ { "command": "gitlens.showCommitSearch", "when": "view == gitlens.gitExplorer", "group": "navigation@1" }, { "command": "gitlens.gitExplorer.switchToHistoryView", "when": "view == gitlens.gitExplorer && gitlens:gitExplorer:view == repository", "group": "navigation@2" }, { "command": "gitlens.gitExplorer.switchToRepositoryView", "when": "view == gitlens.gitExplorer && gitlens:gitExplorer:view == history", "group": "navigation@3" }, { "command": "gitlens.gitExplorer.refresh", "when": "view == gitlens.gitExplorer", "group": "navigation@4" }, { "command": "gitlens.gitExplorer.setFilesLayoutToAuto", "when": "view == gitlens.gitExplorer && gitlens:gitExplorer:view == repository", "group": "1_gitlens" }, { "command": "gitlens.gitExplorer.setFilesLayoutToList", "when": "view == gitlens.gitExplorer && gitlens:gitExplorer:view == repository", "group": "1_gitlens" }, { "command": "gitlens.gitExplorer.setFilesLayoutToTree", "when": "view == gitlens.gitExplorer && gitlens:gitExplorer:view == repository", "group": "1_gitlens" }, { "command": "gitlens.gitExplorer.setAutoRefreshToOn", "when": "view == gitlens.gitExplorer && config.gitlens.gitExplorer.autoRefresh && !gitlens:gitExplorer:autoRefresh", "group": "2_gitlens" }, { "command": "gitlens.gitExplorer.setAutoRefreshToOff", "when": "view == gitlens.gitExplorer && config.gitlens.gitExplorer.autoRefresh && gitlens:gitExplorer:autoRefresh", "group": "2_gitlens" } ], "view/item/context": [ { "command": "gitlens.openBranchesInRemote", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branches:remotes", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalCheckoutBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branch-history", "group": "8_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalCreateBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branch-history", "group": "8_gitlens@2" }, { "command": "gitlens.gitExplorer.terminalDeleteBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branch-history", "group": "8_gitlens@3" }, { "command": "gitlens.gitExplorer.terminalSquashBranchIntoCommit", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branch-history", "group": "8_gitlens@4" }, { "command": "gitlens.openBranchInRemote", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branch-history:tracking", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalCheckoutBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branch-history:tracking", "group": "8_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalCreateBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branch-history:tracking", "group": "8_gitlens@2" }, { "command": "gitlens.gitExplorer.terminalDeleteBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branch-history:tracking", "group": "8_gitlens@3" }, { "command": "gitlens.gitExplorer.terminalSquashBranchIntoCommit", "when": "view == gitlens.gitExplorer && viewItem == gitlens:branch-history:tracking", "group": "8_gitlens@4" }, { "command": "gitlens.gitExplorer.terminalCreateBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:current-branch-history", "group": "8_gitlens@1" }, { "command": "gitlens.openBranchInRemote", "when": "view == gitlens.gitExplorer && viewItem == gitlens:current-branch-history:tracking", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalCreateBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:current-branch-history:tracking", "group": "8_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalRebaseBranchToRemote", "when": "view == gitlens.gitExplorer && viewItem == gitlens:current-branch-history:tracking", "group": "8_gitlens@2" }, { "command": "gitlens.openBranchInRemote", "when": "view == gitlens.gitExplorer && viewItem == gitlens:remote-branch-history", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalCheckoutBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:remote-branch-history", "group": "8_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalCreateBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:remote-branch-history", "group": "8_gitlens@2" }, { "command": "gitlens.gitExplorer.terminalDeleteBranch", "when": "view == gitlens.gitExplorer && viewItem == gitlens:remote-branch-history", "group": "8_gitlens@3" }, { "command": "gitlens.gitExplorer.terminalSquashBranchIntoCommit", "when": "view == gitlens.gitExplorer && viewItem == gitlens:remote-branch-history", "group": "8_gitlens@4" }, { "command": "gitlens.openCommitInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:commit", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFileChanges", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit", "group": "2_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFileChangesWithWorking", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit", "group": "2_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFiles", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit", "group": "3_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFileRevisions", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit", "group": "3_gitlens@2" }, { "command": "gitlens.copyShaToClipboard", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit", "group": "4_gitlens@1" }, { "command": "gitlens.copyMessageToClipboard", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit", "group": "4_gitlens@2" }, { "command": "gitlens.showQuickCommitDetails", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit", "group": "5_gitlens@1" }, { "command": "gitlens.openCommitInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFileChanges", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "2_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFileChangesWithWorking", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "2_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFiles", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "3_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFileRevisions", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "3_gitlens@2" }, { "command": "gitlens.copyShaToClipboard", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "4_gitlens@1" }, { "command": "gitlens.copyMessageToClipboard", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "4_gitlens@2" }, { "command": "gitlens.showQuickCommitDetails", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "5_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalRebaseCommit", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "8_gitlens@1" }, { "command": "gitlens.gitExplorer.terminalResetCommit", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit:current", "group": "8_gitlens@2" }, { "command": "gitlens.gitExplorer.openChanges", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit-file", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangesWithWorking", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit-file", "group": "1_gitlens@2" }, { "command": "gitlens.gitExplorer.openFile", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit-file", "group": "2_gitlens@1" }, { "command": "gitlens.gitExplorer.openFileRevision", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit-file", "group": "2_gitlens@2" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:commit-file", "group": "3_gitlens@1" }, { "command": "gitlens.gitExplorer.openFileRevisionInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:commit-file", "group": "3_gitlens@2" }, { "command": "gitlens.gitExplorer.applyChanges", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit-file", "group": "4_gitlens@1" }, { "command": "gitlens.showQuickFileHistory", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit-file && gitlens:gitExplorer:view == repository", "group": "5_gitlens@1" }, { "command": "gitlens.showQuickCommitFileDetails", "when": "view == gitlens.gitExplorer && viewItem == gitlens:commit-file", "group": "5_gitlens@2" }, { "command": "gitlens.gitExplorer.openFile", "when": "view == gitlens.gitExplorer && viewItem == gitlens:file-history", "group": "1_gitlens@1" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:file-history", "group": "1_gitlens@2" }, { "command": "gitlens.openBranchesInRemote", "when": "view == gitlens.gitExplorer && viewItem == gitlens:remote", "group": "1_gitlens@1" }, { "command": "gitlens.openRepoInRemote", "when": "view == gitlens.gitExplorer && viewItem == gitlens:remote", "group": "1_gitlens@2" }, { "command": "gitlens.gitExplorer.terminalRemoveRemote", "when": "view == gitlens.gitExplorer && viewItem == gitlens:remote", "group": "8_gitlens@1" }, { "command": "gitlens.openRepoInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:repository", "group": "1_gitlens@1" }, { "command": "gitlens.stashSave", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stashes", "group": "1_gitlens@1" }, { "command": "gitlens.stashApply", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash", "group": "1_gitlens@1" }, { "command": "gitlens.stashDelete", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash", "group": "1_gitlens@2" }, { "command": "gitlens.gitExplorer.openChangedFileChanges", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash", "group": "2_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFileChangesWithWorking", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash", "group": "2_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFiles", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash", "group": "3_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangedFileRevisions", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash", "group": "3_gitlens@2" }, { "command": "gitlens.copyMessageToClipboard", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash", "group": "4_gitlens@1" }, { "command": "gitlens.gitExplorer.applyChanges", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash-file", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.openChanges", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash-file", "group": "2_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangesWithWorking", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash-file", "group": "2_gitlens@2" }, { "command": "gitlens.gitExplorer.openFile", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash-file", "group": "3_gitlens@1" }, { "command": "gitlens.gitExplorer.openFileRevision", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash-file", "group": "3_gitlens@2" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:stash-file", "group": "4_gitlens@1" }, { "command": "gitlens.showQuickFileHistory", "when": "view == gitlens.gitExplorer && viewItem == gitlens:stash-file", "group": "5_gitlens@1" }, { "command": "gitlens.openRepoInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:status", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.openChanges", "when": "view == gitlens.gitExplorer && viewItem == gitlens:status-file", "group": "1_gitlens@1" }, { "command": "gitlens.gitExplorer.openChangesWithWorking", "when": "view == gitlens.gitExplorer && viewItem == gitlens:status-file", "group": "1_gitlens@2" }, { "command": "gitlens.gitExplorer.openFile", "when": "view == gitlens.gitExplorer && viewItem == gitlens:status-file", "group": "2_gitlens@1" }, { "command": "gitlens.gitExplorer.openFileRevision", "when": "view == gitlens.gitExplorer && viewItem == gitlens:status-file", "group": "2_gitlens@2" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:status-file", "group": "3_gitlens@1" }, { "command": "gitlens.showQuickFileHistory", "when": "view == gitlens.gitExplorer && viewItem == gitlens:status-file && gitlens:gitExplorer:view == repository", "group": "5_gitlens@1" }, { "command": "gitlens.showQuickCommitFileDetails", "when": "view == gitlens.gitExplorer && viewItem == gitlens:status-file", "group": "5_gitlens@2" }, { "command": "gitlens.gitExplorer.openFile", "when": "view == gitlens.gitExplorer && viewItem == gitlens:status-file-commits", "group": "1_gitlens@1" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:hasRemotes && view == gitlens.gitExplorer && viewItem == gitlens:status-file-commits", "group": "1_gitlens@2" }, { "command": "gitlens.gitExplorer.terminalRebaseBranchToRemote", "when": "view == gitlens.gitExplorer && viewItem == gitlens:status-upstream", "group": "8_gitlens@1" }, { "command": "gitlens.gitExplorer.refreshNode", "when": "view == gitlens.gitExplorer && viewItem != gitlens:commit-file && viewItem != gitlens:stash-file && viewItem != gitlens:status-file", "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" }, { "command": "gitlens.toggleFileBlame", "key": "alt+b", "when": "editorTextFocus && gitlens:activeIsBlameable" }, { "command": "gitlens.toggleCodeLens", "key": "shift+alt+b", "when": "editorTextFocus && gitlens:activeIsTracked && gitlens:canToggleCodeLens" }, { "command": "gitlens.showLastQuickPick", "key": "alt+-", "when": "gitlens:enabled" }, { "command": "gitlens.showCommitSearch", "key": "alt+/", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickFileHistory", "key": "alt+h", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickRepoHistory", "key": "shift+alt+h", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickRepoStatus", "key": "alt+s", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickCommitFileDetails", "key": "alt+c", "when": "editorTextFocus && gitlens:enabled" }, { "command": "gitlens.diffWithNext", "key": "alt+.", "when": "editorTextFocus && gitlens:activeIsTracked" }, { "command": "gitlens.diffLineWithPrevious", "key": "shift+alt+,", "when": "editorTextFocus && gitlens:activeIsTracked" }, { "command": "gitlens.diffWithPrevious", "key": "alt+,", "when": "editorTextFocus && gitlens:activeIsTracked" }, { "command": "gitlens.diffLineWithWorking", "key": "alt+w", "when": "editorTextFocus && gitlens:activeIsTracked" }, { "command": "gitlens.diffWithWorking", "key": "shift+alt+w", "when": "editorTextFocus && gitlens:activeIsTracked" } ], "views": { "explorer": [ { "id": "gitlens.gitExplorer", "name": "GitLens", "when": "gitlens:enabled && gitlens:gitExplorer && gitlens:hasRepository && config.gitlens.gitExplorer.enabled" } ] } }, "activationEvents": [ "*" ], "scripts": { "clean": "git clean -xdf", "compile": "npm run lint && tsc -p ./", "watch": "tsc -watch -p ./", "lint": "tslint --project tslint.json", "pack": "npm run clean && vsce package", "postinstall": "node ./node_modules/vscode/bin/install", "pub": "npm run clean && vsce publish", "reset": "npm run clean && npm install", "vscode:prepublish": "npm install --no-save && npm run compile", "prepush": "npm run compile" }, "dependencies": { "applicationinsights": "0.21.0", "copy-paste": "1.3.0", "date-fns": "1.29.0", "iconv-lite": "0.4.19", "lodash.debounce": "4.0.8", "lodash.escaperegexp": "4.1.2", "lodash.isequal": "4.5.0", "lodash.once": "4.1.1", "spawn-rx": "2.0.12", "tmp": "0.0.33" }, "devDependencies": { "@types/copy-paste": "1.1.30", "@types/iconv-lite": "0.0.1", "@types/mocha": "2.2.44", "@types/node": "8.0.53", "@types/tmp": "0.0.33", "husky": "^0.14.3", "mocha": "4.0.1", "tslint": "5.8.0", "typescript": "2.6.2", "vscode": "1.1.8" } }