Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chdsbd/vscode-githubinator
:honeybee: VSCode plugin to quickly open files on Github and other providers. View Git blame information, copy permalinks and more.
https://github.com/chdsbd/vscode-githubinator
vscode vscode-extension
Last synced: 3 months ago
JSON representation
:honeybee: VSCode plugin to quickly open files on Github and other providers. View Git blame information, copy permalinks and more.
- Host: GitHub
- URL: https://github.com/chdsbd/vscode-githubinator
- Owner: chdsbd
- License: gpl-3.0
- Created: 2019-02-28T18:33:25.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-03T00:57:03.000Z (8 months ago)
- Last Synced: 2024-11-04T23:35:22.170Z (3 months ago)
- Topics: vscode, vscode-extension
- Language: TypeScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=chdsbd.githubinator#overview
- Size: 1.11 MB
- Stars: 21
- Watchers: 5
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# [githubinator](https://github.com/chdsbd/vscode-githubinator) [![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/chdsbd.githubinator.svg)](https://marketplace.visualstudio.com/items?itemName=chdsbd.githubinator) [![Visual Studio Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/chdsbd.githubinator)](https://marketplace.visualstudio.com/items?itemName=chdsbd.githubinator)
VSCode plugin to quickly open files on Github and other providers. View Git blame information, copy permalinks and more. See the "commands" section of the README for more details.
## Install
### From online marketplace
Open the [online marketplace listing](https://marketplace.visualstudio.com/items?itemName=chdsbd.githubinator#overview) for Githubinator and click "Install". Follow the prompts to open VSCode and install Githubinator.
### From VSCode
In VSCode, type `CMD`+`P` and enter `ext install chdsbd.githubinator`. Or search for and install `chdsbd.githubinator` via the extensions tab.
### From Github release
Download the extension package from the [latest Github release](https://github.com/chdsbd/vscode-githubinator/releases/latest) and run `code --install-extension githubinator-*.vsix`
### From source
With `vsce` installed from NPM (`yarn global add vsce`), clone [this repo](https://github.com/chdsbd/vscode-githubinator) and run `vsce package`. Install the resulting package with `code --install-extension githubinator-*.vsix`
## Features
![feature X](images/githubinator.png)
### Commands
| command | copy URL | open URL | mode | SHA-type |
| ----------------------------------- | :------: | :------: | ----------------- | -------------- |
| `Githubinator` | ✅ | ❌ | blob | current branch |
| `Githubinator: Copy` | ✅ | ❌ | blob | current branch |
| `Githubinator: Copy Main` | ✅ | ❌ | blob | "main" branch |
| `Githubinator: Copy Permalink` | ✅ | ❌ | blob | current SHA |
| `Githubinator: Copy Main Permalink` | ✅ | ❌ | blob | "main" SHA |
| `Githubinator: On Main` | ✅ | ✅ | blob | "main" branch |
| `Githubinator: Permalink` | ✅ | ✅ | blob | current SHA |
| `Githubinator: Blame` | ✅ | ✅ | blame | current branch |
| `Githubinator: Blame On Main` | ✅ | ✅ | blame | "main" branch |
| `Githubinator: Blame Permalink` | ✅ | ✅ | blame | current sha |
| `Githubinator: Repository` | ✅ | ✅ | open repo | N/A |
| `Githubinator: History` | ✅ | ✅ | open history | N/A |
| `Githubinator: Open Pull Request` | ❌ | ✅ | open pull request | N/A |
| `Githubinator: Open from URL` | N/A | N/A | open file | N/A |
| `Githubinator: Compare` | ✅ | ✅ | compare branch | N/A |The "main" branch is configured via `githubinator.mainBranches` (see "Extension Settings" below).
## Requirements
- Local Git repository. You must have a git repository configured with a remote. (`"origin"` is default but this can be changed in settings).
## Extension Settings
- `githubinator.contextMenu`: Enable access to Githubinator commands from the context menu (`"enabled"`|`"submenu"`|`"disabled"`). (default: `"enabled"`)
- `githubinator.mainBranches`: Branch names to use as `main` repository branch. (default: `["main", "master", "trunk", "develop", "dev"]`)
- `githubinator.remote`: The default remote branch for a repository. (default: `"origin"`)
- `githubinator.providers.github.remote`: Remote name to look for when identifying a Github origin. (default: `"origin"`)
- `githubinator.providers.github.hostnames`: Hostnames for identifying a Github origin and building a URL. (default: `["github.com"]`)
- `githubinator.providers.gitlab.remote`: Remote name to look for when identifying a Gitlab origin. (default: `"origin"`)
- `githubinator.providers.gitlab.hostnames`: Hostnames for identifying a Gitlab origin and building a url. (default: `["gitlab.com"]`)
- `githubinator.providers.bitbucket.remote`: Remote name to look for when identifying a Bitbucket origin. (default: `"origin"`)
- `githubinator.providers.bitbucket.hostnames`: Hostnames for identifying a Bitbucket origin and building a url. (default: `["bitbucket.org"]`)## Prior Art
This plugin is based on the [Sublime Plugin by ehamiter](https://github.com/ehamiter/GitHubinator) with the same name.
| project | providers | blame | history | compare | permalink | master | copy | open | open-pr | one-step actions | provider autodetection |
| ----------------------------------------------------------------------------- | --------------------------------------- | :---: | :-----: | :-----: | :-------: | :----: | :--: | :--: | :-----: | :--------------: | :--------------------: |
| this project | Github, Bitbucket, Gitlab | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| [d4rkr00t/vscode-open-in-github][d4rkr00t-github] ([vscode][d4rkr00t-vscode]) | Github | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| [ziyasal/vscode-open-in-github][ziyasal-github] ([vscode][ziyasal-vscode]) | Github, Bitbucket, Gitlab, Visualstudio | ❌ | ❌ | ❌ | ✅\* | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |\* changeable in settings between permalink and branch
[d4rkr00t-github]: https://github.com/d4rkr00t/vscode-open-in-github
[d4rkr00t-vscode]: https://marketplace.visualstudio.com/items?itemName=sysoev.vscode-open-in-github
[ziyasal-github]: https://github.com/ziyasal/vscode-open-in-github
[ziyasal-vscode]: https://marketplace.visualstudio.com/items?itemName=ziyasal.vscode-open-in-github## Development
```sh
# install dependencies
yarn install
# format code
yarn format
# check formatting
yarb format:check
# run tests
yarn test
```### VSCode instructions
#### Get up and running straight away
- Press `F5` to open a new window with your extension loaded.
- Run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World`.
- Set breakpoints in your code inside `src/extension.ts` to debug your extension.
- Find output from your extension in the debug console.#### Make changes
- You can relaunch the extension from the debug toolbar after changing code in `src/extension.ts`.
- You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes.#### Run tests
- Open the debug viewlet (`Ctrl+Shift+D` or `Cmd+Shift+D` on Mac) and from the launch configuration dropdown pick `Extension Tests`.
- Press `F5` to run the tests in a new window with your extension loaded.
- See the output of the test result in the debug console.
- Make changes to `test/extension.test.ts` or create new test files inside the `test` folder.
- By convention, the test runner will only consider files matching the name pattern `**.test.ts`.
- You can create folders inside the `test` folder to structure your tests any way you want.### Publish
```bash
vsce package
vsce login chdsbd
vsce publish
```[marketplace]: https://marketplace.visualstudio.com/items?itemName=chdsbd.githubinator
### Logo
Based on the [Git Logo](https://git-scm.com/downloads/logos) by [Jason Long](https://twitter.com/jasonlong), licensed under the [Creative Commons Attribution 3.0 Unported License.](https://creativecommons.org/licenses/by/3.0/).