Gitlab open with Rider

12/30/2025, 2:03:43 PM

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name        Gitlab open with Rider
// @namespace   Violentmonkey Scripts
// @match       https://gitlab.com/tikaiz/dotnet-demo/-/tree/master*
// @grant       none
// @version     1.0
// @author      Tikaiz
// @description 12/30/2025, 2:03:43 PM
// @license MIT
// ==/UserScript==

const Text = 'Jetbrains Rider';

// Not sure if this is the best way of navigating to the correct DOM Location, but it works
var openWithList = document.getElementById('gl-disclosure-dropdown-group-62').nextSibling.nextSibling;

var openWithRiderList = openWithList.lastChild.cloneNode(true);
var openWithRiderText = openWithRiderList.firstChild;
openWithRiderText.innerText = Text;

var RiderBtnGroup = openWithRiderList.lastChild;
var SshBtn = RiderBtnGroup.firstChild;
var HttpsBtn = RiderBtnGroup.lastChild;

SshBtn.href = SshBtn.href.replace('idea','rider');
HttpsBtn.href = HttpsBtn.href.replace('idea','rider');

openWithList.appendChild(openWithRiderList);