GitLens supercharges the built-in Visual Studio Code Git capabilities. It helps you to 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.
GitLens provides an unobtrusive blame annotation at the end of the current line, a status bar item showing the commit information (author and date, by default) of the current line, code lens showing the most recent commit and # of authors of the file and/or code block, and many commands for exploring commits and histories, comparing and navigating revisions, stash access, repository status, and more. GitLens is also highly customizable to meet your specific needs — find code lens intrusive or the current line blame annotation distracting — no problem, it is easy to turn them off or change how they behave.
Preview — featuring blame annotations, code lens, status bar details, quick pick menus for navigation and exploration, compare with previous, and more
-
Adds an unobtrusive, highly customizable and themeable, Git blame annotation to the end of the current line (optional, on by default)
-
Contains the author, date, and message of the line's most recent commit, by default
-
Adds a
detailshover annotation to the current line annotation, which provides more commit details (optional, on by default)- Provides a quick-access command bar with
Open Changes,Blame Previous Revision,Open in Remote, andShow More Actionscommand buttons - Clicking the commit id will run the
Show Commit Detailscommand (gitlens.showQuickCommitDetails)
- Provides a quick-access command bar with
-
Adds a
changes(diff) hover annotation to the current line annotation, which provides instant access to the line's previous version (optional, on by default)- Clicking on
Changeswill run theCompare File Revisionscommand (gitlens.diffWith) - Clicking the current and previous commit ids will run the
Show Commit Detailscommand (gitlens.showQuickCommitDetails)
- Clicking on
-
-
Adds on-demand, beautiful, highly customizable and themeable, Git blame annotations of the whole file
-
Choose between
gutter(default) andhoverannotation styles -
Contains the commit message and date, by default
-
Adds a
detailshover annotation to the line's annotation, which provides more commit details (optional, on by default)- Provides a quick-access command bar with
Open Changes,Blame Previous Revision,Open in Remote, andShow More Actionscommand buttons - Clicking the commit id will run the
Show Commit Detailscommand (gitlens.showQuickCommitDetails)
- Provides a quick-access command bar with
-
Adds a
changes(diff) hover annotation to the line's annotation, which provides instant access to the line's previous version (optional, on by default)- Clicking on
Changeswill run theCompare File Revisionscommand (gitlens.diffWith) - Clicking the current and previous commit ids will run the
Show Commit Detailscommand (gitlens.showQuickCommitDetails)
- Clicking on
-
Adds a
heatmap(age) indicator to the gutter annotations (on right edge by default), which provides an easy, at-a-glance way to tell the age of a line (optional, on by default)- Indicator ranges from bright yellow (newer) to dark brown (older)
-
Press
Escapeto quickly toggle the annotations off
-
-
Adds customizable blame information about the current line to the status bar (optional, on by default)
- Contains the commit author and date, by default
- Clicking the status bar item will, by default, show a commit details quick pick menu with commands for comparing, navigating and exploring commits, and more
- Provides customizable click behavior — choose between one of the following
- Toggle file blame annotations on and off
- Toggle code lens on and off
- Compare the line commit with the previous commit
- Compare the line commit with the working tree
- Show a quick pick menu with details and commands for the commit (default)
- Show a quick pick menu with file details and commands for the commit
- Show a quick pick menu with the commit history of the file
- Show a quick pick menu with the commit history of the current branch
-
Adds a
Toggle File Blame Annotationscommand (gitlens.toggleFileBlame) with a shortcut ofalt+bto toggle the file blame annotations on and off- Also adds a
Show File Blame Annotationscommand (gitlens.showFileBlame)
- Also adds a
-
Adds a
Toggle Line Blame Annotationscommand (gitlens.toggleLineBlame) to toggle the current line blame annotations on and off- Also adds a
Show Line Blame Annotationscommand (gitlens.showLineBlame)
- Also adds a
-
Adds on-demand, customizable and themeable, recent changes annotations of the whole file
- Highlights all of lines changed in the most recent commit
- Adds a
detailshover annotation to each line, which provides more commit details (optional, on by default)- Clicking the commit id will run the
Show Commit Detailscommand (gitlens.showQuickCommitDetails)
- Clicking the commit id will run the
- Adds a
changes(diff) hover annotation to each line, which provides instant access to the line's previous version (optional, on by default)- Clicking on
Changeswill run theCompare File Revisionscommand (gitlens.diffWith) - Clicking the current and previous commit ids will run the
Show Commit Detailscommand (gitlens.showQuickCommitDetails)
- Clicking on
- Press
Escapeto quickly toggle the annotations off
-
Adds
Toggle Recent File Changes Annotationscommand (gitlens.toggleFileRecentChanges) to toggle the recent changes annotations on and off
-
Adds code lens to the top of the file and on code blocks (optional, on by default)
- Recent Change — author and date of the most recent commit for the file or code block
- Clicking the code lens will, by default, show a commit file details quick pick menu with commands for comparing, navigating and exploring commits, and more
- Authors — number of authors of the file or code block and the most prominent author (if there is more than one)
- Clicking the code lens will, by default, toggle the file Git blame annotations on and off of the whole file
- Will be hidden if the author of the most recent commit is also the only author of the file or block, to avoid duplicate information and reduce visual noise
- Recent Change — author and date of the most recent commit for the file or code block
-
Provides customizable click behavior for each code lens — choose between one of the following
- Toggle file blame annotations on and off
- Compare the commit with the previous commit
- Show a quick pick menu with details and commands for the commit
- Show a quick pick menu with file details and commands for the commit
- Show a quick pick menu with the commit history of the file
- Show a quick pick menu with the commit history of the current branch
-
Adds a
Toggle Git Code Lenscommand (gitlens.toggleCodeLens) with a shortcut ofshift+alt+bto toggle the code lens on and off
-
Effortlessly navigate between comparisons via the
alt+,andalt+.shortcut keys to go back and forth through a file's revisions -
Provides easy access to the following comparison commands via the
Command Paletteas well as in context via the many provided quick pick menus -
Adds a
Compare Directory with Branch...command (gitlens.diffDirectory) to open the configured Git difftool to compare directories between branches -
Adds a
Compare File with Branch...command (gitlens.diffWithBranch) to compare the active file with the same file on the selected branch -
Adds a
Compare File with Next Revisioncommand (gitlens.diffWithNext) with a shortcut ofalt+.to compare the active file/diff with the next commit revision -
Adds a
Compare File with Previous Revisioncommand (gitlens.diffWithPrevious) with a shortcut ofalt+,to compare the active file/diff with the previous commit revision -
Adds a
Compare Line Revision with Previouscommand (gitlens.diffLineWithPrevious) with a shortcut ofshift+alt+,to compare the active file/diff with the previous line commit revision -
Adds a
Compare File with Revision...command (gitlens.diffWithRevision) to compare the active file with the selected revision of the same file -
Adds a
Compare File with Working Revisioncommand (gitlens.diffWithWorking) with a shortcut ofshift+alt+wto compare the most recent commit revision of the active file/diff with the working tree -
Adds a
Compare Line Revision with Workingcommand (gitlens.diffLineWithWorking) with a shortcut ofalt+wto compare the commit revision of the active line with the working tree
-
Adds a customizable
GitLenscustom view to the Explorer activity-
Repository View- provides a full repository explorer-
Repository Statusnode — provides the status of the repository- Provides the name of the current branch, optionally its working tree status, and its upstream tracking branch and status (if available)
- Provides indicator dots on the repository icon which denote the following:
None- up-to-date with the upstreamGreen- ahead of the upstreamRed- behind the upstreamYellow- both ahead of and behind the upstream
- Provides additional upstream status nodes, if the current branch is tracking a remote branch and
- is behind the upstream — quickly see and explore the specific commits behind the upstream (i.e. commits that haven't been pulled)
- is ahead of the upstream — quickly see and explore the specific commits ahead of the upstream (i.e. commits that haven't been pushed)
Changed Filesnode — provides a at-a-glance view of all "working" changes- Expands to a file-based view of all changed files in the working tree (optionally) and/or all files in all commits ahead of the upstream
- Provides a context menu with
Open Repository in Remote, andRefreshcommands
-
Branchesnode — provides a list of the local branches- Indicates which branch is the current branch and optionally shows the remote tracking branch
- Expand each branch to easily see its revision (commit) history
-
Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each changed file with
Open Changes,Open Changes with Working Tree,Open File,Open Revision,Open File in Remote,Open Revision in Remote,Apply Changes, andShow Commit File Detailscommands
- Provides a context menu on each changed file with
-
Provides a context menu on each revision (commit) with
Open Commit in Remote,Open All Changes,Open All Changes with Working Tree,Open Files,Open Revisions,Copy Commit ID to Clipboard,Copy Commit Message to Clipboard,Show Commit Details, andRefreshcommands -
Provides a context menu on each branch with
Open Branch in Remote, andRefreshcommands
-
- Provides a context menu with
Open Branches in Remote, andRefreshcommands
-
Remotesnode — provides a list of remotes- Indicates the direction of the remote (fetch, push, both), remote service (if applicable), and repository path
- Expand each remote to see its list of branches
- Expand each branch to easily see its revision (commit) history
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each changed file with
Open Changes,Open Changes with Working Tree,Open File,Open Revision,Open File in Remote,Open Revision in Remote,Apply Changes,Show File History, andShow Commit File Detailscommands
- Provides a context menu on each changed file with
- Provides a context menu on each revision (commit) with
Open Commit in Remote,Open All Changes,Open All Changes with Working Tree,Open Files,Open Revisions,Copy Commit ID to Clipboard,Copy Commit Message to Clipboard,Show Commit Details, andRefreshcommands
- Expand each revision (commit) to quickly see the set of files changed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu on each remote with
Open Branches in Remote,Open Repository in Remote, andRefreshcommands
- Expand each branch to easily see its revision (commit) history
- Provides a context menu with a
Refreshcommand
-
Stashesnode — provides a list of stashed changes- Expand each stash to quickly see the set of files stashed, complete with status indicators for adds, changes, renames, and deletes
- Provides a context menu with
Stash Changes, andRefreshcommands - Provides a context menu on each stash with
Apply Stashed Changes(confirmation required),Delete Stashed Changes(confirmation required),Open All Changes,Open All Changes with Working Tree,Open Files,Open Revisions,Copy Commit Message to Clipboard, andRefreshcommands - Provides a context menu on each stashed file with
Apply Changes,Open Changes,Open Changes with Working Tree,Open File,Open Revision,Open File in Remote, andShow File Historycommands
-
-
History View- provides the revision history of the active file- Automatically updates to track the active editor
- Provides a context menu with
Open File,Open File in Remote, andRefreshcommands - Provides a context menu on each revision (commit) with
Open Changes,Open Changes with Working Tree,Open File,Open Revision,Open File in Remote,Open Revision in Remote,Apply Changes, andShow Commit File Detailscommands
-
Quickly switch between views using the
Switch to Repository VieworSwitch to History Viewcommands -
Provides toolbar commands to
Search Commits,Switch to Repository VieworSwitch to History View, andRefresh
-
-
Adds a
Search Commitscommand (gitlens.showCommitSearch) with a shortcut ofalt+/to search for commits by message, author, file(s), or commit id -
Adds commands to open files, commits, branches, and the repository in the supported remote services, BitBucket, GitHub, GitLab, and Visual Studio Team Services or a user-defined remote services — only available if a Git upstream service is configured in the repository
- Also supports remote services with custom domains, such as BitBucket, Bitbucket Server (previously called Stash), GitHub, GitHub Enterprise, GitLab
Open Branches in Remotecommand (gitlens.openBranchesInRemote) — opens the branches in the supported remote serviceOpen Branch in Remotecommand (gitlens.openBranchInRemote) — opens the current branch commits in the supported remote serviceOpen Commit in Remotecommand (gitlens.openCommitInRemote) — opens the commit revision of the active line in the supported remote serviceOpen File in Remotecommand (gitlens.openFileInRemote) — opens the active file/revision in the supported remote serviceOpen Repository in Remotecommand (gitlens.openRepoInRemote) — opens the repository in the supported remote service
-
Adds a
Show Current Branch Historycommand (gitlens.showQuickRepoHistory) with a shortcut ofshift+alt+hto show a paged branch history quick pick menu of the current branch for exploring its commit history- Provides entries to
Show Commit SearchandOpen Branch in <remote-service>when available - Navigate back to the previous quick pick menu via
alt+left arrow, if available - Navigate pages via
alt+,andalt+.to go backward and forward respectively
- Provides entries to
-
Adds a
Show Branch Historycommand (gitlens.showQuickBranchHistory) to show a paged branch history quick pick menu of the selected branch for exploring its commit history- Provides the same features as
Show Current Branch Historyabove
- Provides the same features as
-
Adds a
Show File Historycommand (gitlens.showQuickFileHistory) to show a paged file history quick pick menu of the active file for exploring its commit history- Provides entries to
Show Branch HistoryandOpen File in <remote-service>when available - Navigate back to the previous quick pick menu via
alt+left arrow, if available - Navigate pages via
alt+,andalt+.to go backward and forward respectively
- Provides entries to
-
Adds a
Show Commit Detailscommand (gitlens.showQuickCommitDetails) to show a commit details quick pick menu of the most recent commit of the active file- Quickly see the set of files changed in the commit, complete with status indicators for adds, changes, renames, and deletes
- Provides entries to
Copy to Clipboard,Compare Directory with...,Open Changed Files,Open File in <remote-service>when available, and more - Navigate back to the previous quick pick menu via
alt+left arrow, if available - Use the
alt+right arrowshortcut on an entry to execute it without closing the quick pick menu, if possible — commands that open windows outside of VS Code will still close the quick pick menu unless"gitlens.advanced.quickPick.closeOnFocusOut": falseis set - Use the
alt+right arrowshortcut on a file entry in theChanged Filessection to preview the comparison of the current revision with the previous one
-
Adds a
Show Commit File Detailscommand (gitlens.showQuickCommitFileDetails) with a shortcut ofalt+cto show a file commit details quick pick menu of the most recent commit of the active file- Provides entries to
Show Commit Details,Show File History,Compare File with...,Copy to Clipboard,Open File,Open File in <remote-service>when available, and more - Navigate back to the previous quick pick menu via
alt+left arrow, if available - Use the
alt+right arrowshortcut on an entry to execute it without closing the quick pick menu, if possible — commands that open windows outside of VS Code will still close the quick pick menu unless"gitlens.advanced.quickPick.closeOnFocusOut": falseis set
- Provides entries to
-
Adds a
Show Repository Statuscommand (gitlens.showQuickRepoStatus) with a shortcut ofalt+sto show a repository status quick pick menu for visualizing the current repository status- Quickly see upstream status (if an Git upstream is configured) — complete with ahead and behind information
- If you are ahead of the upstream, an entry will be shown with the number of commits ahead. Choosing it will show a limited branch history quick pick menu containing just the commits ahead of the upstream
- If you are behind the upstream, an entry will be shown with the number of commits behind. Choosing it will show a limited branch history quick pick menu containing just the commits behind the upstream
- Quickly see all working changes, both staged and unstaged, complete with status indicators for adds, changes, renames, and deletes
- Provides entries to
Show Stashed Changes,Open Changed Files, andClose Unchanged Files - Use the
alt+right arrowshortcut on an entry to execute it without closing the quick pick menu, if possible — commands that open windows outside of VS Code will still close the quick pick menu unless"gitlens.advanced.quickPick.closeOnFocusOut": falseis set - Use the
alt+right arrowshortcut on a file entry in theStaged FilesorUnstaged Filessections to preview the comparison of the working file with the previous revision
- Quickly see upstream status (if an Git upstream is configured) — complete with ahead and behind information
-
Adds a
Show Stashed Changescommand (gitlens.showQuickStashList) to show a stashed changes quick pick menu for exploring your repository stash history-
Provides entries to
Stash Changes -
Navigate back to the previous quick pick menu via
alt+left arrow, if available -
Choosing a stash entry shows a stash details quick pick menu which is very similar to the commit details quick pick menu above
- Quickly see the set of files changed in the stash, complete with status indicators for adds, changes, renames, and deletes
- Provides entries to
Copy Message to Clipboard,Compare Directory with..., andOpen Changed Files - Provides entries to
Apply Stashed ChangesandDelete Stashed Changes— both require a confirmation - Navigate back to the previous quick pick menu via
alt+left arrow, if available - Use the
alt+right arrowshortcut on an entry to execute it without closing the quick pick menu, if possible — commands that open windows outside of VS Code will still close the quick pick menu unless"gitlens.advanced.quickPick.closeOnFocusOut": falseis set - Use the
alt+right arrowshortcut on a file entry in theChanged Filessection to preview the comparison of the current revision with the previous one
-
-
Adds a
Show Last Opened Quick Pickcommand (gitlens.showLastQuickPick) with a shortcut ofalt+-to quickly get back to where you were when the last GitLens quick pick menu closed 7
-
Adds a
Copy Commit ID to Clipboardcommand (gitlens.copyShaToClipboard) to copy the commit id (sha) of the active line to the clipboard or from the most recent commit to the current branch, if there is no active editor -
Adds a
Copy Commit Message to Clipboardcommand (gitlens.copyMessageToClipboard) to copy the commit message of the active line to the clipboard or from the most recent commit to the current branch, if there is no active editor -
Adds a
Open Changes (with difftool)command (gitlens.externalDiff) to the source control group and source control resource context menus to open the changes of a file or set of files with the configured git difftool -
Adds a
Open All Changes (with difftool)command (gitlens.externalDiffAll) to open all working changes with the configured git difftool- Also adds the command to the Source Control group context menu
-
Adds a
Open Changed Filescommand (gitlens.openChangedFiles) to open any files with working tree changes -
Adds a
Close Unchanged Filescommand (gitlens.closeUnchangedFiles) to close any files without working tree changes -
Adds a
Apply Stashed Changescommand (gitlens.stashApply) to chose a stash entry to apply to the working tree from a quick pick menu -
Adds a
Stash Changescommand (gitlens.stashSave) to save any working tree changes to the stash — can optionally provide a stash message- Also adds the command to the Source Control items context menu to stash an individual or group of files, works with multi-select too!
Add "gitlens.insiders": true to your settings to join the insiders channel and get early access to upcoming features. Be aware that because this provides early access expect there to be issues.
GitLens is highly customizable and provides many configuration settings to allow the personalization of almost all features
| Name | Description |
|---|---|
gitlens.defaultDateFormat |
Specifies how all absolute dates will be formatted by default See https://momentjs.com/docs/#/displaying/format/ for valid formats |
gitlens.insiders |
Opts into the insiders channel -- provides access to upcoming features |
gitlens.outputLevel |
Specifies how much (if any) output will be sent to the GitLens output channel |
| Name | Description |
|---|---|
gitlens.blame.ignoreWhitespace |
Specifies whether or not to ignore whitespace when comparing revisions during blame operations |
| Name | Description |
|---|---|
gitlens.blame.file.annotationType |
Specifies the type of blame annotations that will be shown for the current filegutter - adds an annotation to the beginning of each linehover - shows annotations when hovering over each line |
gitlens.blame.file.lineHighlight.enabled |
Specifies whether or not to highlight lines associated with the current line |
gitlens.blame.file.lineHighlight.locations |
Specifies where the associated line highlights will be showngutter - adds a gutter glyphline - adds a full-line highlight background coloroverviewRuler - adds a decoration to the overviewRuler (scroll bar) |
gitlens.annotations.file.gutter.format |
Specifies the format of the gutter blame annotations Available tokens ${id} - commit id${author} - commit author${message} - commit message${ago} - relative commit date (e.g. 1 day ago)${date} - formatted commit date (format specified by gitlens.annotations.file.gutter.dateFormat)${authorAgo} - commit author, relative commit dateSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
gitlens.annotations.file.gutter.dateFormat |
Specifies how to format absolute dates (using the ${date} token) in gutter blame annotationsSee https://momentjs.com/docs/#/displaying/format/ for valid formats |
gitlens.annotations.file.gutter.compact |
Specifies whether or not to compact (deduplicate) matching adjacent gutter blame annotations |
gitlens.annotations.file.gutter.heatmap.enabled |
Specifies whether or not to provide a heatmap indicator in the gutter blame annotations |
gitlens.annotations.file.gutter.heatmap.location |
Specifies where the heatmap indicators will be shown in the gutter blame annotationsleft - adds a heatmap indicator on the left edge of the gutter blame annotationsright - adds a heatmap indicator on the right edge of the gutter blame annotations |
gitlens.annotations.file.gutter.hover.details |
Specifies whether or not to provide a commit details hover annotation over the gutter blame annotations |
gitlens.annotations.file.gutter.hover.changes |
Specifies whether or not to provide a changes (diff) hover annotation over the gutter blame annotations |
gitlens.annotations.file.gutter.hover.wholeLine |
Specifies whether or not to trigger hover annotations over the whole line |
gitlens.annotations.file.hover.details |
Specifies whether or not to provide a commit details hover annotation over each line |
gitlens.annotations.file.hover.changes |
Specifies whether or not to provide a changes (diff) hover annotation over each line |
gitlens.annotations.file.hover.heatmap.enabled |
Specifies whether or not to provide heatmap indicators on the left edge of each line |
| Name | Description |
|---|---|
gitlens.blame.line.enabled |
Specifies whether or not to provide a blame annotation for the current line, by default Use the gitlens.toggleLineBlame command to toggle the annotations on and off for the current session |
gitlens.blame.line.annotationType |
Specifies the type of blame annotations that will be shown for the current linetrailing - adds an annotation to the end of the current linehover - shows annotations when hovering over the current line |
gitlens.annotations.line.trailing.format |
Specifies the format of the trailing blame annotations Available tokens ${id} - commit id${author} - commit author${message} - commit message${ago} - relative commit date (e.g. 1 day ago)${date} - formatted commit date (format specified by gitlens.annotations.line.trailing.dateFormat)${authorAgo} - commit author, relative commit dateSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
gitlens.annotations.line.trailing.dateFormat |
Specifies how to format absolute dates (using the ${date} token) in trailing blame annotationsSee https://momentjs.com/docs/#/displaying/format/ for valid formats |
gitlens.annotations.line.trailing.hover.details |
Specifies whether or not to provide a commit details hover annotation over the trailing blame annotations |
gitlens.annotations.line.trailing.hover.changes |
Specifies whether or not to provide a changes (diff) hover annotation over the trailing blame annotations |
gitlens.annotations.line.trailing.hover.wholeLine |
Specifies whether or not to trigger hover annotations over the whole line |
gitlens.annotations.line.hover.details |
Specifies whether or not to provide a commit details hover annotation for the current line |
gitlens.annotations.line.hover.changes |
Specifies whether or not to provide a changes (diff) hover annotation for the current line |
| Name | Description |
|---|---|
gitlens.recentChanges.file.lineHighlight.locations |
Specifies where the highlights of the recently changed lines will be showngutter - adds a gutter glyphline - adds a full-line highlight background coloroverviewRuler - adds a decoration to the overviewRuler (scroll bar) |
gitlens.annotations.file.recentChanges.hover.details |
Specifies whether or not to provide a commit details hover annotation |
gitlens.annotations.file.recentChanges.hover.changes |
Specifies whether or not to provide a changes (diff) hover annotation |
| Name | Description |
|---|---|
gitlens.codeLens.enabled |
Specifies whether or not to provide any Git code lens, by default Use the gitlens.toggleCodeLens command to toggle the Git code lens on and off for the current session |
gitlens.codeLens.recentChange.enabled |
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 |
gitlens.codeLens.recentChange.command |
Specifies the command to be executed when the recent change code lens is clickedgitlens.toggleFileBlame - toggles file blame annotationsgitlens.diffWithPrevious - compares the current committed file with the previous commitgitlens.showQuickCommitDetails - shows a commit details quick pickgitlens.showQuickCommitFileDetails - shows a commit file details quick pickgitlens.showQuickFileHistory - shows a file history quick pickgitlens.showQuickRepoHistory - shows a branch history quick pick |
gitlens.codeLens.authors.enabled |
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) |
gitlens.codeLens.authors.command |
Specifies the command to be executed when the authors code lens is clickedgitlens.toggleFileBlame - toggles file blame annotationsgitlens.diffWithPrevious - compares the current committed file with the previous commitgitlens.showQuickCommitDetails - shows a commit details quick pickgitlens.showQuickCommitFileDetails - shows a commit file details quick pickgitlens.showQuickFileHistory - shows a file history quick pickgitlens.showQuickRepoHistory - shows a branch history quick pick |
gitlens.codeLens.locations |
Specifies where Git code lens will be shown in the documentdocument - adds code lens at the top of the documentcontainers - adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)blocks - adds code lens at the start of block-like symbols (functions, methods, etc) lines |
gitlens.codeLens.customLocationSymbols |
Specifies a set of document symbols where Git code lens will or will not be shown in the document Prefix with ! to not show Git code lens for the symbolMust be a member of SymbolKind |
gitlens.codeLens.perLanguageLocations |
Specifies where Git code lens will be shown in the document for the specified languages |
| Name | Description |
|---|---|
gitlens.gitExplorer.enabled |
Specifies whether or not to show the GitLens custom view" |
gitlens.gitExplorer.view |
Specifies the starting view (mode) of the GitLens custom viewauto - shows the last selected view, defaults to repositoryhistory - shows the commit history of the active filerepository - shows a repository explorer" |
gitlens.gitExplorer.autoRefresh |
Specifies whether or not to automatically refresh the GitLens custom view when the repository or the file system changes |
gitlens.gitExplorer.files.layout |
Specifies how the GitLens custom view will display filesauto - 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 levellist - displays files as a listtree - displays files as a tree |
gitlens.gitExplorer.files.compact |
Specifies whether or not to compact (flatten) unnecessary file nesting in the GitLens custom viewOnly applies when displaying files as a tree or auto |
gitlens.gitExplorer.files.threshold |
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 custom viewOnly applies when displaying files as auto |
gitlens.gitExplorer.includeWorkingTree |
Specifies whether or not to include working tree files inside the Repository Status node of the GitLens custom view |
gitlens.gitExplorer.showTrackingBranch |
Specifies whether or not to show the tracking branch when displaying local branches in the GitLens custom view" |
gitlens.gitExplorer.commitFormat |
Specifies the format of committed changes in the GitLens custom viewAvailable tokens ${id} - commit id ${author} - commit author ${message} - commit message ${ago} - relative commit date (e.g. 1 day ago) ${date} - formatted commit date (format specified by gitlens.statusBar.dateFormat)${authorAgo} - commit author, relative commit date See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
gitlens.gitExplorer.commitFileFormat |
Specifies the format of a committed file in the GitLens custom viewAvailable tokens ${directory} - directory name ${file} - file name ${filePath} - formatted file name and path ${path} - full file path |
gitlens.gitExplorer.stashFormat |
Specifies the format of stashed changes in the GitLens custom viewAvailable tokens ${id} - commit id ${author} - commit author ${message} - commit message ${ago} - relative commit date (e.g. 1 day ago) ${date} - formatted commit date (format specified by gitlens.statusBar.dateFormat)${authorAgo} - commit author, relative commit date See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
gitlens.gitExplorer.stashFileFormat |
Specifies the format of a stashed file in the GitLens custom viewAvailable tokens ${directory} - directory name ${file} - file name ${filePath} - formatted file name and path ${path} - full file path |
gitlens.gitExplorer.statusFileFormat |
Specifies the format of the status of a working or committed file in the GitLens custom viewAvailable tokens ${directory} - directory name ${file} - file name ${filePath} - formatted file name and path ${path} - full file path ${working} - optional indicator if the file is uncommitted |
| Name | Description |
|---|---|
gitlens.remotes |
Specifies user-defined remote (code-hosting) services or custom domains for built-in remote services Example: "gitlens.remotes": [{ "domain": "git.corporate-url.com", "type": "GitHub" }]Example: "gitlens.remotes": [{ "domain": "git.corporate-url.com", "type": "Custom", "name": "My Company", "urls": { "repository": "https://git.corporate-url.com/${repo}", "branches": "https://git.corporate-url.com/${repo}/branches", "branch": "https://git.corporate-url.com/${repo}/commits/${branch}", "commit": "https://git.corporate-url.com/${repo}/commit/${id}", "file": "https://git.corporate-url.com/${repo}?path=${file}${line}", "fileInBranch": "https://git.corporate-url.com/${repo}/blob/${branch}/${file}${line}", "fileInCommit": "https://git.corporate-url.com/${repo}/blob/${id}/${file}${line}", "fileLine": "#L${line}", "fileRange": "#L${start}-L${end}" } } |
| Name | Description |
|---|---|
gitlens.statusBar.enabled |
Specifies whether or not to provide blame information on the status bar |
gitlens.statusBar.alignment |
Specifies the blame alignment in the status barleft - align to the left, right - align to the right |
gitlens.statusBar.command |
Specifies the command to be executed when the blame status bar item is clickedgitlens.toggleFileBlame - toggles file blame annotationsgitlens.diffWithPrevious - compares the current line commit with the previousgitlens.diffWithWorking - compares the current line commit with the working treegitlens.toggleCodeLens - toggles Git code lensgitlens.showQuickCommitDetails - shows a commit details quick pickgitlens.showQuickCommitFileDetails - shows a commit file details quick pickgitlens.showQuickFileHistory - shows a file history quick pickgitlens.showQuickRepoHistory - shows a branch history quick pick |
gitlens.statusBar.format |
Specifies the format of the blame information on the status bar Available tokens ${id} - commit id${author} - commit author${message} - commit message${ago} - relative commit date (e.g. 1 day ago)${date} - formatted commit date (format specified by gitlens.statusBar.dateFormat)See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
gitlens.statusBar.dateFormat |
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 |
| Name | Description |
|---|---|
gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors |
Specifies the string to be shown in place of both the recent change and authors code lens when there are unsaved changes |
gitlens.strings.codeLens.unsavedChanges.recentChangeOnly |
Specifies the string to be shown in place of the recent change code lens when there are unsaved changes |
gitlens.strings.codeLens.unsavedChanges.authorsOnly |
Specifies the string to be shown in place of the authors code lens when there are unsaved changes |
| Name | Description |
|---|---|
gitlens.theme.annotations.file.gutter.separateLines |
Specifies whether or not gutter blame annotations will have line separators |
gitlens.theme.annotations.file.gutter.dark.backgroundColor |
Specifies the dark theme background color of the gutter blame annotations |
gitlens.theme.annotations.file.gutter.light.backgroundColor |
Specifies the light theme background color of the gutter blame annotations |
gitlens.theme.annotations.file.gutter.dark.foregroundColor |
Specifies the dark theme foreground color of the gutter blame annotations |
gitlens.theme.annotations.file.gutter.light.foregroundColor |
Specifies the light theme foreground color of the gutter blame annotations |
gitlens.theme.annotations.file.gutter.dark.uncommittedForegroundColor |
Specifies the dark theme foreground color of an uncommitted line in the gutter blame annotations |
gitlens.theme.annotations.file.gutter.light.uncommittedForegroundColor |
Specifies the light theme foreground color of an uncommitted line in the gutter blame annotations |
gitlens.theme.annotations.line.trailing.dark.backgroundColor |
Specifies the dark theme background color of the trailing blame annotation |
gitlens.theme.annotations.line.trailing.light.backgroundColor |
Specifies the light theme background color of the trailing blame annotation |
gitlens.theme.annotations.line.trailing.dark.foregroundColor |
Specifies the dark theme foreground color of the trailing blame annotation |
gitlens.theme.annotations.line.trailing.light.foregroundColor |
Specifies the light theme foreground color of the trailing blame annotation |
gitlens.theme.lineHighlight.dark.backgroundColor |
Specifies the dark theme background color of the associated line highlights in blame annotations. Must be a valid css color |
gitlens.theme.lineHighlight.light.backgroundColor |
Specifies the light theme background color of the associated line highlights in blame annotations. Must be a valid css color |
gitlens.theme.lineHighlight.dark.overviewRulerColor |
Specifies the dark theme overview ruler color of the associated line highlights in blame annotations |
gitlens.theme.lineHighlight.light.overviewRulerColor |
Specifies the light theme overview ruler color of the associated line highlights in blame annotations |
| Name | Description |
|---|---|
gitlens.advanced.telemetry.enabled |
Specifies whether or not to enable GitLens telemetry (even if enabled still abides by the overall telemetry.enableTelemetry setting |
gitlens.advanced.menus |
Specifies which commands will be added to which menus |
gitlens.advanced.caching.enabled |
Specifies whether git output will be cached |
gitlens.advanced.caching.maxLines |
Specifies the threshold for caching larger documents |
gitlens.advanced.git |
Specifies the git path to use |
gitlens.advanced.maxQuickHistory |
Specifies the maximum number of QuickPick history entries to show |
gitlens.advanced.quickPick.closeOnFocusOut |
Specifies whether or not to close the QuickPick menu when focus is lost |
- If the
Copy to * clipboardcommands don't work on Linux --xclipneeds to be installed. You can install it viasudo apt-get install xclip
A big thanks to the people that have contributed to this project:
- Amanda Cameron (@AmandaCameron) — contributions)
- Chris Kaczor (@ckaczor) — contributions)
- Peng Lyu (@rebornix) — contributions)
- Aurelio Ogliari (@nobitagit) — contributions
- Johannes Rieken (@jrieken) — contributions)
- Zack Schuster (@zackschuster) — contributions
- SpaceEEC (@SpaceEEC) — contributions


















