{"id":13912679,"url":"https://github.com/Sertion/vscode-gitblame","last_synced_at":"2025-07-18T12:32:19.525Z","repository":{"id":20385198,"uuid":"85212041","full_name":"Sertion/vscode-gitblame","owner":"Sertion","description":"Visual Studio Code Extension - See Git Blame info in status bar. ","archived":false,"fork":true,"pushed_at":"2024-08-28T22:40:57.000Z","size":9319,"stargazers_count":76,"open_issues_count":6,"forks_count":32,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-08-28T23:45:44.048Z","etag":null,"topics":["git-blame","visual-studio-code","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items/waderyan.gitblame","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"waderyan/vscode-gitblame","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sertion.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-03-16T15:32:38.000Z","updated_at":"2024-08-28T22:41:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Sertion/vscode-gitblame","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sertion%2Fvscode-gitblame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sertion%2Fvscode-gitblame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sertion%2Fvscode-gitblame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sertion%2Fvscode-gitblame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sertion","download_url":"https://codeload.github.com/Sertion/vscode-gitblame/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226409840,"owners_count":17620717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git-blame","visual-studio-code","vscode-extension"],"created_at":"2024-08-07T01:01:44.164Z","updated_at":"2024-11-25T22:30:44.335Z","avatar_url":"https://github.com/Sertion.png","language":"TypeScript","funding_links":[],"categories":["visual-studio-code"],"sub_categories":[],"readme":"# Git Blame\n\nFeatures:\n* See Git Blame information in the status bar for the currently selected line.\n* See Git Blame information on the last selected line in your editor.\n* Quick link to open the latest commit on the current line in the most popular online git tools.\n* Open `git show` for the latest commit on the current line in an vscode terminal.\n\n## How to use\n\n![Feature Usage](https://raw.githubusercontent.com/Sertion/vscode-gitblame/master/images/preview.png)\n\nGit blame adds git blame information to your vscode compatible view. See information about what commit last changed a line and how long ago it was. Click the message to see more information about the commit. It is possible to edit all of these information messages in the settings. There are multiple tokens available. These are described below.\n\nGit Blame works very well with WSL but does not work with the web browser based vscode compatible editors.\n\n## Configuration\n\n### `gitblame.commitUrl`\n\u003e Type: `string`\n\n\u003e Default value: `\"${tool.protocol}//${gitorigin.hostname}${gitorigin.port}${gitorigin.path}${tool.commitpath}${hash}\"`\n\nUrl where you can see the commit by hash\n\nIf set to an empty value it will try to guess the URL based on your remote origin. Can only support servers that don't require auth.\n\nAvailable tokens:\n* `${hash}` - the commit hash\n* `${file.path}` - path to the final file\n* `${file.path.result}` - path to the final file\n* `${file.path.source}` - path to the original file\n* `${file.line}` - the line number of the line in the final file\n* `${file.line.result}` - the line number of the line in the final file\n* `${file.line.source}` - the line number of the line in the original file\n* `${project.defaultbranch}` - The current projects default branch\n* `${project.name}` - your project name (e.g. `project_name` in `https://github.com/user/project_name.git`)\n* `${project.remote}` - the current default remote's URL with the protocol, port-specifiers, and trailing `.git` stripped. (e.g. `github.com/user/project_name` in `https://github.com/user/project_name.git`)\n* `${gitorigin.hostname}` - the git origin domain (e.g. `github.com` in `https://github.com/ckb-next/ckb-next.git`)\n* `${gitorigin.hostname,n}` - the nth part of the git origin domain (e.g. if the git origin is `https://github.com/ckb-next/ckb-next.git` `${gitorigin.hostname,1}` will return `com`)\n* `${gitorigin.path}` - the git origin path (e.g. `/ckb-next/ckb-next.git` in `https://github.com/ckb-next/ckb-next.git`)\n* `${gitorigin.path,n}` - the nth part of the git origin path (e.g. if the git origin is `https://github.com/ckb-next/ckb-next.git` `${gitorigin.path,1}` will return `ckb-next.git`)\n* `${gitorigin.port}` - the git origin port (if it uses http/https) including prefixed `:`\n* `${tool.protocol}` - `http:` or `https:`\n* `${tool.commitpath}` - `/commit/` or `/commits`\n\n### `gitblame.pluralWebPathSubstrings`\n\u003e Type: `string[]`\n\n\u003e Default value: `[\"bitbucket\", \"atlassian\"]`\n\nAn array of substrings that, when present in the git origin URL, replaces _commit_ with _commits_ in the `gitblame.commitUrl` token `tool.commitpath`. Set the value to something that matches anything to recreate the old `gitblame.isWebPathPlural`-setting.\n\n### `gitblame.ignoreWhitespace`\n\u003e Type: `boolean`\n\n\u003e Default value: `false`\n\nUse the git blame `-w` flag.\n\n### `gitblame.infoMessageFormat`\n\u003e Type: `string`\n\n\u003e Default value: `\"${commit.hash} ${commit.summary}\"`\n\nMessage that appears when the `gitblame.quickInfo` command executes (when you click the status bar message).\n\n### `gitblame.statusBarMessageFormat`\n\u003e Type: `string`\n\n\u003e Default value: `\"Blame ${author.name} (${time.ago})\"`\n\nMessage in the status bar about the current line's git blame commit. (Available tokens)[#message-tokens].\n\n### `gitblame.statusBarMessageNoCommit`\n\u003e Type: `string`\n\n\u003e Default value: `\"Not Committed Yet\"`\n\nMessage in the status bar about the current line when no commit can be found. _No available tokens_.\n\n### `gitblame.statusBarPositionPriority`\n\u003e Type: `number`\n\n\u003e Default value: `500`\n\nPriority where the status bar view should be placed. Higher value should be placed further to the left.\n\n### `gitblame.inlineMessageFormat`\n\u003e Type: `string`\n\n\u003e Default value: `\"Blame ${author.name} (${time.ago})\"`\n\nMessage on the current line in the editor about the line's git blame commit. (Available tokens)[#message-tokens].\n\n### `gitblame.inlineMessageNoCommit`\n\u003e Type: `string`\n\n\u003e Default value: `\"Not Committed Yet\"`\n\nMessage on the current line when no commit can be found. _No available tokens_.\n\n### `gitblame.inlineMessageEnabled`\n\u003e Type: `boolean`\n\n\u003e Default value: `false`\n\nTo enable the inline git blame view. Shows blame information at the end of the current line if available.\n\n### `gitblame.inlineMessageMargin`\n\u003e Type: `number`\n\n\u003e Default value: `2`\n\nThe amount of margin between line and inline blame view\n\n### `gitblame.currentUserAlias`\n\u003e Type: `string` or `null`\n\n\u003e Default value: `null`\n\nReplaces `${author.name}` and `${committer.name}` when the git config `user.email` matches the author's or committer's email address.\n\n### `gitblame.delayBlame`\n\u003e Type: `number`\n\n\u003e Default value: `0`\n\nThis setting adds a delay (in milliseconds) before the blame is displayed\n\n### `gitblame.parallelBlames`\n\u003e Type: `number`\n\n\u003e Default value: `2`\n\nLimit how many git blame processes the extension can run in parallel. This can help with high CPU usage.\n\n### `gitblame.revsFile`\n\u003e Type: `string[]`\n\n\u003e Default value: `[]`\n\nList of refs-file names to look for relative to the closest `.git`-folder. The first file in the list that is [accessible](https://nodejs.org/docs/latest-v18.x/api/fs.html#fspromisesaccesspath-mode) will be used with the [`-S` argument](https://git-scm.com/docs/git-blame#Documentation/git-blame.txt--Sltrevs-filegt) in `git blame`.\n\n### Message Tokens\n\n| Token                         | Function | Parameter | Default Value | Description |\n|-------------------------------|----------|-----------|---------------|-------------|\n| `${commit.hash,length}`       | Yes      | `length`  |            64 | the first `length` characters of the 40-bit (or 64-bit) hash unique to the commit |\n| `${commit.hash_short,length}` | Yes      | `length`  |             7 | the first `length` characters of the 40-bit (or 64-bit) hash unique to the commit |\n| `${commit.summary}`           | Yes      | `length`  |         65536 | the first `length` characters of the first line of the commit message |\n| `${author.name}`              | No       | -         | -             | the commit author's name |\n| `${author.mail}`              | No       | -         | -             | the commit author's e-mail |\n| `${author.timestamp}`         | No       | -         | -             | timestamp for the commit author's commit |\n| `${author.tz}`                | No       | -         | -             | the commit author's time zone |\n| `${author.date}`              | No       | -         | -             | the commit author's date (ex: 1990-09-16) |\n| `${committer.name}`           | No       | -         | -             | the committer's name |\n| `${committer.mail}`           | No       | -         | -             | the committer's e-mail |\n| `${committer.timestamp}`      | No       | -         | -             | timestamp for the committer's commit |\n| `${committer.tz}`             | No       | -         | -             | the committer's time zone |\n| `${committer.date}`           | No       | -         | -             | the committer's date (ex: 1990-09-16) |\n| `${time.ago}`                 | No       | -         | -             | displays an estimation of how long ago the author committed (e.g. `10 hours ago`, `20 days ago`, `4 months ago`) |\n| `${time.c_ago}`               | No       | -         | -             | displays an estimation of how long ago the committer committed (e.g. `10 hours ago`, `20 days ago`, `4 months ago`) |\n\n## Known issues\n### The `gitblame.gitShow` command does not work with _my shell_\n\nIf your default terminal profile is set to `cmd.exe` `gitblame.gitShow` will not function correctly. Fix this by using a unix compatible shell.\n\n## Acknowledgements\n\n* Logo by [Jason Long](https://twitter.com/jasonlong).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSertion%2Fvscode-gitblame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSertion%2Fvscode-gitblame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSertion%2Fvscode-gitblame/lists"}