Skip to content

bugthesystem/vscode-open-in-github

Repository files navigation

vscode-open-in-github

Supports : GitHub, GitLab, Gitea, Bitbucket, and Visualstudio.com.

Extension for Visual Studio Code which can be used to jump to a source code line in GitHub, GitLab, Gitea, Bitbucket and Visualstudio.com

Build Status All Contributors

Install

Tested with VsCode 0.10.1

Press F1 and narrow down the list commands by typing extension. Pick Extensions: Install Extension.

installation

Simply pick the Open in GitHub / Bitbucket extension from the list

Install Manual

Mac & Linux

cd $HOME/.vscode/extensions
git clone https://github.com/ziyasal/vscode-open-in-github.git
cd vscode-open-in-github
npm install

Windows

cd %USERPROFILE%\.vscode\extensions
git clone https://github.com/ziyasal/vscode-open-in-github.git
cd vscode-open-in-github
npm install

Usage

Command

Press F1 and type Open in GitHub.

open

Press F1 and type Copy GitHub link to clipboard.

copy

(The URL for GitHub will also include line ranges if there are lines selected in the editor)

Press F1 and type Open Pull Request.

copy

Keybord Shortcut

Press Ctrl+L G to activate. Press Ctrl+L C to copy active line link to clipboard.

Context menu

Right click on explorer item and choose Open in GitHub or Copy GitHub link to clipboard.

context

Configure custom github domain

Add following line into workspace settings;

{
  "openInGitHub.gitHubDomain": "your custom github domain here",
  "openInGitHub.requireSelectionForLines": false,   // If enabled, the copied or opened URL won't include line number(s) unless there's an active selection
  "openInGitHub.useCommitSHAInURL": false,
  "openInGitHub.providerType": "gitlab", // github, gitlab, gitea, bitbucket, ...
  "openInGitHub.providerProtocol": "https" // https, http. Useful for custom domains that don't support https. Defaults to https.
}

Custom Settings

{
  "openInGitHub.providerType": "custom", // important, otherwise the following settings will not be read
  "openInGitHub.customProviderPath": "https://your-git-repo-hosting-domain:port/path-to-the-repo",
  "openInGitHub.customBlobPath": "+", // for example, this is `blob` in gitlab
  "openInGitHub.customLinePrefix": "#", // for example, this is `#L12` instead of just `#12` in most git hosting service
  "openInGitHub.defaultPullRequestBranch": "master", // for example, this could be `development`
  // optional
  "openInGitHub.alwaysOpenInDefaultBranch": true // if you always work on your local branch, and checking it online will always get 404
}

Have fun..

Debug Travis CI locally

  cd $your_vscode_open_in_github_local_directory_path

  BUILD_ID="build-$RANDOM" && \
  LATEST_GARNET_TAG_ID="1515445631-7dfb2e1" && \
  MAPPED_DOCKER_PATH=/home/travis/vscode-open-in-github && \
  docker run \
    -name $BUILD_ID
    -v $(pwd):$MAPPED_DOCKER_PATH \
    -dit "travisci/ci-garnet:packer-$LATEST_GARNET_TAG_ID" /sbin/init && \
  docker exec -it $BUILDID bash -l
  # to rerun last command: look for the last container with docker ps

  su - travis # to use nvm and npm

  cd /vscode-open-in-github

  # replicate steps in either A) .travis.yml B) worker log in Travis CI

Reference: Stackoverflow

Known Limitations

  • Extension doesn't currently works with Git worktrees

Contributors

Thanks goes to these wonderful people (emoji key):


Brady Holt

💻 📖 ⚠️

Grzegorz Dziadkiewicz

💻 📖 ⚠️

Yuichi Tanikawa

💻 📖 ⚠️

Suan Yeo

💻

Benjamin Pasero

💻

Stuart Leeks

💻

Marvin Hagemeister

💻

linarnan

💻 ⚠️

Dan Seethaler

💻 ⚠️

John Arthur

💻

Eduardo Diaz

💻

Tom Esterez

💻

Anthony Brown

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT © Ziya SARIKAYA @ziyasal & Contributors