-
Notifications
You must be signed in to change notification settings - Fork 9
Extension Settings
This extension contributes the following settings:
Automatically center the Commit Details View when it is opened
- Setting:
git-graph.commitDetailsView.autoCenter
- Default:
true
- Type: Boolean
Render the File Tree in the Commit Details View in a compacted form, such that folders with a single child folder are compressed into a single combined folder element.
- Setting:
git-graph.commitDetailsView.fileView.fileTree.compactFolders
- Default:
true
- Type: Boolean
Sets the default type of File View used in the Commit Details View. This can be overridden per repository using the controls on the right side of the Commit Details View.
- Setting:
git-graph.commitDetailsView.fileView.type
- Default:
File Tree
- Options:
-
File Tree
: Display files in a tree structure. -
File List
: Display files in a list (useful for repositories with deep folder structures).
-
Specifies where the Commit Details View is rendered in the Git Graph View.
- Setting:
git-graph.commitDetailsView.location
- Default:
Inline
- Options:
-
Inline
: Show the Commit Details View inline with the graph & commits. -
Docked to Bottom
: Show the Commit Details View docked to the bottom of the Git Graph View.
-
Customise which context menu actions are visible. For example, if you want to hide the rebase action from the branch context menu, a suitable value for this setting is { "branch": { "rebase": false } }
.
- Setting:
git-graph.contextMenuActionsVisibility
- Type:
object
Click to show the default value of this configuration setting.
{
"branch": {
"checkout": true,
"rename": true,
"delete": true,
"merge": true,
"rebase": true,
"push": true,
"createPullRequest": true,
"createArchive": true,
"selectInBranchesDropdown": true,
"unselectInBranchesDropdown": true,
"copyName": true
},
"commit": {
"addTag": true,
"createBranch": true,
"checkout": true,
"cherrypick": true,
"revert": true,
"drop": true,
"merge": true,
"rebase": true,
"reset": true,
"copyHash": true,
"copySubject": true
},
"remoteBranch": {
"checkout": true,
"delete": true,
"fetch": true,
"merge": true,
"pull": true,
"createPullRequest": true,
"createArchive": true,
"selectInBranchesDropdown": true,
"unselectInBranchesDropdown": true,
"copyName": true
},
"stash": {
"apply": true,
"createBranch": true,
"pop": true,
"drop": true,
"copyName": true,
"copyHash": true
},
"tag": {
"viewDetails": true,
"delete": true,
"push": true,
"createArchive": true,
"copyName": true
},
"uncommittedChanges": {
"stash": true,
"reset": true,
"clean": true,
"openSourceControlView": true
}
}
An array of Custom Branch Glob Patterns to be shown in the 'Branches' dropdown.
- Setting:
git-graph.customBranchGlobPatterns
- Default:
[]
- Type: Array
- Example:
[{"name": "Feature Requests", "glob": "heads/feature/*"}]
An array of custom Emoji Shortcode mappings
- Setting:
git-graph.customEmojiShortcodeMappings
- Default:
[]
- Type: Array
- Example:
[{"shortcode": ":sparkles:", "emoji":"✨"}]
An array of custom Pull Request providers that can be used in the "Pull Request Creation" Integration. For information on how to configure this setting, see the documentation here.
- Setting:
git-graph.customPullRequestProviders
- Default:
[]
- Type: Array
- Example: See the documentation here.
Specifies the date format to be used in the "Date" column on the Git Graph View.
- Setting:
git-graph.date.format
- Default:
Date & Time
- Options:
-
Date & Time
: Show the date and time (e.g. "24 Mar 2019 21:34") -
Date Only
: Show the date only (e.g. "24 Mar 2019") -
ISO Date & Time
: Show the ISO date and time (e.g. "2019-03-24 21:34") -
ISO Date Only
: Show the ISO date only (e.g. "2019-03-24") -
Relative
: Show relative times (e.g. "5 minutes ago")
-
Specifies the date type to be displayed in the "Date" column on the Git Graph View.
- Setting:
git-graph.date.type
- Default:
Author Date
- Options:
-
Author Date
: Use the author date of a commit. -
Commit Date
: Use the committer date of a commit.
-
Keeps the header visible when the view is scrolled.
- Setting:
git-graph.stickyHeader
- Default:
true
- Type: boolean
An object specifying the default visibility of the Date, Author & Commit columns. Each columns visibility is defined by a boolean, such that true
=> visible, and false
=> hidden.
- Setting:
git-graph.defaultColumnVisibility
- Default:
{"Date": true, "Author": true, "Commit": true}
- Type: Object
-
Date
: boolean -
Author
: boolean -
Commit
: boolean
-
Set the default options on the following dialogs:
- Add Tag Dialog
- Default state of the field indicating whether the tag should be pushed to a remote once it is added.
- Setting:
git-graph.dialog.addTag.pushToRemote
- Default:
false
- Type: Boolean
- Setting:
- Default type of the tag being added.
- Setting:
git-graph.dialog.addTag.type
- Default:
Annotated
- Type:
Annotated
|Lightweight
- Setting:
- Default state of the field indicating whether the tag should be pushed to a remote once it is added.
- Apply Stash Dialog
- Default state of the "Reinstate Index" checkbox.
- Setting:
git-graph.dialog.applyStash.reinstateIndex
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Reinstate Index" checkbox.
- Cherry Pick Dialog
- Default state of the "Record Origin" checkbox.
- Setting:
git-graph.dialog.cherryPick.recordOrigin
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "No Commit" checkbox.
- Setting:
git-graph.dialog.cherryPick.noCommit
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Record Origin" checkbox.
- Create Branch Dialog
- Default state of the "Check out" checkbox.
- Setting:
git-graph.dialog.createBranch.checkOut
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Check out" checkbox.
- Delete Branch Dialog
- Default state of the "Force Delete" checkbox.
- Setting:
git-graph.dialog.deleteBranch.forceDelete
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Force Delete" checkbox.
- Fetch into Local Branch Dialog
- Default state of the "Force Fetch" checkbox.
- Setting:
git-graph.dialog.fetchIntoLocalBranch.forceFetch
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Force Fetch" checkbox.
- Fetch Remote Dialog
- Default state of the "Prune" checkbox.
- Setting:
git-graph.dialog.fetchRemote.prune
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Prune Tags" checkbox.
- Setting:
git-graph.dialog.fetchRemote.pruneTags
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Prune" checkbox.
- Merge Dialog
- Default state of the "No Commit" checkbox.
- Setting:
git-graph.dialog.merge.noCommit
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Create a new commit even if fast-forward is possible" checkbox.
- Setting:
git-graph.dialog.merge.noFastForward
- Default:
true
- Type: Boolean
- Setting:
- Default state of the "Squash Commits" checkbox.
- Setting:
git-graph.dialog.merge.squashCommits
- Default:
false
- Type: Boolean
- Setting:
- The message format used for the squashed commit (when the "Squash Commits" option is selected).
- Setting:
git-graph.dialog.merge.squashMessageFormat
- Default:
Default
- Type:
Default
|Git SQUASH_MSG
- Setting:
- Default state of the "No Commit" checkbox.
- Pop Stash Dialog
- Default state of the "Reinstate Index" checkbox.
- Setting:
git-graph.dialog.popStash.reinstateIndex
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Reinstate Index" checkbox.
- Pull Branch Dialog
- Default state of the "Create a new commit even if fast-forward is possible" checkbox.
- Setting:
git-graph.dialog.pullBranch.noFastForward
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Squash Commits" checkbox.
- Setting:
git-graph.dialog.pullBranch.squashCommits
- Default:
false
- Type: Boolean
- Setting:
- The message format used for the squashed commit (when the "Squash Commits" option is selected).
- Setting:
git-graph.dialog.pullBranch.squashMessageFormat
- Default:
Default
- Type:
Default
|Git SQUASH_MSG
- Setting:
- Default state of the "Create a new commit even if fast-forward is possible" checkbox.
- Rebase Dialog
- Default state of the "Ignore Date (non-interactive rebase only)" checkbox.
- Setting:
git-graph.dialog.rebase.ignoreDate
- Default:
true
- Type: Boolean
- Setting:
- Default state of the "Launch Interactive Rebase in new Terminal" checkbox.
- Setting:
git-graph.dialog.rebase.launchInteractiveRebase
- Default:
false
- Type: Boolean
- Setting:
- Default state of the "Ignore Date (non-interactive rebase only)" checkbox.
- Reset Current Branch to Commit Dialog
- Default mode to be used for the reset action.
- Setting:
git-graph.dialog.resetCurrentBranchToCommit.mode
- Default:
Mixed
- Type:
Soft
|Mixed
|Hard
- Setting:
- Default mode to be used for the reset action.
- Reset Uncommitted Changes Dialog
- Default mode to be used for the reset action.
- Setting:
git-graph.dialog.resetUncommittedChanges.mode
- Default:
Mixed
- Type:
Mixed
|Hard
- Setting:
- Default mode to be used for the reset action.
- Stash Uncommitted Changes Dialog
- Default state of the "Include Untracked" checkbox.
- Setting:
git-graph.dialog.stashUncommittedChanges.includeUntracked
- Default:
true
- Type: Boolean
- Setting:
- Default state of the "Include Untracked" checkbox.
General configuration that applies across all dialogs:
- Reference Input Space Substitution
- Specifies a substitution that is automatically performed when space characters are entered or pasted into reference inputs on dialogs (e.g. Create Branch, Add Tag, etc.).
- Setting:
git-graph.dialog.general.referenceInputSpaceSubstitution
- Default:
None
- Options:
-
None
: Don't replace spaces. -
Hyphen
: Replace space characters with hyphens, for example: "new branch" -> "new-branch". -
Underscore
: Replace space characters with underscores, for example: "new branch" -> "new_branch".
-
Visual file change A|M|D|R|U indicators in the Commit Details View for users with colour blindness. In the future, this setting will enable any additional accessibility related features of Git Graph that aren't enabled by default.
- Setting:
git-graph.enhancedAccessibility
- Default:
false
(disabled) - Type: Boolean
The character set encoding used when retrieving a specific version of repository files (e.g. in the Diff View). A list of all supported encodings can be found here.
- Setting:
git-graph.fileEncoding
- Default:
utf8
- Type: String
Specifies the colours used on the graph.
- Setting:
git-graph.graph.colours
- Default:
["#0085d9", "#d9008f", "#00d90a", "#d98500", "#a300d9", "#ff0000", "#00d9cc", "#e138e8", "#85d900", "#dc5b23", "#6f24d6", "#ffcc00" ]
- Type: Array of HEX or RGB colours
Specifies the style of the transitions between branches on the graph.
Rounded | Angular |
---|---|
- Setting:
git-graph.graph.style
- Default:
rounded
- Options:
-
rounded
: Use smooth curves when transitioning between branches on the graph. -
angular
: Use angular lines when transitioning between branches on the graph.
-
Specifies how the Uncommitted Changes are displayed on the graph.
Open Circle at the Uncommitted Changes | Open Circle at the Checked Out Commit |
---|---|
- Setting:
git-graph.graph.uncommittedChanges
- Default:
Open Circle at the Uncommitted Changes
- Options:
-
Open Circle at the Uncommitted Changes
: Display the Uncommitted Changes as a grey open circle, connected to the commit referenced by HEAD with a solid grey line. The current file system's state is therefore always displayed as an open circle. -
Open Circle at the Checked Out Commit
: Display the Uncommitted Changes as a grey closed circle, connected to the commit referenced by HEAD with a dotted grey line. The commit referenced by HEAD is therefore always displayed as an open circle.
-
Specifies the path and filename of the Shell executable to be used by the Visual Studio Code Integrated Terminal, when it is opened by Git Graph. For example, to use Git Bash on Windows this setting would commonly be set to C:\Program Files\Git\bin\bash.exe
. If this setting is left blank, the default Shell is used.
- Setting:
git-graph.integratedTerminalShell
- Default: ""
- Type: String
- For security reasons, this setting can only be specified in the User Settings, not in the Workspace Settings.
The keybinding for the keyboard shortcut that opens the Find Widget in the Git Graph View.
- Setting:
git-graph.keyboardShortcut.find
- Default:
CTRL/CMD + F
- Type: Enum
CTRL/CMD + [A-Z]
The keybinding for the keyboard shortcut that refreshes the Git Graph View.
- Setting:
git-graph.keyboardShortcut.refresh
- Default:
CTRL/CMD + R
- Type: Enum
CTRL/CMD + [A-Z]
The keybinding for the keyboard shortcut that scrolls the Git Graph View to be centered on the commit referenced by HEAD.
- Setting:
git-graph.keyboardShortcut.scrollToHead
- Default:
CTRL/CMD + H
- Type: Enum
CTRL/CMD + [A-Z]
The keybinding for the keyboard shortcut that scrolls the Git Graph View to the first (or next) stash in the loaded commits. The Shift Key Modifier can be applied to this keybinding to scroll the Git Graph View to the last (or previous) stash in the loaded commits.
- Setting:
git-graph.keyboardShortcut.scrollToStash
- Default:
CTRL/CMD + S
- Type: Enum
CTRL/CMD + [A-Z]
Parse and render a frequently used subset of inline Markdown formatting rules in commit messages and tag details (bold, italics, bold & italics, and inline code blocks).
- Setting:
git-graph.markdown
- Default:
true
- Type: Boolean
Specifies the maximum depth of subfolders to search when discovering repositories in the workspace.
- Setting:
git-graph.maxDepthOfRepoSearch
- Default:
0
(don't search subfolders) - Type: Positive Integer
Note: Sub-repos are not automatically detected when searching subfolders, however they can be manually added by running the command "Git Graph: Add Git Repository" in the Command Palette.
Specifies the Editor Group where Git Graph should open new tabs, when performing the following actions from the Git Graph View: Viewing the Visual Studio Code Diff View, Opening a File, Viewing a File at a Specific Revision.
- Setting:
git-graph.openNewTabEditorGroup
- Default:
Active
- Options:
-
Active
: Open the new tab in the Active Editor Group. -
Beside
: Open the new tab beside the Active Editor Group. -
One
: Open the new tab in the First Editor Group. -
Two
: Open the new tab in the Second Editor Group. -
Three
: Open the new tab in the Third Editor Group. -
Four
: Open the new tab in the Fourth Editor Group. -
Five
: Open the new tab in the Fifth Editor Group. -
Six
: Open the new tab in the Sixth Editor Group. -
Seven
: Open the new tab in the Seventh Editor Group. -
Eight
: Open the new tab in the Eighth Editor Group. -
Nine
: Open the new tab in the Ninth Editor Group.
-
Open the Git Graph View to the repository containing the active Text Editor document.
- Setting:
git-graph.openToTheRepoOfTheActiveTextEditorDocument
- Default:
false
- Type: Boolean
Specifies how branch and tag reference labels are aligned for each commit.
- Setting:
git-graph.referenceLabels.alignment
- Default:
Normal
- Options:
-
Normal
: Show branch & tag labels on the left of the commit message in the 'Description' column. -
Branches (on the left) & Tags (on the right)
: Show branch labels on the left of the commit message in the 'Description' column, and tag labels on the right. -
Branches (aligned to the graph) & Tags (on the right)
: Show branch labels aligned to the graph in the 'Graph' column, and tag labels on the right in the 'Description' column.
-
Combine local and remote branch labels if they refer to the same branch, and are on the same commit.
- Setting:
git-graph.referenceLabels.combineLocalAndRemoteBranchLabels
- Default:
true
- Type: Boolean
Fetch avatars of commit authors and committers. By enabling this setting, you consent to commit author and committer email addresses being sent GitHub, GitLab or Gravatar, depending on the repositories remote origin.
- Setting:
git-graph.repository.commits.fetchAvatars
- Default:
false
(disabled) - Type: Boolean
Specifies the number of commits to initially load.
- Setting:
git-graph.repository.commits.initialLoad
- Default:
300
- Type: Positive Integer
Specifies the number of additional commits to load when the "Load More Commits" button is pressed, or more commits are automatically loaded.
- Setting:
git-graph.repository.commits.loadMore
- Default:
100
- Type: Positive Integer
When the view has been scrolled to the bottom, automatically load more commits if they exist (instead of having to press the "Load More Commits" button).
- Setting:
git-graph.repository.commits.loadMoreAutomatically
- Default:
true
- Type: Boolean
Display commits that aren't ancestors of the checked-out branch / commit with a muted text color. Muting will only occur if the commit referenced by HEAD is within the loaded commits on the Git Graph View.
- Setting:
git-graph.repository.commits.mute.commitsThatAreNotAncestorsOfHead
- Default:
false
- Type: Boolean
Display merge commits with a muted text color.
- Setting:
git-graph.repository.commits.mute.mergeCommits
- Default:
true
- Type: Boolean
Specifies the order of commits on the Git Graph View. See git log for more information on each order option. This can be overridden per repository via the Git Graph View's Column Header Context Menu.
- Setting:
git-graph.repository.commits.order
- Default:
date
- Options:
-
date
: Show commits in the commit timestamp order. -
author-date
: Show commits in the author timestamp order. -
topo
: Avoid showing commits on multiple lines of history intermixed.
-
Show the commit's signature status to the right of the Committer in the Commit Details View (only for signed commits). Hovering over the signature icon displays a tooltip with the signature details. Requires Git (>= 2.4.0) & GPG (or equivalent) to be installed on the same machine that is running Visual Studio Code.
- Setting:
git-graph.repository.commits.showSignatureStatus
- Default:
false
- Type: Boolean
Before fetching from remote(s) using the Fetch button on the Git Graph View Control Bar, remove any remote-tracking references that no longer exist on the remote(s).
- Setting:
git-graph.repository.fetchAndPrune
- Default:
false
(disabled) - Type: Boolean
Before fetching from remote(s) using the Fetch button on the Git Graph View Control Bar, remove any local tags that no longer exist on the remote(s). Requires Git >= 2.17.0, and the "Repository: Fetch And Prune" setting to be enabled. Caution: If you work in repositories that have multiple remotes, it is not recommended to use this setting (instead you can prune tags for a specific remote via "Fetch Remote" Dialog from the Repository Settings Widget on the Git Graph View).
- Setting:
git-graph.repository.fetchAndPruneTags
- Default:
false
(disabled) - Type: Boolean
Include commits only mentioned by reflogs in the Git Graph View (only applies when showing all branches). This can be overridden per repository in the Git Graph View's Repository Settings Widget.
- Setting:
git-graph.repository.includeCommitsMentionedByReflogs
- Default:
false
- Type: Boolean
Automatically scroll the Git Graph View to be centered on the commit referenced by HEAD. This will only occur if the commit referenced by HEAD is within the loaded commits on the Git Graph View.
- Setting:
git-graph.repository.onLoad.scrollToHead
- Default:
false
- Type: Boolean
Show the checked out branch when a repository is loaded in the Git Graph View. This setting can be used in conjunction with "Repository > On Load: Show Specific Branches".
- Setting:
git-graph.repository.onLoad.showCheckedOutBranch
- Default:
false
- Type: Boolean
Show specific branches when a repository is loaded in the Git Graph View. Branches can be specified as follows: A local branch name (e.g. master
), a remote-tracking branch name prefixed with "remotes/" (e.g. remotes/origin/master
), or a glob pattern defined in git-graph.customBranchGlobPatterns
prefixed with "--glob=" (e.g. --glob=heads/feature/*
). This setting can be used in conjunction with "Repository > On Load: Show Checked Out Branch".
- Setting:
git-graph.repository.onLoad.showSpecificBranches
- Default:
[]
- Type: Array of strings
Only follow the first parent of commits when discovering the commits to load in the Git Graph View. See --first-parent to find out more about this setting. This can be overridden per repository in the Git Graph View's Repository Settings Widget.
- Setting:
git-graph.repository.onlyFollowFirstParent
- Default:
false
- Type: Boolean
Show Commits that are only referenced by tags in Git Graph.
- Setting:
git-graph.repository.showCommitsOnlyReferencedByTags
- Default:
true
- Type: Boolean
Show Remote Branches in Git Graph by default. This can be overridden per repository from the Git Graph View's Control Bar.
- Setting:
git-graph.repository.showRemoteBranches
- Default:
true
- Type: Boolean
Show Remote HEAD Symbolic References in Git Graph (e.g. "origin/HEAD").
- Setting:
git-graph.repository.showRemoteHeads
- Default:
true
- Type: Boolean
Show Stashes in Git Graph by default. This can be overridden per repository in the Git Graph View's Repository Settings Widget.
- Setting:
git-graph.repository.showStashes
- Default:
true
- Type: Boolean
Show Tags in Git Graph by default. This can be overridden per repository in the Git Graph View's Repository Settings Widget.
- Setting:
git-graph.repository.showTags
- Default:
true
- Type: Boolean
Show uncommitted changes. If you work on large repositories, disabling this setting can reduce the load time of the Git Graph View.
- Setting:
git-graph.repository.showUncommittedChanges
- Default:
true
- Type: Boolean
Show untracked files when viewing the uncommitted changes. If you work on large repositories, disabling this setting can reduce the load time of the Git Graph View.
- Setting:
git-graph.repository.showUntrackedFiles
- Default:
true
- Type: Boolean
Enables commit signing with GPG or X.509.
- Setting:
git-graph.repository.sign.commits
- Default:
false
- Type: Boolean
Enables tag signing with GPG or X.509.
- Setting:
git-graph.repository.sign.tags
- Default:
false
- Type: Boolean
Respect .mailmap files when displaying author & committer names and email addresses.
- Setting:
git-graph.repository.useMailmap
- Default:
false
- Type: Boolean
Specifies the order that repositories are sorted in the repository dropdown on the Git Graph View (only visible when more than one repository exists in the current Visual Studio Code Workspace).
- Setting:
git-graph.repositoryDropdownOrder
- Default:
Workspace Full Path
- Options:
-
Full Path
: Sort repositories alphabetically by the full path of the repository. -
Name
: Sort repositories alphabetically by the name of the repository. -
Workspace Full Path
: Sort repositories according to the Visual Studio Code Workspace Folder order, then alphabetically by the full path of the repository.
-
Specifies if the Git Graph View's Visual Studio Code context is kept when the panel is no longer visible (e.g. moved to background tab). Enabling this setting will make Git Graph load significantly faster when switching back to the Git Graph tab, however has a higher memory overhead.
- Setting:
git-graph.retainContextWhenHidden
- Default:
true
- Type: Boolean
Show a Status Bar Item that opens the Git Graph View when clicked.
- Setting:
git-graph.showStatusBarItem
- Default:
true
- Type: Boolean
Specifies where the "View Git Graph" action appears on the title of SCM Providers.
- Setting:
git-graph.sourceCodeProviderIntegrationLocation
- Default:
Inline
- Options:
-
Inline
: Show the 'View Git Graph' action on the title of SCM Providers -
More Actions
: Show the 'View Git Graph' action in the 'More Actions...' menu on the title of SCM Providers
-
Specifies the colour theme of the icon displayed on the Git Graph tab.
- Setting:
git-graph.tabIconColourTheme
- Default:
colour
- Options:
-
colour
: Show a colour icon which suits most Visual Studio Code colour themes -
grey
: Show a grey icon which suits Visual Studio Code colour themes that are predominantly grayscale
-
This extension consumes the following settings:
Specifies the path of a portable Git installation.
- Setting:
git.path
- Default: not set
- Type: String - Path and filename of the Git executable, for example
C:\Program Files\Git\bin\git.exe
on Windows