Xcodeでオリジナルのスニペットを登録する方法

2016年10月4日(更新: 2016年10月5日)

Xcodeのアイコン

コードを登録しておくことで、一瞬で入力できるようにするスニペットSnippet)をXcodeで作成する方法です。繰り返し入力する定型分を追加しておくと作業効率が上がります。

以下の手順は Xcode 8.0 で動作を確認しています。

スニペットの一覧表示

すでに登録されているスニペットは、Xcode上部のメニューバーから View > Utilities > Show Code Snippet Library を選択します。

XcodeのSnippetリスト

すると画面右下にスニペットの一覧が表示されます。

Snippet一覧

スニペットを新しく登録する

自作のスニペットは、先ほど表示したスニペット一覧にコードをドラッグアンドドロップすることで登録できます。

例として、ボタンをViewの画面中心に作る、以下のようなコードをスニペット化してみます。

        let submitButton = UIButton(type: .system)
        submitButton.setTitle(<#buttonText#>, for: .normal)
        submitButton.addTarget(self, action: #selector(<#targetFunc#>), for: .touchUpInside)
        submitButton.sizeToFit()
        submitButton.center = self.view.center
        self.view.addSubview(submitButton)

以下のように書いた部分は、タブキーでフォーカスの切り替え(カーソルの移動)ができるようになります。

<#文字列#>

実際に入力すると、この部分は以下のように青く表示されます。

※ 画像のコードでは、submitButton.sizeToFit() と submitButton.center = self.view.center の行が逆になってしまっています。これでは正しくボタンが中心位置とならないので上記コードのように修正してください。

スニペット化するコード例

このコードを選択して、画面右下のスニペット一覧にドラッグしてドロップします。

スニペット追加

ドロップすると、以下のようにスニペットを追加するために設定を行う画面が表示されますので、各部分を入力しましょう。特に重要なのは Completion ShotcutCompletion Scopes です。

Completion Shotcut には、スニペットに変換させたい(補完したい)文字列を入力します。例えば、次の画像のように「mybutton」すれば、mybutton と打つだけでこのスニペットが呼び出せるようになります。

Completion Scopes は、コードのどの部分で使われるスニペットかを指定します。今回はメソッド内で呼び出すスニペットですので、Function or Method を指定しました。

スニペットの詳細入力

Done を押せば登録完了です。

スニペットの動作確認

早速登録したスニペットを呼び出してみます。mybutton と打てば補完が働くようにしましたが、myと入力した時点ですでに候補に出てきました。

Snippetの自動補完

これを選択すると、以下のコードが入力されました。タブでフォーカス部分の切り替えができます。1つ目のフォーカス箇所を入力した後、タブキーを押せば素早く2つ目の入力箇所にカーソルを移動させられます。

スニペットでフォーカス切り替え

以上で、Xcodeで使えるスニペットを登録することができました。

コメントを残す

メールアドレスが公開されることはありません。