Xcode の便利プラグインまとめ

  • 770
    いいね
  • 0
    コメント

Xcode の便利プラグインまとめ

はじめに

Xcode 8 からのいわゆる Xcode Source Editor Extension ではなく、あくまで非公式のプラグインを掲載します。

  • インストール先は ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/
  • Alcatraz などのパッケージマネージャを使うと管理が楽
  • Xcode の更新でプラグインが使えなくなる事もあるので注意
    • "DVTPlugInCompatibilityUUID" を追記する事で対応出来る場合もある(後述)

管理

Alcatraz

Xcode プラグインや Color Scheme などを管理するパッケージマネージャ。これを入れておけばこの記事を見なくてもだいたいのプラグインは参照できます。
メニューバー > Window > Package Manager から開く。

Xcode 7.1 で使えなくなった場合

対応環境

  • Xcode 5, 6
  • OS X 10.9以降

インストール

$ curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

Xcode を再起動すると Window メニュー内に "Package Manager" という項目が現れる。

https://github.com/mneorr/Alcatraz
http://mneorr.github.io/Alcatraz/

alcatraz.png

JDPluginManager

Xcode プラグインを管理するためのプラグイン。Alcatraz が使えない環境では代替でこちらが利用できる。

https://github.com/jaydee3/JDPluginManager
https://github.com/jaydee3/JDListInstalledPlugins



エディタ – 自動補完

AutoCoding

NSCoding や -description の実装を自動生成する。

もう配布されていないようです。-description の自動生成は [XcodeGenerateDescriptionPlugin] で代替できます。

http://questbeat.hatenablog.jp/entry/2013/11/01/150141

動作環境

  • Xcode 5.0, 6.1

XcodeGenerateDescriptionPlugin

選択したプロパティ定義から、-description メソッドの実装を自動生成する。モデルクラスなどの実装に役立つ。

https://github.com/adamontherun/xCodeGenerateDescriptionPlugin


Auto Importer for Xcode

#import ディレクティブを自動挿入する。

https://github.com/lucholaf/Auto-Importer-for-Xcode

Peckham

#import ディレクティブをどこからでも挿入できるようにする。

https://github.com/markohlebar/Peckham

ImportSorter

#import ディレクティブの順番を自動で整理してくれる。

https://github.com/manji602/ImportSorter
http://qiita.com/manji602/items/25db3f65ee6fbd7b8d37


CATweakerSense

CAMediaTimingFunction のアニメーションカーブを GUI で編集できるようにする。

https://github.com/keefo/CATweaker

ヘルパーツール

ColorSense

NSColor / UIColor のコードを OS 標準のカラーパネルで編集できるようにする。
Xcode 8からは標準機能になったので不要と思われる。

https://github.com/omz/ColorSense-for-Xcode

動作の様子
http://www.youtube.com/watch?v=eblRfDQM0Go

ColorSenseRainbow

Swift に対応した NSColor / UIColor のコードを OS 標準のカラーパネルで編集できるようにするやつ。
Xcode 8からは標準機能になったので不要と思われる。

https://github.com/NorthernRealities/ColorSenseRainbow

FuzzyAutocompletePlugin

Xcode のコード補完機能を “Open Quickly” と同じような部分一致にする。Xcode 7.3 以降では標準機能になったので不要と思われる。

https://github.com/chendo/FuzzyAutocompletePlugin

HOStringSense for Xcode

NSString 編集機能を拡張する。" \n 等がより自然に入力できるようになる。

https://github.com/holtwick/HOStringSense-for-Xcode

IntelliPaste

良い感じにペーストできるようにする。
RGB値をNSColor/UIColor定義にしてくれる機能もある。

https://github.com/RobertGummesson/IntelliPaste-for-XCode

KSImageNamed-Xcode

UIImage のファイル名を補完する。画像プレビュー機能つき。
Xcode 8からは標準機能になったので不要と思われる。

https://github.com/ksuther/KSImageNamed-Xcode

解説記事
http://cocoadays-info.blogspot.jp/2013/01/xcode.html

LicenseNotice_XcodePlugin

MIT, Apache, GPL などのライセンス条文をソースコードファイルに挿入する。

https://github.com/xxhp/LicenseNotice_XcodePlugin

SCXcodeSwitchExpander

switch 文の補完機能を拡張するプラグイン。enum 定義から自動判定して必要な case が補完されるようになる。

https://github.com/stefanceriu/SCXcodeSwitchExpander

UselessPlugin

Objective-C++ 向けの補完機能を追加するプラグイン。

https://github.com/HoZanHoi/UselessPlugin

VVDocumenter

“///”と打つとJavaDoc風のコメントを挿入できるようにする。

https://github.com/onevcat/VVDocumenter-Xcode

GitHub

XCActionBar

