Xcode5でCodeSnippetsをgit管理する

Xcode5でCodeSnippetsをgit管理する今日の勉強会でCodeSnippetsの機能の紹介を見て、後回しにしていたことを思い出して書き出してみることにしました。XcodeのCodeSnippetsのgit管理です。

CodeSnippets機能の簡単な説明

CodeSnippetsは、Xcodeのスニペット機能で、if文やinline Blockなどデフォルトで幾つか用意されています。利用時はこのようになります。

If

一覧はここにあります。

Snippets

ここに書いたコードをドラッグ&ドロップするとカスタムのスニペットを追加することができます。更に、<# #>でくくると、スニペットを利用した際にその部分にコードを挿入することができるようになります。その部分の利用方法は下記のブログがわかりやすいです。

スニペットに関してはこちらが参考になると思います。

CodeSnippetsをgitで管理する

さて、本題です。このCodeSnippets、マシンを変えたりするともちろん利用できないんですね。あと、Xcodeのメジャーアップデートの際などに消えてしまったような気もします(確証ないですが、そのあたりのタイミングでまっさらになりました)。そんな、不安定さがありあまり使っていなかったんですが、ちゃんとgitで管理しちゃえば不安とはおさらばできます。

まず、このファイルがどこにあるか。

~/Library/Developer/Xcode/UserData/CodeSnippets

ここにあります。カスタムのスニペットが一つでもあると表示されます。中身はxmlで記述されています。このCodeSnippetsディレクトリの中で、git initしてbitbucketだとかGithubにpushしておけば管理開始です。簡単ですね。

僕の場合は、こういう管理対象のファイルは~/tools/Xcodeディレクトリにまとめて入れていて、そこからシンボリックリンクをXcodeのプロジェクトの中に張っています。こうすることで管理対象を見失わないようになるかななんて思ってます。

$ ln -s ~/tools/Xcode/CodeSnippets ~/Library/Developer/Xcode/UserData/CodeSnippets

おまけ: CodeSnippetsをDropboxで共有する

同じような発想なんですが、Dropboxで共有することもできます。Dropboxのディレクトリの中にCodeSnippets本体を入れておき、~/Library/Developer/Xcode/UserData/CodeSnippetsにシンボリックリンクを作成すれば複数端末でCodeSnippetsを同期することができます。

お好きな方を〜。

参考

Pocket
LINEで送る

You may also like...