Xcode plugin to open the GitHub page of the commit of the currently selected line in the editor window.

Overview

Show in GitHub / BitBucket

Xcode plugin to open a related Github or BitBucket page directly from the Xcode editor code window. Installs easily through the Xcode package manager Alcatraz.

Show in GitHub has been tested with Xcode 5.1.1.

Usage

Click on any line in a GitHub project and choose "Source Control" (GitHub for Xcode <5.0) --> Open commit on GitHub in the main menu. (e.g. to send this URL via IM)

Open file on Github simply opens the file at its current branch, and not the last commit which changed it. Alternatively you can select a range lines of code and follow the same steps.

Youtube Tutorial (made under Xcode 4.x)

Screenshot

Installation

  1. Install it via Alcatraz

or

  1. Clone the repo on your local machine.

  2. Build it in Xcode.

  3. ShowInGitHub.xcplugin should appear in ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins

  4. Restart Xcode

Contact

Lars Schneider [email protected]

License

ShowInGitHub is available under the BSD license. See the LICENSE file for more info.

Comments
  • Unable to find filename with git blame error

    Unable to find filename with git blame error

    I'm seeing the error Unable to find filename with git blame when trying to Open either a commit or file on GitHub. I tried for a couple of projects, one on a corporate GitHub and one on github.com.

    In the system console, I can see logs showing my GIT remotes (shows remotes correctly) and GIT blame (blank). Xcode's blame and comparison source control features are working fine.

    opened by dcaunt 8
  • support bitbucket

    support bitbucket

    Do not change any menu name, just open last commit or file at Bitbucket.org according to its repo name. issue https://github.com/larsxschneider/ShowInGitHub/issues/8.

    opened by payliu 6
  • Add

    Add "Open Pull Request on GitHub" feature

    Done

    • Merge djromero/master (for Xcode 7.1 support)
    • Add "Oper Pull Request on GitHub" feature
    • Update README

    Please review&merge if you like this feature. @larsxschneider @djromero FYI

    opened by morishin 4
  • Bitbucket url schemes updated

    Bitbucket url schemes updated

    Updated url schemes for opening files and commits in Bitbucket. I have noticed that url schemes used in the plugin are no longer valid for Bitbucket, so I prepared small fix to make linking to selected line works again with repositories hosted on Bitbucket. Currently multiline selection is not working on Bitbucket website and I have no idea if there is a fix for that issue.

    opened by darrarski 3
  • Add remote url query modifications

    Add remote url query modifications

    • Add additional remote url beginning query
    • Add additional remote url ending query
    • Open files and commits using http instead of https (more generalized)
    opened by musahindi 3
  • Crash when using fullscreen window

    Crash when using fullscreen window

    When the main Xcode window is in fullscreen, GitHub actions cause Xcode to crash.

    It seems that -[SIGPlugin activeDocument] returns nil when the window is in fullscreen.

    Xcode 4.6.2 (4H1003) Mac OS X v10.8.3

    Application Specific Information:
    ProductBuildVersion: 4H1003
    UNCAUGHT EXCEPTION (NSInvalidArgumentException): *** setObjectForKey: object cannot be nil (key: _NSTaskDirectoryPath)
    UserInfo: (null)
    Hints: None
    Backtrace:
      0  0x00007fff97799aee __exceptionPreprocess (in CoreFoundation)
      1  0x00007fff954a93f0 objc_exception_throw (in libobjc.A.dylib)
      2  0x00007fff978285b7 -[__NSDictionaryM setObject:forKey:] (in CoreFoundation)
      3  0x00007fff929c7b18 -[NSConcreteTask setCurrentDirectoryPath:] (in Foundation)
      4  0x000000010a96415e -[SIGPlugin outputGitWithArguments:inPath:] at /Users/capitainetrain/Library/Application Support/Alcatraz/Plug-ins/ShowInGithub/Source/Classes/SIGPlugin.m:222 (in ShowInGithub)
      5  0x000000010a9642f1 -[SIGPlugin githubRepoPathForDirectory:] at /Users/capitainetrain/Library/Application Support/Alcatraz/Plug-ins/ShowInGithub/Source/Classes/SIGPlugin.m:248 (in ShowInGithub)
      6  0x000000010a964b18 -[SIGPlugin openFileOnGitHub:] at /Users/capitainetrain/Library/Application Support/Alcatraz/Plug-ins/ShowInGithub/Source/Classes/SIGPlugin.m:389 (in ShowInGithub)
      7  0x00007fff8c247989 -[NSApplication sendAction:to:from:] (in AppKit)
      8  0x0000000105ae8f60 -[DVTApplication sendAction:to:from:] (in DVTKit)
      9  0x00007fff8c37d37c -[NSMenuItem _corePerformAction] (in AppKit)
     10  0x00007fff8c37d06a -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] (in AppKit)
     11  0x00007fff8c06a28f -[NSMenu _internalPerformActionForItemAtIndex:] (in AppKit)
     12  0x00007fff8c06a117 -[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] (in AppKit)
     13  0x00007fff8c376175 NSSLMMenuEventHandler (in AppKit)
     14  0x00007fff92bd0d1a DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) (in HIToolbox)
     15  0x00007fff92bd01e9 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) (in HIToolbox)
     16  0x00007fff92be5fc9 SendEventToEventTarget (in HIToolbox)
     17  0x00007fff92c1cca9 SendHICommandEvent(unsigned int, HICommand const*, unsigned int, unsigned int, unsigned char, void const*, OpaqueEventTargetRef*, OpaqueEventTargetRef*, OpaqueEventRef**) (in HIToolbox)
     18  0x00007fff92bc1a21 SendMenuCommandWithContextAndModifiers (in HIToolbox)
     19  0x00007fff92bc19d3 SendMenuItemSelectedEvent (in HIToolbox)
     20  0x00007fff92bc185f FinishMenuSelection(SelectionData*, MenuResult*, MenuResult*) (in HIToolbox)
     21  0x00007fff92b9d8bb MenuSelectCore(MenuData*, Point, double, unsigned int, OpaqueMenuRef**, unsigned short*) (in HIToolbox)
     22  0x00007fff92b9cec8 _HandleMenuSelection2 (in HIToolbox)
     23  0x00007fff8c2358f6 _NSHandleCarbonMenuEvent (in AppKit)
     24  0x00007fff8c157acf _DPSNextEvent (in AppKit)
     25  0x00007fff8c156e22 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit)
     26  0x00007fff8c14e1d3 -[NSApplication run] (in AppKit)
     27  0x00007fff8c0f2c06 NSApplicationMain (in AppKit)
     28  0x00000001056b1b6f (in Xcode)
     29  0x00000001056b1b00 (in Xcode)
    
    opened by kemenaran 3
  • Support Bitbucket

    Support Bitbucket

    Hi @larsxschneider,

    I have some project on Bitbucket, so I created this feature to support Bitbucket.

    I didn't change any menu name, just open last commit or file at Bitbucket.org according to its repo name.

    thanks.

    ref: https://github.com/payliu/ShowInGitHub/commit/8c06b61f9ad644e0651aae2d2e3f4acfb09b8848

    opened by payliu 2
  • Use existing

    Use existing "Source Control" menu

    Instead of creating a new "Github" menu bar item, the plug-in should use the pre-existing "Source Control" menu (maybe with a "Github" submenu). A whole new menu item with only two entries takes up a lot of precious menu real estate.

    opened by noahemmet 3
