Eric Amodio 4160234962 | 7 år sedan | ||
---|---|---|---|
.vscode | 删除 | 7 år sedan | |
images | 删除 | 7 år sedan | |
src | 删除 | 7 år sedan | |
test | 删除 | 8 år sedan | |
.gitignore | 8 år sedan | ||
.vscodeignore | 7 år sedan | ||
CHANGELOG.md | 7 år sedan | ||
ISSUE_TEMPLATE.md | 7 år sedan | ||
LICENSE | 8 år sedan | ||
README.md | 7 år sedan | ||
package-lock.json | 7 år sedan | ||
package.json | 7 år sedan | ||
tsconfig.json | 7 år sedan | ||
tslint.json | 7 år sedan |
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.
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 details
hover annotation to the current line annotation, which provides more commit details (optional, on by default)
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)
Adds on-demand, beautiful, highly customizable and themeable, Git blame annotations of the whole file
gutter
(default) and hover
annotation stylesdetails
hover annotation to the line's annotation, which provides more commit details (optional, on by default)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)
Escape
to quickly toggle the annotations offAdds customizable blame information about the current line to the status bar (optional, on by default)
Adds a Toggle File Blame Annotations
command (gitlens.toggleFileBlame
) with a shortcut of alt+b
to toggle the file blame annotations on and off
Show File Blame Annotations
command (gitlens.showFileBlame
)Adds a Toggle Line Blame Annotations
command (gitlens.toggleLineBlame
) to toggle the current line blame annotations on and off
Show Line Blame Annotations
command (gitlens.showLineBlame
)Adds on-demand, customizable and themeable, recent changes annotations of the whole file
details
hover annotation to each line, which provides more commit details (optional, on by default)changes
(diff) hover annotation to each line, which provides instant access to the line's previous version (optional, on by default)Escape
to quickly toggle the annotations offAdds Toggle Recent File Changes Annotations
command (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)
Provides customizable click behavior for each code lens — choose between one of the following
Adds a Toggle Git Code Lens
command (gitlens.toggleCodeLens
) with a shortcut of shift+alt+b
to toggle the code lens on and off
Effortlessly navigate between comparisons via the alt+,
and alt+.
shortcut keys to go back and forth through a file's revisions
Provides easy access to the following comparison commands via the Command Palette
as well as in context via the many provided quick pick menus
Adds a Directory Compare
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 Commit
command (gitlens.diffWithNext
) with a shortcut of alt+.
to compare the active file/diff with the next commit revision
Adds a Compare File with Previous
command (gitlens.diffWithPrevious
) with a shortcut of alt+,
to compare the active file/diff with the previous commit revision
Adds a Compare Line Commit with Previous
command (gitlens.diffLineWithPrevious
) with a shortcut of shift+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 Tree
command (gitlens.diffWithWorking
) with a shortcut of shift+alt+w
to compare the most recent commit revision of the active file/diff with the working tree
Adds a Compare Line Commit with Working Tree
command (gitlens.diffLineWithWorking
) with a shortcut of alt+w
to compare the commit revision of the active line with the working tree
Adds a Git Stashes
explorer to the Explorer activity (optional, off by default)
Stash Changes
and Refresh
Apply Stashed Changes
and Delete Stashed Changes
commands — both require a confirmationOpen Changes
, Open File
, Open Stashed File
, Open File in Remote
, and Compare File with Working Tree
commandsAdds a Search Commits
command (gitlens.showCommitSearch
) with a shortcut of alt+/
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, currently BitBucket, GitHub, GitLab, and Visual Studio Team Services — only available if a Git upstream service is configured in the repository
Open Branch in Remote
command (gitlens.openBranchInRemote
) — opens the current branch commits in the supported remote serviceOpen Commit in Remote
command (gitlens.openCommitInRemote
) — opens the commit revision of the active line in the supported remote serviceOpen File in Remote
command (gitlens.openFileInRemote
) — opens the active file/revision in the supported remote serviceOpen Repository in Remote
command (gitlens.openRepoInRemote
) — opens the repository in the supported remote serviceAdds a Show Current Branch History
command (gitlens.showQuickRepoHistory
) with a shortcut of shift+alt+h
to show a paged branch history quick pick menu of the current branch for exploring its commit history
Show Commit Search
and Open Branch in <remote-service>
when availablealt+left arrow
, if availablealt+,
and alt+.
to go backward and forward respectivelyAdds a Show Branch History
command (gitlens.showQuickBranchHistory
) to show a paged branch history quick pick menu of the selected branch for exploring its commit history
Show Current Branch History
aboveAdds a Show File History
command (gitlens.showQuickFileHistory
) to show a paged file history quick pick menu of the active file for exploring its commit history
Show Branch History
and Open File in <remote-service>
when availablealt+left arrow
, if availablealt+,
and alt+.
to go backward and forward respectivelyAdds a Show Commit Details
command (gitlens.showQuickCommitDetails
) to show a commit details quick pick menu of the most recent commit of the active file
Copy to Clipboard
, Directory Compare
, Open Changed Files
, Open File in <remote-service>
when available, and morealt+left arrow
, if availablealt+right arrow
shortcut 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": false
is setalt+right arrow
shortcut on a file entry in the Changed Files
section to preview the comparison of the current revision with the previous oneAdds a Show Commit File Details
command (gitlens.showQuickCommitFileDetails
) with a shortcut of alt+c
to show a file commit details quick pick menu of the most recent commit of the active file
Show Commit Details
, Show File History
, Compare File with...
, Copy to Clipboard
, Open File
, Open File in <remote-service>
when available, and morealt+left arrow
, if availablealt+right arrow
shortcut 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": false
is setAdds a Show Repository Status
command (gitlens.showQuickRepoStatus
) with a shortcut of alt+s
to show a repository status quick pick menu for visualizing the current repository status
Show Stashed Changes
, Open Changed Files
, and Close Unchanged Files
alt+right arrow
shortcut 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": false
is setalt+right arrow
shortcut on a file entry in the Staged Files
or Unstaged Files
sections to preview the comparison of the working file with the previous revisionAdds a Show Stashed Changes
command (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
Copy Message to Clipboard
, Directory Compare
, and Open Changed Files
Apply Stashed Changes
and Delete Stashed Changes
— both require a confirmationalt+left arrow
, if availablealt+right arrow
shortcut 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": false
is setalt+right arrow
shortcut on a file entry in the Changed Files
section to preview the comparison of the current revision with the previous oneAdds a Show Last Opened Quick Pick
command (gitlens.showLastQuickPick
) with a shortcut of alt+-
to quickly get back to where you were when the last GitLens quick pick menu closed
Adds a Open File History Explorer
command (gitlens.showFileHistory
) to show a file history explorer (peek style) to visualize the history of a file
Adds a Open Blame History Explorer
command (gitlens.showBlameHistory
) to show a blame history explorer (peek style) to visualize the blame history of a file or code block
Adds a Copy Commit ID to Clipboard
command (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 Clipboard
command (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 Changed Files
command (gitlens.openChangedFiles
) to open any files with working tree changes
Adds a Close Unchanged Files
command (gitlens.closeUnchangedFiles
) to close any files without working tree changes
Adds a Apply Stashed Changes
command (gitlens.stashApply
) to chose a stash entry to apply to the working tree from a quick pick menu
Adds a Stash Changes
command (gitlens.stashSave
) to save any working tree changes to the stash — can optionally provide a stash message
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\nSee 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.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.wholeLine |
Specifies whether or not to trigger hover annotations over the whole line |
gitlens.annotations.file.hover.heatmap.enabled |
Specifies whether or not to provide heatmap indicators on the left edge of each line |
gitlens.annotations.file.hover.wholeLine |
Specifies whether or not to trigger hover annotations over the whole 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 |
gitlens.annotations.file.recentChanges.hover.wholeLine |
Specifies whether or not to trigger hover annotations over the whole line |
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.showBlameHistory - opens the blame history explorergitlens.showFileHistory - opens the file history explorergitlens.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.showBlameHistory - opens the blame history explorergitlens.showFileHistory - opens the file history explorergitlens.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, properties, etc) linescustom - adds code lens at the start of symbols contained in gitlens.codeLens.locationCustomSymbols |
gitlens.codeLens.customLocationSymbols |
Specifies the set of document symbols where Git code lens will be shown in the document |
gitlens.codeLens.perLanguageLocations |
Specifies where Git code lens will be shown in the document for the specified languages |
Name | Description |
---|---|
gitlens.stashExplorer.enabled |
Specifies whether or not to show the Git Stashes explorer |
gitlens.stashExplorer.stashFormat |
Specifies the format of stashed changes in the Git Stashes explorer 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 )${authorAgo} - commit author, relative commit date See https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting |
gitlens.stashExplorer.stashFileFormat |
Specifies the format of a stashed file in the Git Stashes explorer Available tokens ${file} - file name ${path} - file path |
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.showBlameHistory - opens the blame history explorergitlens.showFileHistory - opens the file history explorergitlens.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 be separated by a small gap |
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.file.hover.separateLines |
Specifies whether or not hover blame annotations will be separated by a small gap (if heatmap is enabled) |
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.toggleWhitespace.enabled |
Specifies whether or not to toggle whitespace off then showing blame annotations (may be required by certain fonts/themes) |
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.gitignore.enabled |
Specifies whether or not to parse the root .gitignore file for better performance (i.e. avoids blaming excluded files) |
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 |
Copy to * clipboard
commands don't work on Linux -- xclip
needs to be installed. You can install it via sudo apt-get install xclip
expanded
and compact
blame annotation styles when using a non-monospace font -- set "gitlens.advanced.toggleWhitespace.enabled": true
if you are using a non-monospace fontA big thanks to the people that have contributed to this project: