Provides a shortcut to copy permalink in their online Git repositories from inside IDE.

Overview

Screen Shot 2021-10-11 at 7 51 44

Copy Git Link

Build Version Downloads

Provides a shortcut to copy permalink in their online Git repositories from inside IDE.

Works with:

  • GitHub
  • GitLab
  • Bitbucket
My.Movie.4.3.mp4

Usage

Select the code you want to copy the permalink to, and click "Copy permalink" from the context menu. The permalink will be saved to the clipboard.

And, Click "Copy permalink as MD" to copy the link in Markdown format.

Installation

  • Using IDE built-in plugin system:

    Settings/Preferences > Plugins > Marketplace > Search for "Copy Git Link" > Install Plugin

  • Manually:

    Download the latest release and install it manually using Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...


Plugin based on the IntelliJ Platform Plugin Template.

Comments
  • Android Studio Arctic Fox (2020.3.1) support

    Android Studio Arctic Fox (2020.3.1) support

    Hi. Thank you for developing an awesome plugin!

    I'm an Android developer. I use Android Studio and I want to use this copy-git-link plugin.

    But Android Studio is based on old IntelliJ platform. For example, the latest stable release "Android Studio Arctic Fox (2020.3.1) Patch 3" is based on 203.7717.56. (ref: https://zenn.dev/kafumi/articles/3d01174cee8715 )

    Can you change pluginSinceBuild to 203? I checked that it works on "Android Studio Arctic Fox (2020.3.1) Patch 3" with changed pluginSinceBuild version.

    arctic-fox
    opened by mallowlabs 11
  • Allow branch-link

    Allow branch-link

    Instead of

    https://github.com/enterprise/project/blob/526e15a17869b5a3d718996b205c779bc82205f7/foo.py#L1

    Allow copying the link with the branch name instead of the blob SHA1

    https://github.com/enterprise/project/blob/main/foo.py#L1

    While this isn't a permalink it'd still be really useful!

    opened by guy4261 4
  • Incompatibility with 223.* IDEs

    Incompatibility with 223.* IDEs

    I got the following message with PyCharm 2022.3 (or CLion 2022.3):

    Plugin 'Copy Git Link' (version '0.3.5') is not compatible with the current version of the IDE, because it requires build 222.* or older but the current build is PY-223.7571.203

    opened by tocic 3
  • fix: wrong URL on Windows

    fix: wrong URL on Windows

    🎯 Purpose

    • Copied URL is wrong on Windows.
      • for example: https://github.com/kawamataryo/copy-git-link/blob/7df63fc5d9d1ffea8362d9c2f6222b29b9540723/C:/Users/mallowlabs/git/copy-git-link/src/main/kotlin/com/github/kawamataryo/copygitlink/gitlink/GitLink.kt#L41
    • This PR will fix it

    👓 Strategy

    • The reason is the path separator.
      • virtualFile.path
        • -> C:/Users/mallowlabs/git/copy-git-link/src/main/kotlin/com/github/kawamataryo/copygitlink/gitlink/GitLink.kt (slash-separated)
      • repo.toString()
        • -> C:\Users\mallowlabs\git\copy-git-link (backslash-separated)
    • So I use repo?.root?.path
      • -> C:/Users/mallowlabs/git/copy-git-link(slash-separated)

    ✔️ Tested

    • Copied URL on Windows is correct.
    • Copied URL on macOS is correct.
    • Copied URL in git submodule is correct.
    opened by mallowlabs 3
  • Feature reuqest: clear token/username when the origin has it (e.g. https://TheAccessTokenOrUsername:password@githum.com/...)

    Feature reuqest: clear token/username when the origin has it (e.g. https://TheAccessTokenOrUsername:[email protected]/...)

    The username is often added to the local repo config when developing with multiple organizations/accounts. This should better not be exposed in the links, especially that the username can also be used in GiHub to pass personal access tokens.

    opened by zlamma 1
  • モジュールの場合 GitHub リンクにローカルパスが含まれる問題を解決

    モジュールの場合 GitHub リンクにローカルパスが含まれる問題を解決

    概要

    複数の Git リポジトリで構成されるプロジェクトの場合、Copy Git Link で取得した GitHub リンクにローカルパスが含まれる問題を解決しました。

    再現手順

    1. Run IDE for UI Tests を実行
    2. File > New > Project
    3. 任意の空のディレクトリを選択して Empty Project を作成
    4. 作成した Empty Project を開く
    5. File > New > Module from Existing Sources
    6. 任意の Git プロジェクトを選択
    7. 追加したモジュールの任意のファイルで Copy Git Link を実行

    動作確認

    Run IDE for UI Tests で動かして動作確認済みです。

    • プロジェクトのトップ = Git リポジトリのトップの構成でも GitHub リンクが取得できること
    • モジュールのファイルで GitHub リンクが取得できること
    • 複数モジュールで構成されるプロジェクトでも GitHub リンクが取得できること

    その他

    • repo.toString() よりもいい感じにローカルの Git リポジトリのフルパスを取得できる方法があればそちらを採用したいです
      • ログ出力しながら動かして、 repo.toString() でたまたま欲しい文字列が取得できたというレベルなので 😓
    opened by y-u-t-a 1
  • Please support custom domainnames

    Please support custom domainnames

    Some git repo's of me are hosted on Gitlab with custom domains like: projects.company.com Currently, the plugin doesn't detect it and thus automatically falls back to github.com for the domainname. Would be nice if the plugin finds the correct domain from the git repo's data in the project.

    See the regex here: https://github.com/kawamataryo/copy-git-link/blob/main/src/main/kotlin/com/github/kawamataryo/copygitlink/gitlink/GitLink.kt#L32 I would like to propose the following regex: .*(?:@|\/\/)(.[^:\/]*).([^\.]+)\.git https://regex101.com/r/VUkPLJ/1

    And the return value here: https://github.com/kawamataryo/copy-git-link/blob/main/src/main/kotlin/com/github/kawamataryo/copygitlink/gitlink/GitLink.kt#L46

    opened by vince-streamhpc 0
  • Port misplaced

    Port misplaced

    My git repo has nonstandard port:

    	url = ssh://[email protected]:1122/products/path/cpp-edr-test.git
    

    Generated link has port here: https://git.company.com/1122/products/path/cpp-edr-test/blob/87601d59ba97d2599d4fb60e3672c6cb419b4112/README.md#L36

    and does not open.

    Working address: https://git.company.com/products/path/cpp-edr-test/blob/87601d59ba97d2599d4fb60e3672c6cb419b4112/README.md#L36

    Please consider removing "/port"?

    opened by neopaf 0
  • No alternative to https

    No alternative to https

    Hi! Thank you for this awesome plugin, it's something that I have wanted to found many years.

    Unfortunately, I'm working with self-hosted Gitlab now, which located in private network and resolved by ip. So the resource doesn't available by https, only by http.

    Could you fix your plugin so that it can work correctly with addresses like http://10.10.0.1/$repositoryPath/...?

    Thanks in advance!

    opened by kalbas 0
  • BeatBucket URL is wrong

    BeatBucket URL is wrong

    Hi, is there a way to configure it somewhere, or fix :)

    BeatBucket link created by the plugin (ACTUAL): https://%CORPORATE.URL.CZ%/7999/av/%REPO_NAME%/blob/8374yruryg4/%REPO_PATH%/NegativeTest.php#L67

    Actually working URL (EXPECTED): https:/%CORPORATE.URL.CZ%/projects/av/repos/%REPO_NAME%/browse/%REPO_PATH%/NegativeTest.php?until=8374yruryg4#L67

    opened by Artem-Rya-from-Avito 0
  •  Feature reuqest: Links to files and folders when right-clicked in the 'Project' view

    Feature reuqest: Links to files and folders when right-clicked in the 'Project' view

    Hi. Thank you for developing this excellent and easy-to-use plugin.

    Just one feature seems missing, that is: getting the links for just the files or folders when right-clicked in the 'Project' view (so, without any line of code highlighted).

    I hope this is sufficient description but I am happy to elaborate if need be.

    Thank you for considering!

    enhancement 
    opened by zlamma 1
  • Permalink starts with https://null/null if project imported from https git url.

    Permalink starts with https://null/null if project imported from https git url.

    Hi!

    At some point in time, I've started to get https://null/null/blob/.... links. Looks like something happens with my repo value as it returns from GitRepositoryManager.getInstance(project).getRepositoryForFileQuick(virtualFile) so repo?.remotes?.first()?.firstUrl doesn't match to the regexp .*(?:@|\\/\\/)(.[^:\\/]*).([^\\.]+)\\.git.

    IntelliJ IDEA 2021.2.4 (Ultimate Edition) Build #IU-212.5712.43, built on December 21, 2021 Licensed to ООО «ЯНДЕКС»

    Runtime version: 11.0.13+8-b1504.49 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 10.15.7 GC: G1 Young Generation, G1 Old Generation Memory: 4096M Cores: 12 Registry: scala.erase.compiler.process.jdk.once=false Non-Bundled Plugins: com.ultrahob.zerolength.plugin2 (0.93), mobi.hsz.idea.gitignore (4.3.0), com.github.kawamataryo.copygithublink (0.3.1), com.vexus2.intellij.openingithub (1.0.6), org.jetbrains.plugins.hocon (2021.1.0), String Manipulation (8.27.203.5981.1), org.jetbrains.kotlin (212-1.6.10-release-923-IJ5457.46), org.intellij.scala (2021.2.30), zio.intellij.zio-intellij (2021.2.14.0), izhangzhihao.rainbow.brackets (6.21), com.google.idea.bazel.ijwb (2022.01.25.0.0-api-version-212), ru.yandex.verts.bazel-zio-test (0.3) Kotlin: 212-1.6.10-release-923-IJ5457.46

    opened by vladvershinin 4
  • Wrong path resolution on Windows with MSYS

    Wrong path resolution on Windows with MSYS

    Currently resolves as https://[projectpath]/blob/[hash][absolute disk path]#L[num]

    For example https://.../1fdcb4b82a1348992c6d59048d2f6a94820dae3bD:/projects/folder/subfolder/conf.json#L11

    Need as with dash and relative path https://[projectpath]/-/blob/[hash]/[RELATIVE project path]#L[num]

    opened by Delagen 0
Releases(v0.5.0)
Owner
ryo
I'm Software Engineer in Japan. My previous job is a firefighter. Mainly front-end. Love Firebase, TypeScript, Vue.js and GraphQL.
ryo
Gradle plugin to use git tags as project version names

Version Name Gradle Plugin This plugin adds a kotlin extension function that provides a version name based on the latest git tag. How to use it ?? App

Doist 3 Mar 9, 2022
Git Flow Integration plugin for IntelliJ

Git Flow Integration for Intellij An intelliJ plugin providing a UI layer for git-flow, which in itself is a collection of Git extensions to provide h

Opher Vishnia 505 Dec 1, 2022
[Deprecated] Android Studio IDE support for Android gradle unit tests. Prepared for Robolectric.

#[Deprecated] Google has finally released a proper solution for unit testing. Therefore this plugin will no longer be activlty maintained. android-stu

Evan Tatarka 236 Dec 30, 2022
This plugin allows creating or editing Excalidraw virtual whiteboard within the IDE.

Excalidraw Integration for Jetbrains IDEs This plugin allows creating or editing Excalidraw virtual whiteboard within the IDE. Installation Using IDE

Brice Dutheil 46 Dec 11, 2022
✈️ IDE plugin for the IntelliJ platform which adds GitHub Copilot support. (VERY WIP)

JetBrains Copilot GitHub Copilot support for the IntellIJ Platform. Installation Download the latest release. Select the Install Plugin from Disk opti

Koding 155 Dec 10, 2022
A plugin for Jetbrains IDE, Your code is powerful, unleash it like playing osu!

Osu! Mode A plugin for Jetbrains IDE, Your code is powerful, unleash it like playing osu! Demo 2021-10-15.18-50-30.mp4 Bilibili Feature open project /

Nthily 8 Sep 8, 2022
Leader key for IntelliJ-based IDE's. Now IdeaVim-friendly!

Ataman Ataman - an elected leader of the Cossack troops and settlements Ataman is an Intellij Idea plugin for using leader key for bindings (almost li

Mikhail Levchenko 50 Dec 13, 2022
An IDE plug-in for quick access to Jetpack Compose controls

An IDE plug-in for quick access to Jetpack Compose controls

Jetpack Compose Museum 17 Aug 28, 2022
Manage pull requests and conduct code reviews in your IDE with full source-tree context.

String Manipulation IntelliJ plugin - https://plugins.jetbrains.com/plugin/2162 Sponsored by Manage pull requests and conduct code reviews in your IDE

Vojtěch Krása 582 Dec 22, 2022
K6-intellij-plugin - IntelliJ-based Plugin to run k6 tests locally or in the k6 Cloud from your IntelliJ IDE

IntelliJ-based Plugin to run k6 tests locally or in the k6 Cloud from your Intel

Mikhail Bolotov 8 Jan 2, 2023
IntelliJ plugin that provides some useful utilities to support the daily work with Gradle.

IntelliJ Gradle Utilities Plugin This IntelliJ plugin provides some useful utilities to support the daily work with Gradle. It's available on the offi

Marcel Kliemannel 6 Jul 29, 2022
IntelliJ-based IDEs Protobuf Language Plugin that provides Protobuf language support.

IntelliJ Protobuf Language Plugin Reference Inspired by protobuf-jetbrains-plugin and intellij-protobuf-editor. Descriptor IntelliJ-based IDEs Protobu

Kanro 72 Dec 7, 2022
IntelliJ plugin that provides a modern and powerful byte code analyzer tool window.

IntelliJ Byte Code Analyzer Plugin This IntelliJ plugin provides a modern and powerful byte code analyzer tool window. Its supports Java, Kotlin, Groo

Marcel Kliemannel 29 Nov 9, 2022
Move on provides a complete package from shifting to ride, households to warehouses, packers and movers.

Move On Move on provides a complete package from shifting to ride, households to warehouses, packers and movers. Available on Playstore Packers and Mo

Mausam Singh 5 Feb 1, 2022
Helper to upload Gradle Android Artifacts, Gradle Java Artifacts and Gradle Kotlin Artifacts to Maven repositories (JCenter, Maven Central, Corporate staging/snapshot servers and local Maven repositories).

GradleMavenPush Helper to upload Gradle Android Artifacts, Gradle Java Artifacts and Gradle Kotlin Artifacts to Maven repositories (JCenter, Maven Cen

 Vorlonsoft LLC 21 Oct 3, 2022
Android port of Simon Tatham's Puzzles. *git replace in use* - you might want to {{ git fetch origin 'refs/replace/*:refs/replace/*' }}

This is the README accompanying the source code to Simon Tatham's puzzle collection. The collection's web site is at <https://www.chiark.greenend.org.

Chris Boyle 470 Dec 22, 2022
Mirror of https://git.ffmpeg.org/ffmpeg.git

FFmpeg README FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. Librar

null 33.5k Jan 9, 2023
An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role

An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role

Joel Kanyi 9 Aug 26, 2022
Carol 12 Sep 25, 2022