Owner
Lars Schneider
Kiteboarder, hiker, Service Account Engineer @GitHub.
Lars Schneider
A Xcode plugin to add highlight to the instances of selected symbol.

Auto Highlight Symbol About Xcode 8 Xcode 8 does't support plugins anymore, but there is a workaround, use at your own risk. Xcode can highlight insta

Nelson 83 Jan 3, 2023
Xcode-streamdeck-plugin - A Stream Deck plugin for Xcode

Stream Deck Xcode Plugin This repository contains a Stream Deck plugin to add so

Daniel Kennett 77 Dec 27, 2022
React-native-photo-editor - Photo editor using native modules for iOS and Android

?? Image editor using native modules for iOS and Android. Inherit from 2 available libraries, ZLImageEditor (iOS) and PhotoEditor (Android)

Baron Ha. 244 Jan 5, 2023
Xcode plugin that brings ⇧⌘T from AppCode over to Xcode

Aviator An Xcode Plugin that brings ⇧⌘T over to Xcode This minimal plugin allows you to use the key combo ⇧⌘T to toggle between source and test files.

Mark Sands 29 Aug 18, 2018
A simple and flexible way to add source of overlapping circular pictures, currently supports horizontal overlapping or distant pictures with great layout flexibility.

THIS PROJECT IS NO LONGER MAINTAINED. STILL ONE ONLY BEST UI SOLUTION FOR UIKIT DEVELOPERS. SOON WILL COME UP WITH SWIFTUI STILL CONTRIBUTORS ARE WELC