Alfred のような感じにアクションを即座に実行できるようにする。

https://github.com/pdcgomes/XCActionBar



XcodeBoost

シンボルハイライト、メソッドの選択、メソッド定義のコピー、正規表現によるハイライト、インデントを考慮したペースト等の編集機能を追加する。

https://github.com/fortinmike/XcodeBoost

エディタ – コード整形

BBUncrustifyPlugin-Xcode

ソースコードを整形する

https://github.com/benoitsan/BBUncrustifyPlugin-Xcode

ClangFormat

ClangFormat を使ってコードを整形する。

https://github.com/travisjeffery/ClangFormat-Xcode
http://clang.llvm.org/docs/ClangFormat.html

ClangFormat-XcodeでObjective-Cのコードを整形してみた

http://qiita.com/shzero5/items/9bb912c86d22a867bcb4

導入からカスタマイズまでの方法がまとまっています。

Helmet

Apple のフレームワークに含まれるヘッダーファイルを誤って編集できないように編集不可にする。

https://github.com/brianmichel/Helmet

XAlign

コードを = で揃えたりする。

https://github.com/qfish/XAlign

GitHubより

エディタ – 表示系

AdjustFontSize

⌘ + ⌘ - でフォントサイズを変更できるようにする。使ってみたが、動作が割と重い。

https://github.com/zats/AdjustFontSize-Xcode-Plugin

AutoresizeMask for Xcode

UIViewAutoresizingMask の記述にフォーカスを当てると、現在の状態を図で表示する。ただし、IB のようにクリックしてコードが反映される機能はない。

メニューバー Edit > Show autoresizing masks… で有効になる。

https://github.com/garnett/AutoresizeMask-for-Xcode

Backlight

現在行の背景色を描画する。

https://github.com/limejelly/Backlight-for-XCode

BlockJump

ブロック単位でカーソル移動する。

https://github.com/tyeen/BlockJump

SCXcodeEditorInset

エディタの最下端の領域に余白を作る。

https://github.com/stefanceriu/SCXcodeEditorInset

SCXcodeMinimap

Sublime Text のようなプレビュー機能を追加する。

https://github.com/stefanceriu/SCXcodeMiniMap

TOCAssetCatalogBackground

xcassets の編集画面の背景色を黒くすることができるスイッチを追加する。(白系のアイコンが見やすくなる)

https://github.com/toco/TOCAssetCatalogBackground

Polychromatic

プロパティ、ivars, ローカル変数ごとに色を変える事ができる。

https://github.com/kolinkrewinkel/Polychromatic

標準:
標準

Polychromatic:

XToDo

TODO,FIXME,???,!!!! がついたコメントを一覧表示する。

https://github.com/trawor/XToDo

Xcode4_beginning_of_line

HOMEキーでホワイトスペースのない最初の行へ移動する。

https://github.com/insanehunter/XCode4_beginning_of_line

ローカライズ

Lin

NSLocalizedString の入力を楽する。

https://github.com/questbeat/Lin
https://github.com/questbeat/Lin-Xcode5

Xcode Quick Localization

NSLocalizedString の入力を楽にする。

https://github.com/nanaimostudio/Xcode-Quick-Localization

Xiblingual

xib, StoryBoard のローカライズを補助する。

https://github.com/hetima/Xiblingual

動作環境

  • Xcode 5.1

Vim

XVim

vim キーバインド

https://github.com/JugglerShu/XVim

viXcode

vim キーバインド(SIMBL プラグイン)

https://github.com/robertkrimen/viXcode

Vicious for Xcode

http://viciousapp.com

Interface Builder

RRConstraintsPlugin

Interface Builder に AutoLayout 関連の機能を追加するらしい。

https://github.com/RolandasRazma/RRConstraintsPlugin

MoarFonts

カスタムフォントのプレビューができる。有料。

http://pitaya.ch/moarfonts/

解説記事
http://d.hatena.ne.jp/shu223/20140315/1395050662

コンソール

BBUDebuggerTuckAway

デバッグ中に文字入力を開始したらデバッガーパネルを自動で閉じるようにする。
[DBSmartPanels] にも類似機能がある。

https://github.com/neonichu/BBUDebuggerTuckAway

Xcode Auto Close Debug

デバッグが終わったらデバッグパネルを自動で閉じるようにする。

https://github.com/larsxschneider/XcodeAutoCloseDebug

XCAddedMarkup

コンソールに画像を表示できるようにする。

https://github.com/mikr/XcAddedMarkup

XcodeColors

コンソールに着色する。SIMBL プラグインとしても動作可能。

http://deepitpro.com/en/articles/XcodeColors/info/index.shtml
https://github.com/robbiehanson/XcodeColors

使い方
NSString *string = @"文字列に着色";
NSLog(@"\033[" @"bg80,10,12;" @"\033[" @"fg255,255,255;" @"%@" @"\033[;", string);

