');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;opacity:.8}.icon__chevron-down{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon__gear{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon__info{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon--sm{height:15px;width:15px;top:3px}.icon--md{height:30px;width:24px;top:12px}.icon--lg{height:36px;width:30px;top:15px}body.vscode-light{background-color:var(--color-background--darken-05)}header{grid-area:header;display:grid;grid-template-columns:auto;grid-gap:1rem;align-items:center;justify-items:center;margin:0 2em}.blurb{font-size:1.5rem;font-weight:200;color:var(--color-foreground--65);margin:1em}.blurb b{color:var(--color-foreground--85)}.vscode-light .blurb{color:var(--color-foreground--75)}.command{font-weight:600;padding:1px 3px}.command--show-view{padding:1px;margin-right:4px}.command--show-view:after{content:"";font-family:codicon;font-size:14px;font-weight:400;position:relative;top:3px;left:3px}.container{display:grid;grid-template-areas:"header header" "hero sidebar" "content sidebar";grid-template-columns:repeat(1,1fr min-content);grid-gap:1em 3em;margin:1em auto;max-width:1200px;min-width:450px}@media all and (max-width:925px){.container{grid-gap:1em 0}}.content__area{grid-area:content;font-size:1.4rem}.vscode-dark .content__area{background-color:var(--color-background--lighten-05)}.vscode-light .content__area{background-color:var(--color-background)}@media all and (max-width:925px){.content__area{grid-column:span 1}}.content__area--full-scroll{background-color:unset!important;margin-bottom:90vh}.content__area--full-scroll .section--settings{margin:0 0 1em 0}.header__link{color:var(--color-foreground);outline:0}.header__link:active,.header__link:focus,.header__link:hover{color:var(--color-foreground);outline:0}.header__logo{display:flex;flex-wrap:nowrap}.header__title{font-family:"Segoe UI Semibold",var(--font-family)}.header__title--highlight{color:#914db3}.header__subtitle{color:var(--color-foreground--65);font-family:"Segoe UI Light",var(--font-family);font-size:2rem;font-weight:100;margin:-.5em 0 0 4px;white-space:nowrap}.hero__area{grid-area:hero;color:var(--color-foreground--75);font-size:1.5rem;font-weight:200;margin:0 1em}.hero__area b{color:var(--color-foreground--85)}.hero__area--sticky{background:var(--color-background);margin:0;padding:0 0 .5rem 0;position:sticky;top:-1px;z-index:1;grid-column:span 1}.vscode-light .hero__area--sticky{background:var(--color-background--darken-05)}.hero__row{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.hero__subtitle{color:var(--color-foreground--75);font-size:1.4rem;margin:.25em 0 0 0}.hero__title{font-size:4rem;margin:0}.hero__title-actions{margin:0 1em}.hero__toolbar{flex:1 1 auto;display:flex;justify-content:flex-end;white-space:nowrap}.hero__toolbar option,.hero__toolbar select{background-color:var(--color-background)!important;margin-right:0}@media all and (max-width:925px){.hero__toolbar option,.hero__toolbar select{margin-right:unset}}.hero__toolbar-scope{flex:0 0 auto}.image__logo{margin:9px 1em 0 0;max-height:64px;max-width:64px}.image__preview{border-radius:8px;box-shadow:0 0 1px 0 rgba(0,0,0,.8),0 0 12px 1px rgba(0,0,0,.5);width:600px}.image__preview--overlay{left:0;position:absolute;top:0}.link__configure,.link__learn-more{margin-left:10px}.presets{align-items:baseline;justify-content:center;display:flex;width:100%;flex-wrap:wrap;gap:1em}.preset{text-align:center;margin:0 1em}.preset p{color:var(--color-foreground--75);display:block;font-weight:200;font-size:1.3rem;margin:-.5em 1em .5em 1em;text-align:center}.preset .image__preview{display:flex;width:auto;margin-top:1em}section{display:flex;flex-wrap:wrap;margin-bottom:1em;padding:1em}section h2{flex:1 0 auto;display:flex;margin-top:0;margin-bottom:1em}.section--full{flex-flow:column}.section--settings{flex:0 1 auto;display:flex;flex-wrap:wrap;border-radius:6px;margin:1em;padding:1em}.vscode-dark .section--settings{background:var(--color-background--lighten-075)}.vscode-light .section--settings{background:var(--color-background--darken-05)}.vscode-light .section--collapsible{background:var(--color-background)}.section--collapsible .section__header{cursor:pointer;flex:1 0 100%;margin-right:0}.section--collapsible .section__header:after{background-color:var(--color-foreground--75);content:"";height:40px;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:32px 40px;mask-size:32px 40px;position:absolute;right:0;top:0;transition:transform 250ms ease-in-out;width:32px}.section--collapsible.collapsed .section__header{margin-bottom:0}.section--collapsible.collapsed .section__header:after{transform:translateY(-9px) rotate(-180deg)}.section--collapsible.collapsed .section__header h2{margin-bottom:0}.section--collapsible.collapsed .section__collapsible{display:none}.section__collapsible{display:flex;flex-wrap:wrap}.section__content{flex:1 1 auto;display:flex;flex-flow:column wrap}.section__group{flex:1 0 100%;display:flex;flex-flow:wrap-reverse}.section__group+.section__group{margin-top:1em}.section__group.section__group--rev{flex-flow:wrap}.section__collapsible .section__group.section__group--rev .section__preview{margin-top:1em;margin-bottom:0}.section__header{display:flex;align-items:baseline;flex:0 1 auto;flex-flow:column;margin-bottom:1em;margin-right:1em;position:relative}.section__header h2{margin-bottom:0}.section__header .link__configure,.section__header .link__learn-more{visibility:hidden}.section__header:hover .link__configure,.section__header:hover .link__learn-more{visibility:visible}.section__header-hint{color:var(--color-foreground--75);font-weight:200;margin:.25em 0}.section__header-info{display:grid;grid-template-columns:auto auto;grid-gap:1em;align-items:center;color:var(--color-foreground--75);font-weight:200;margin:.25em .5em}.section__header-info p{margin:0;line-height:2rem}.section__header-info .icon{top:3px}.section__hint{flex:0 1 auto;color:var(--color-foreground--75);font-weight:200;margin:0}.section__hint *{word-break:break-word}.section__preview{flex:0 1 auto;position:relative;margin-left:auto;margin-right:auto}.section__collapsible .section__preview{margin-bottom:1em}.setting{flex:0 1 auto;position:relative;margin-right:1em}.setting input[type=checkbox]{flex:0 0 16px;height:16px;margin:0 10px 0 0;position:relative;top:3px;width:16px}.setting[disabled] label{color:var(--color-foreground--75);cursor:default}.setting--expandable .setting__expander{background-color:var(--color-foreground--75);cursor:pointer;height:16px;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:32px 28px;mask-size:32px 28px;position:relative;margin:0;transform:translate(-9px,4px) rotate(-90deg);transition:transform 250ms ease-in-out;width:32px}.setting--expandable+.settings{display:none}.setting--expandable.expanded .setting__expander{transform:translate(-4px,0)}.setting--expandable.expanded+.settings{display:unset}.setting__input{display:inline-flex;flex-wrap:nowrap;align-items:baseline;line-height:normal;margin:.5em 0}.setting__input input,.setting__input select{flex-grow:1}.setting__input input+.link__configure,.setting__input input+.link__learn-more,.setting__input select+.link__configure,.setting__input select+.link__learn-more{margin-left:0}.setting__input input:not([type]),.setting__input input[type=text]{min-width:245px}.setting__input label{flex-grow:0}.setting__input label>select{margin-top:.25em}.setting__input .link__configure,.setting__input .link__learn-more{visibility:hidden;max-height:15px}.setting__input .link__configure .icon,.setting__input .link__learn-more .icon{display:block;top:unset}.setting__input:hover .link__configure,.setting__input:hover .link__learn-more{visibility:visible}.setting__input--big{font-size:2.2rem;font-weight:200;margin:0}.setting__input--big input[type=checkbox]{flex:0 0 1.5em;height:1em;margin:0;position:relative;top:3px;left:-5px;width:1em}.setting__input--big label{white-space:nowrap}.setting__input--big .link__configure,.setting__input--big .link__learn-more{max-height:17px}.setting__input--format{display:flex}.setting__input--format input:not([type]),.setting__input--format input[type=text]{max-width:unset}.setting__input--inner-select label:nth-of-type(1){flex-shrink:0}.setting__input--inner-select label:nth-of-type(2){text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.setting__hint{color:var(--color-foreground--75);display:block;font-weight:200;font-size:1.3rem;margin:0 1em .5em 1em}.settings{flex:1 0 auto;display:flex;flex-wrap:wrap}.settings--fixed{display:block}.sidebar{grid-area:sidebar;align-self:flex-start;font-size:1.3rem;position:sticky;top:0;margin-right:-2rem;min-width:160px;z-index:2}@media all and (max-width:925px){.sidebar{display:none}}.sidebar li{white-space:nowrap}.sidebar .button{margin:0}.is-sidebar-hidden{display:none}@media all and (max-width:925px){.is-sidebar-hidden{display:initial}}.sidebar__group{margin-top:1em}.sidebar__group h2{font-size:2rem}.sidebar__group p{font-weight:400;opacity:.5;text-align:center}.sidebar__group .button{font-size:.9rem}.sidebar__jump-link.active{font-weight:700}.sidebar__jump-link.active:before{content:" ";border-left:4px solid var(--color-link-foreground--darken-20);position:absolute;left:-1em;height:1em;padding-bottom:4px}.vscode-light .sidebar__jump-link.active:before{border-left-color:var(--color-link-foreground--lighten-20)}.bold{font-weight:600}.center{text-align:center}.hidden{display:none!important}.mb-0{margin-bottom:0!important}.mb-05{margin-bottom:.5em!important}.mb-1{margin-bottom:1em!important}.mb-2{margin-bottom:2em!important}.ml-0{margin-left:0!important}.ml-1{margin-left:1em!important}.ml-2{margin-left:2em!important}.ml-3{margin-left:3em!important}.ml-4{margin-left:4em!important}.mr-0{margin-right:0!important}.mr-1{margin-right:1em!important}.mr-2{margin-right:2em!important}.mt-n1{margin-top:-1em!important}.mt-0{margin-top:0!important}.mt-05{margin-top:.5em!important}.mt-1{margin-top:1em!important}.mt-2{margin-top:2em!important}.non-interactive{cursor:default!important}.nowrap{white-space:nowrap!important}.vscode-dark .light{display:none}.vscode-light .dark{display:none}.popup{box-shadow:0 0 28px 0 rgba(0,0,0,.5);cursor:default;padding:1em;position:absolute;top:72px;width:80vw;min-width:373px;max-width:472px;z-index:1}.popup:before{background:rgba(0,0,0,0);border:12px solid transparent;content:"";left:50%;position:absolute;pointer-events:none;top:-24px;z-index:1001}.vscode-light .popup:before{border-bottom-color:var(--color-background--darken-05)}.vscode-dark .popup:before{border-bottom-color:var(--color-background--lighten-075)}.vscode-light .popup{background:var(--color-background--darken-05)}.vscode-dark .popup{background:var(--color-background--lighten-075)}.token-popup__scroller{margin-right:-.4em;max-height:35vh;overflow-y:scroll;padding-right:.4em}.token-popup__hint{color:var(--color-foreground--75);display:inline-block;font-weight:200;margin:1.25em .5em 0 .25em}.token-popup__title{color:var(--color-foreground);font-weight:400;margin:.25em 0 1em 0;text-align:center}.token-popup__table{border-collapse:collapse;color:var(--color-foreground--75);table-layout:fixed}.vscode-light .token-popup__table tr:nth-child(even){background-color:rgba(0,0,0,.05)}.vscode-dark .token-popup__table tr:nth-child(even){background-color:rgba(255,255,255,.04)}.token-popup__table td{padding:6px}.token-popup__table td i{opacity:.6}.token-popup__table td:first-child{padding:6px 12px}.token-popup__table td:last-child{padding-right:12px;text-align:end}.token{background:var(--color-link-foreground--darken-20);border-bottom:2px solid var(--color-link-foreground--darken-20);border-radius:3px;color:#fff;cursor:pointer;display:inline-block;padding:1px 8px!important}.token:before{content:"${"}.token:after{content:"}"}.vscode-light .token{background:var(--color-link-foreground--lighten-20);border-bottom-color:var(--color-link-foreground--lighten-20)}
Git supercharged
For advanced customizations, refer to the GitLens docs and edit your User Settings
Adds an unobtrusive blame annotation at the end of the current line
Use the GitLens: Toggle Line Blame Annotations command to override this setting for the current window
When enabled the annotation can be scrolled into view when it is outside the viewport.
Setting this to false
will inhibit the hovers from showing over the annotation; Set gitlens.hovers.currentLine.over
to line
to enable the hovers to show anywhere over the line.
For more options, open Settings and search for gitlens.currentLine
Adds authorship CodeLens to the top of files and on code blocks
Use the GitLens: Toggle Git CodeLens command to override this setting for the current window
At the top of the file
At the start of modules, classes, interfaces, etc
At the start of functions, methods, etc
For more options, open Settings and search for gitlens.codeLens
Avoids clearing the previous blame information when changing lines to reduce status bar "flashing"
For more options, open Settings and search for gitlens.statusBar
GitLens views can be configured to be shown in different side bar layouts to best match your workflow
You can also simply drag & drop individual views to create custom layouts
Adds a Commits view to visualize, explore, and manage Git commits
Requires a connection to a supported remote service (e.g. GitHub)
Chooses the best layout based on the number of files at each nesting level
Compacts (flattens) unnecessary nesting when using a tree layouts
For more options, open Settings and search for gitlens.views.commits or gitlens.views
Adds a Repositories view, hidden by default, to visualize, explore, and manage Git repositories
Requires a connection to a supported remote service (e.g. GitHub)
Chooses the best layout based on the number of files at each nesting level
Compacts (flattens) unnecessary nesting when using a tree layouts
For more options, open Settings and search for gitlens.views.repositories or gitlens.views
Adds a File History view to visualize, navigate, and explore the revision history of the current file, a specified file or folder, or just the selected lines of the current file
Chooses the best layout based on the number of files at each nesting level
Compacts (flattens) unnecessary nesting when using a tree layouts
For more options, open Settings and search for gitlens.views.fileHistory or gitlens.views
Adds a Line History view, hidden by default, to visualize, navigate, and explore the revision history of the selected lines of current file
For more options, open Settings and search for gitlens.views.lineHistory or gitlens.views
Adds a Branches view to visualize, explore, and manage Git branches
Requires a connection to a supported remote service (e.g. GitHub)
Chooses the best layout based on the number of files at each nesting level
Compacts (flattens) unnecessary nesting when using a tree layouts
For more options, open Settings and search for gitlens.views.branches or gitlens.views
Adds a Remotes view to visualize, explore, and manage Git remotes and remote branches
Requires a connection to a supported remote service (e.g. GitHub)
Chooses the best layout based on the number of files at each nesting level
Compacts (flattens) unnecessary nesting when using a tree layouts
For more options, open Settings and search for gitlens.views.remotes or gitlens.views
Adds a Stashes view to visualize, explore, and manage Git stashes
Chooses the best layout based on the number of files at each nesting level
Compacts (flattens) unnecessary nesting when using a tree layouts
For more options, open Settings and search for gitlens.views.stashes or gitlens.views
Adds a Worktrees view to visualize, explore, and manage Git worktrees
Can be configured on a per-workspace or per-folder basis
Requires a connection to a supported remote service (e.g. GitHub)
Chooses the best layout based on the number of files at each nesting level
Compacts (flattens) unnecessary nesting when using a tree layouts
For more options, open Settings and search for gitlens.views.worktrees or gitlens.views
Adds a Contributors view, hidden by default, to visualize, navigate, and explore contributors
Requires a connection to a supported remote service (e.g. GitHub)
Chooses the best layout based on the number of files at each nesting level
Compacts (flattens) unnecessary nesting when using a tree layouts
For more options, open Settings and search for gitlens.views.contributors or gitlens.views
Adds a Search & Compare view to search and explore commit histories by message, author, files, id, etc, or visualize comparisons between branches, tags, commits, and more
Requires a connection to a supported remote service (e.g. GitHub)
Compacts (flattens) unnecessary nesting when using a tree layouts
For more options, open Settings and search for gitlens.views.searchAndCompare or gitlens.views
Adds on-demand gutter blame annotations for the whole file
Use the
command to turn the annotations on or offPress Esc to turn off the annotations
Indicator color reflects the age of the most recent change (hot or cold), while indicator brightness ranges from bright (newer) to dim (older) based on the relative age
Compacts (deduplicates) matching adjacent blame annotations
For more options, open Settings and search for gitlens.blame
Adds on-demand gutter changes annotations to highlight any local (unpublished) changes or lines changed by the most recent commit
Use the
command to turn the annotations on or offPress Esc to turn off the annotations
For more options, open Settings and search for gitlens.changes
Adds on-demand heatmap (age) indicator to the edge of the gutter to show how recently lines were changed
Use the
command to turn the annotations on or offPress Esc to turn off the annotations
Indicator color reflects the age of the most recent change (hot or cold), while indicator brightness ranges from bright (newer) to dim (older) based on the relative age
For more options, open Settings and search for gitlens.heatmap
system
for the system locale, or a locale language tag, e.g. en-USFor more options, open Settings and search for gitlens.default
Search for gitlens in the Keyboard Shortcuts editor to see the shortcuts and to customize them further
Supports user-defined modes for quickly toggling between sets of settings
Use the GitLens: Switch Mode command to quickly switch the active mode
Use the GitLens: Toggle Review Mode command to toggle Review mode
Use the GitLens: Toggle Zen Mode command to toggle Zen mode
For more options or to add your own custom modes, open Settings and search for gitlens.modes
Commit SHA | id |
Commit Author | author |
Commit Author (except you) | authorNotYou |
Commit Author E-mail | |
Commit Message | message |
Commit or Authored Date Relative, e.g. 1 day ago Committed vs Authored based on setting | ago |
Commit or Authored Date Absolute, e.g. August 8th, 2016 10:48am Committed vs Authored based on setting | date |
Commit or Authored Date Relative or absolute based on date setting Committed vs Authored based on setting | agoOrDate |
Commit or Authored Date (Short) Short relative or absolute based on date setting Committed vs Authored based on setting | agoOrDateShort |
Authored Date Relative date | authorAgo |
Authored Date Absolute, e.g. August 8th, 2016 10:48am | authorDate |
Authored Date Relative or absolute date based on date setting | authorAgoOrDate |
Authored Date (Short) Short relative or absolute date based on date setting | authorAgoOrDateShort |
Commit Date Relative date | committerAgo |
Commit Date Absolute, e.g. August 8th, 2016 10:48am | committerDate |
Commit Date Relative or absolute date based on date setting | committerAgoOrDate |
Commit Date (Short) Short relative or absolute date based on date setting | committerAgoOrDateShort |
Branch & Tag Tips Indicates if the commit is a tip of any branches or tags | tips |
Changes Indicator Indicates adds, changes, renames, and deletes e.g +1 ~3 -0 | changes |
Changes Indicator (short) Indicates adds, changes, renames, and deletes e.g +1~3 | changesShort |
Pull Request Pull request (if any) that introduced the commit | pullRequest |
Pull Request State State (open, merged, closed) of the pull request (if any) that introduced the commit | pullRequestState |