Kiran Jasvanee 673 Dec 19, 2022
Cordova-plugin-saveimage - This plugin helps you save images

cordova-plugin-saveimage This plugin helps you save images on iOS/Android Instal

Bernat 2 May 11, 2022
Applies filter to a selected image from the Gallery using Combine

CombinePhotoFiltering App CombinePhotoFiltering is an app that applies sepia and bloom to a selected picture from the Photos app. Highlights The app i

Mauricio Esteves 0 Nov 14, 2021
An Xcode plugin for manually symbolicating crash logs

CrashSymbal An Xcode plugin for manually symbolicating crash logs Install Build the project to install the plugin. The plugin gets installed in /Libra

Julian F. Weinert 38 Jun 3, 2021
XcodeColorSense - An Xcode plugin that makes working with color easier.

XcodeColorSense An Xcode plugin that makes working with color easier. Inspired by ColorSense-for-Xcode with extra care for Hex color Features Show col

Khoa 77 Jul 1, 2022
An Xcode 7 plugin to build and run an app across multiple iOS devices with one click.

RunEverywhere Xcode Plugin Overview An Xcode 7 plugin to build and run an app across multiple iOS devices with one click. Gone are the days of manuall

Eric Mika 322 Sep 7, 2022
An Xcode plugin to improve dealing with colors in your project

Crayons is an Xcode7 plugin with various features that improve working with colors in your projects ##Code palettes (iOS only) You can share palettes

Fabio Ritrovato 477 Sep 23, 2022
Xcode plugin for filtering the console area.

MCLog This plugin lets you easily filter the Xcode console log output. While you can already search the text in the console log output you are still l

Michael Chen 591 Oct 31, 2022
WhiteAndFluffyTest - Scroll images and add them to your favourites via image page

Image service application Scroll images and add them to your favourites via imag

Ruben Egikian 0 Feb 4, 2022
📷 A composable image editor using Core Image and Metal.

Brightroom - Composable image editor - building your own UI Classic Image Editor PhotosCrop Face detection Masking component ?? v2.0.0-alpha now open!

Muukii 2.8k Jan 3, 2023
FMPhotoPicker is a modern, simple and zero-dependency photo picker with an elegant and customizable image editor

FMPhotoPicker is a modern, simple and zero-dependency photo picker with an elegant and customizable image editor Quick demo Batch select/deselect Smoo

Cong Nguyen 648 Dec 27, 2022
📷 A composable image editor using Core Image and Metal.

Brightroom - Composable image editor - building your own UI Classic Image Editor PhotosCrop Face detection Masking component ?? v2.0.0-alpha now open!

Muukii 2.8k Jan 2, 2023
Jogendra 113 Nov 28, 2022
Image Editor iOS App - CLEAN Architecture + MVP Pattern

Image Editor iOS Application - Built using UIKit, CoreData, CoreImage, and URLSession Frameworks with CLEAN Architecture and MVP UI design pattern.

Omran Khoja 8 Nov 30, 2022
PhotoEditor SDK: A fully customizable photo editor for your app.

About PhotoEditor SDK for iOS Our SDK provides tools for adding photo editing capabilities to your iOS application with a big variety of filters that

IMG.LY 116 Jan 1, 2023