XLog

コンソールに着色する。

https://github.com/Maxwin-z/XLog

GitHubより

BetterConsole

コンソールに出力されたファイルパスをクリックできるようにする。

GitHubより

https://github.com/cppforlife/BetterConsole

DebugSearch

コンソールの出力をフィルタリングできるようにする。

https://github.com/maranas/DebugSearch

PluginConsole

プラグインのデバッグ向けのコンソール拡張?

https://github.com/AlexIzh/PluginConsole

Xcode 4

Xcode 5
GitHubより

MCLog

コンソールの出力をフィルタリングできるようにする。

https://github.com/yuhua-chen/MCLog

ナビゲーション

BBUFullIssueNavigator

Issue Navigator のセルを展開して表示する。

https://github.com/neonichu/BBUFullIssueNavigator

CodePilot

検索・ナビゲーション機能拡張

http://codepilot.cc

Dash Plugin for Xcode

option + click のときに Dash で検索できるようにする。Dash.app が必要。

https://github.com/Kapeli/Dash-Plugin-for-Xcode

KKHighlightRecentPlugin

直近に開いたファイルをナビゲーター上でハイライト表示する。新しい順に色が濃くなる。

https://github.com/karolkozub/KKHighlightRecentPlugin

QuickFind

検索 command + F の動作を拡張する。実行した時点で選択文字列で検索を開始できるようにする。
Xcode とシステムのキーバインドの設定が必要。

https://github.com/qiaoxueshi/QuickFind

RegexSwitch

検索欄の正規表現を切り替えるボタンを追加する。

https://github.com/hetima/RegexSwitch

KSHObjcUML

Objective-C クラスの依存関係を出力できるようにする。

http://qiita.com/kimsungwhee/items/bcee04fc6275823e5991

インストール

Alcatraz 経由でインストールできる。

Xcode Explorer

プロジェクト内の通知やイベントを監視して一覧表示してくれるプラグイン。

https://github.com/edwardaux/XcodeExplorer

XprobePlugin

Objective-C メモリブラウザー。オブジェクトの中身をトレースして一覧で表示できる模様。

https://github.com/johnno1962/XprobePlugin

XcodeWay

Xcode やプロジェクトに関連するディレクトリに簡単に飛べるショートカットをウインドウメニューに追加する。

https://github.com/onmyway133/XcodeWay

CocoaPods

CocoaPods for Xcode

https://github.com/kattrali/cocoapods-xcode-plugin

CocoaPodUI

https://github.com/Galeas/CocoaPodUI

CocoaControls

CocoaControls

CocoaControls に登録されている情報を検索したりできる。

https://github.com/yeahdongcn/CocoaControlsPlugin

Git

GitDiff

git の差分をハイライト表示できる。
該当行の行番号欄の右端とスクロールバーに色が付き、カーソルを重ねると以前のコードがポップアップされる

https://github.com/johnno1962/GitDiff

ShowInGitHub

https://github.com/larsxschneider/ShowInGitHub

その他

Anglerfish

シミュレーター一覧を最近使用した順に並び替える。

https://github.com/dealforest/Anglerfish

LessAnim

Xcode のいくつかのアニメーションを無効化するプラグイン。

https://github.com/ShingoFukuyama/LessAnim-for-Xcode

詳しくはこちら:XcodeのUIアニメーションを消すプラグインLessAnim

DBSmartPanels

デバッグパネル、ユーティリティパネル等の挙動を設定できる。
例えば、「文字入力を始めたらデバッグパネルを自動で閉じる」、「IBを起動したらユーティリティパネルを自動で開く」といったことが設定可能。

https://github.com/chaingarden/DBSmartPanels/

xcfui

未使用の import ディレクティブを警告表示する。

https://github.com/jcavar/xcfui

Injection for Xcode

Method Swizzling により、実行中でもコード編集しながらデバッグができるようになる。

Code Injection for Xcode (Plugin Version) from John Holdsworth on Vimeo.

http://injectionforxcode.com
https://github.com/johnno1962/injectionforxcode

KPRunEverywhereXcodePlugin

複数の実機デバイス向けに一括ビルドができるようになる。

https://github.com/kitschpatrol/KPRunEverywhereXcodePlugin

Mini Xcode

ツールバーを隠しても Scheme を表示できるようにする。

https://github.com/Daij-Djan/MiniXcode

SchemeShortcuts

Scheme に対してショートカットを割り当てる。

https://github.com/cppforlife/SchemeShortcuts

DerivedData Exterminator

DerivedData(ビルド時に生成されるキャッシュ等が保存されているディレクトリ)を消去するためのボタンをウインドウ/ツールバーに追加する。

https://github.com/kattrali/deriveddata-exterminator

