Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lzwjava/Reveal-In-Github
An Xcode plugin designed for seamless navigation to key GitHub functionalities within your current repository. With just a click, effortlessly access GitHub History, Blame, Pull Requests, Issues, and Notifications, all in a matter of seconds.
https://github.com/lzwjava/Reveal-In-Github
Last synced: 4 days ago
JSON representation
An Xcode plugin designed for seamless navigation to key GitHub functionalities within your current repository. With just a click, effortlessly access GitHub History, Blame, Pull Requests, Issues, and Notifications, all in a matter of seconds.
- Host: GitHub
- URL: https://github.com/lzwjava/Reveal-In-Github
- Owner: lzwjava
- Created: 2015-10-31T18:24:01.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-05-04T12:23:49.000Z (7 months ago)
- Last Synced: 2024-10-25T18:29:48.400Z (21 days ago)
- Language: Objective-C
- Homepage:
- Size: 61.5 KB
- Stars: 256
- Watchers: 7
- Forks: 15
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-ios-cn - 官网
README
# Reveal-In-GitHub
An Xcode plugin designed for seamless navigation to key GitHub functionalities within your current repository. With just a click, effortlessly access GitHub History, Blame, Pull Requests, Issues, and Notifications, all in a matter of seconds.
![plugin](https://cloud.githubusercontent.com/assets/5022872/10867703/96e980be-80ab-11e5-9aaa-a06ef476b7f7.gif)
My company work on GitHub. I open the GitHub a lot. Sometimes, I am editing on Xcode and do not understand some code, so I go to GitHub to blame them. Sometimes, find the latest commits about a file to help me figure out how the code evolves. So I wonder is there a tool to help me quick open GitHub from Xcode. So I write this plugin. When you editing some source file on Xcode, it's easy to know which GitHub repo you are working on and know which file you are editing. So it makes sense to quickly jump to the file on GitHub, quickly jump to blame the current editing line on GitHub, quickly jump to the issues or prs of the current repo you are working on Xcode.
## Menu Items
It has six menu items:
Menu Title | Shortcut | GitHub URL Pattern (When I'm editing LZAlbumManager.m Line 40)
----------------|-----------------------|----------------------------------
Setting |⌃⇧⌘S |
Repo |⌃⇧⌘R | https://github.com/lzwjava/LZAlbum
Issues |⌃⇧⌘I | https://github.com/lzwjava/LZAlbum/issues
PRs |⌃⇧⌘P | https://github.com/lzwjava/LZAlbum/pulls
Quick File |⌃⇧⌘Q | https://github.com/lzwjava/LZAlbum/blob/fd7224/LZAlbum/manager/LZAlbumManager.m#L40
List History |⌃⇧⌘L | https://github.com/lzwjava/LZAlbum/commits/fd7224/LZAlbum/manager/LZAlbumManager.m
Blame |⌃⇧⌘B | https://github.com/lzwjava/LZAlbum/blame/fd7224/LZAlbum/manager/LZAlbumManager.m#L40
Notifications |⌃⇧⌘N | https://github.com/leancloud/LZAlbum/notifications?all=1The shortcuts are carefully designed. They will not confict to Xcode default shortcuts. The shortcut pattern is ⌃⇧⌘ (Ctrl+Shift+Command), plus First Character of the menu title.
## Customize
Sometimes, you may want to quickly jump to Wiki. Here is the way, open the setting:
For example,
Quick file, the pattern and the actual url:
```
{git_remote_url} /blob/{commit}/ {file_path} #{selection}
https://github.com/lzwjava/LZAlbum/blob/fd7224/LZAlbum/manager/LZAlbumManager.m#L40-L43
```The {commit} is the latest commit hash of current branch. It's better then use branch. Because branch's HEAD may be changed. So the code in #L40-L43 may also be changed.
So if you want to add a shortcut to current repo's wiki, just add a menu item and set the pattern to ` {git_remote_url}/wiki`.
In settings, `Clear Default Repos` say if you have multiple git remotes, when first time to trigger, it will ask you to choose one of them:
Then the plugin remembers which you choose. So when you trigger the menu again, will open that remote repo as the default. The button `Clear Default Repos` will clear this setting, will ask you to select again.
## Install
Recomend install with [Alcatraz](http://alcatraz.io/),
![qq20151101-1 2x](https://cloud.githubusercontent.com/assets/5022872/10867743/0ce351c6-80ae-11e5-82e2-f740887153f7.jpg)
Or
1. Clone this repo.
2. Open `Reveal-In-GitHub.xcodeproj`, and build it.
3. Reveal-In-GitHub.xcplugin should locate at `~/Library/Application Support/Developer/Shared/Xcode/Plug-ins`
4. Restart Xcode
5. Open any GitHub Project and press ⌃⇧⌘B (Ctrl+Shift+Command+B) to blame the code.## 安装
推荐使用 [Alcatraz](http://alcatraz.io/),可参考巧神的一遍[博客](http://blog.devtang.com/blog/2014/03/05/use-alcatraz-to-manage-xcode-plugins/)。安装好后,按照上图搜索 `Reveal In GitHub`,点击 `Install` 即可。
如果不使用这个工具的话,那么也只需三步:
* 克隆该项目到本地。
* 打开 xcodeproj,点击 Build 构建。这会在目录`~/Library/Application Support/Developer/Shared/Xcode/Plug-ins` 生成 Reveal-In-GitHub.xcplugin 文件。
* 重启 Xcode,打开任意一个放在 GitHub 上的项目。按下 `Ctrl+Shift+Command+B` 即可。## Credit
When at the course of developing it, find another plugin [ShowInGitHub](https://github.com/larsxschneider/ShowInGitHub) do something similar. I learn some techique from it. Thanks for that.
## License
MIT