Nov 30, 2022
Marko Benačić
Typing a lot of code and smashing that mechanical keyboard a bunch surely can be satisfying.
But at the same time, we can all agree that writing boilerplate code takes up a big chunk of our
precious time.
Since every self-respecting developer strives to be as efficient as possible, it is important to
master the tools
provided by Apple’s Xcode if you wish to take your productivity to the next level.
This article is part 1 of a three-part series about Xcode’s snippets, shortcuts, and
templates.
Part 2 — Xcode Shortcuts and part 3 — Xcode Templates are coming soon so make sure to come back and
check on them!
Snippets are Xcode’s tool used for creating templates of frequently used boilerplate code.
You have probably been using snippets without even knowing about them!
For example, if you start typing func, you will see a suggestion like the one in
the picture ->
If you then proceed to hit enter, Xcode will generate a skeleton where you can
easily input function name,
parameters, return type, and a function body.
Once you’ve filled in a field (also known as placeholder token),
you can press tab to switch to another one like so ->
You can find available snippets in 3 ways:
Open snippets button
After you’ve found the one you want to use, you can press enter or drag and drop it into your code:
There are many useful preset snippets already included such as docatch, guardlet, ifelse,
available, etc.
Feel free to look around the library and try incorporating the ones you think would be the most useful
to you!
Here comes the useful part. Let’s say you’re writing a lot of closures that are using references to
self.
One way of avoiding retain
cycles
is by using [weak self].
If we then wish to use that self reference
in our closure,
we must first make sure the reference even exists
(that it is not nil).
One way of doing that is by using guard:
guard let self = self else { return }
Here’s an example:
Output:
Peanut Butter
Bananas
Since we are probably going to repeat those two little lines of code lots of times throughout our apps,
let’s create two snippets for them:
There are some other options to set for our snippet such as changing the preferred language (any language
that is supported by Xcode),
platform (iOS, macOS, tvOS, watchOS, or All), and scope availability, as well.
Feel free to test
them out!
If we now proceed to write our shortcut (in this case “ws”), code completion will keep suggesting our
snippet
and pressing enter will write it out for us. Now we do the same procedure for the next line
of code containing guard let self.
Using our newly created snippets should look something like this:
Wow! That was fast!!
I often use mark comments (and so should you!) to help me read through my code better.
To create a mark comment snippet with a placeholder token just type your placeholder name (eg. content)
between <# and #> in your code, and create a snippet as shown above.
What if you want to share your super cool snippet with a friend?
All of your snippets are located
at ~/Library/Developer/Xcode/UserData/CodeSnippets. They are saved as plist file format and you can
copy and paste them directly into the CodeSnippets folder at the file path shown above.
Unfortunately,
they are given a random UUID name, but you can simply open them with a text editor to find the one you
want to share.
Congrats! You’ve successfully created your first code snippet and made yourself a more efficient iOS developer!
In the next part of this mini-series, we will share more about using the best Xcode shortcuts that can help you
become an even more efficient iOS developer.
If you liked this article or have any questions, feel free to contact us on LinkedIn.
We’re looking forward to meeting you!