CopyMethodStyle

メソッドやプロパティをいろいろな形式でクリップボードにコピーできる。
プロジェクトから Archive ビルドして .xcplugin ファイルを生成したら手動インストールする。

https://github.com/hetima/CopyMethodStyle

WindowFlex

Xcode のウインドウ幅をより縮小できるようにする。

https://github.com/zenangst/WindowFlex

Open with Application

ファイルのコンテクストメニューから「このアプリケーションで開く」指定が出来るようにする。

https://github.com/inquisitiveSoft/Open-with-Application

WakariyasuiCommitPopup

コミット履歴のポップアップメニューの表示を判りやすくする。

https://github.com/hetima/WakariyasuiCommitPopup

動作環境

  • Xcode 5.0

Xcode4 Fixins

Xcode 4の UI の挙動を変更するプラグイン集。

動作環境

Xcode 4専用

内容

  • CurrentLineHighlighter: 選択行強調
  • DisableAnimations: UIアニメーション無効化
  • FindFix: 検索時にオプション表示をデフォルトにする。エディタの表示がバグる?
  • HideDistractions: エディタだけ表示
  • InhibitTabNextPlaceholder: Tab キーによるプレースホルダ移動を禁止
  • TabAcceptsCompletion: Tab キーで補完候補を選択
  • UserScripts: Xcode3 風の AppleScript メニューを追加

https://github.com/davekeck/Xcode-4-Fixins

XLocation

地図から GTX ファイルを生成できる機能を追加する。

https://github.com/StefanLage/XLocation

解説記事
http://cocoadays-info.blogspot.jp/2014/05/gpx-xcode.html

Xcode Maven Plugin

https://github.com/sap-production/xcode-maven-plugin

Gradle Xcode Plugin

https://github.com/openbakery/gradle-xcodePlugin

プラグインの雛形

Xcode4 Plugin Template

Xcode 4 プラグインのひな形
https://github.com/kattrali/Xcode4-Plugin-Template

Xcode5 Plugin Template

Xcode 5 プラグインのひな形
https://github.com/kattrali/Xcode5-Plugin-Template

更に詳しく

DVTPlugInCompatibilityUUID

Xcode の更新でプラグインが読み込まれなくなってしまったら、プラグインバンドルの Info.plist 内 DVTPlugInCompatibilityUUIDs アレイに、対象の DVTPlugInCompatibilityUUID を追記する事で対応出来る場合がある。これについては以下の記事でも解説されている。

Xcode UUID
8.0 8A66E736-A720-4B3C-92F1-33D9962C69DF
8beta6 1637F4D5-0B27-416B-A78D-498965D64877
7.3 ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C
7.2.1 F41BD31E-2683-44B8-AE7F-5F09E919790E
7.2 F41BD31E-2683-44B8-AE7F-5F09E919790E
7.1.1 7265231C-39B4-402C-89E1-16167C4CC990
7.1β CC0D0F4F-05B3-431A-8F33-F84AFCB2C651
7.0 0420B86A-AA43-4792-9ED0-6FE0F2B16A13
6.4 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90
6.3 9F75337B-21B4-4ADC-B558-F9CADF7073A7
6.2 A16FF353-8441-459E-A50C-B071F53F51B7
6.1 C4A681B0-4A26-480E-93EC-1218098B9AA0
6.0 C4A681B0-4A26-480E-93EC-1218098B9AA0
5.1 A2E4D43F-41F4-4FB9-BB94-7177011C9AED

Xcode6で動かないプラグインを対応させる
http://qiita.com/roana0229/items/c8517935b43096be4682

Xcode 5.1にupdateした後に、使えなくなったxcode plug-inを再び使えるようにする方法
http://qiita.com/roothybrid7/items/85bacb992a22aaad04cd

[暫定対応]Xcode5.1で今まで使っていたプラグインが使えなくなってしまった場合の対応
http://qiita.com/hachinobu/items/d26b86454c2f8a4e175f

DVTPlugInCompatibilityUUID
http://qiita.com/kotowo/items/39caf5d451f0a538824c

DVTPlugInManagerNonApplePlugIns-Xcode-7.1 について

Xcode7.1にアップデートしてAlcatrazが消えたら
http://qiita.com/redpanda/items/b2e6a1538bb3e71688b7

Alcatraz in XCode 7.1
http://stackoverflow.com/questions/33342969/alcatraz-in-xcode-7-1

プラグイン作成資料

Xcode Plugin が盛り上がっているらしい
http://qiita.com/griffin_stewie/items/ffb53d0a5d03fe2d91a4

初めてのXcode 5 プラグイン開発
http://dev.classmethod.jp/smartphone/xcode5-plugin-1/

Creating an Xcode4 plugin
http://www.blackdogfoundry.com/blog/creating-an-xcode4-plugin/