Slide 1

Slide 1 text

Xcode Hidden Gems Loving the most hated IDE again (Or bending Xcode to your will) © Sidney de Koning, 2016

Slide 2

Slide 2 text

Topics • Keybindings • Themes & Fonts • Behaviours • Breakpoints • Search • Snippets & Text expanding • Source Editor Extension (Plugins) • External tools: SwiftLint & depcheck © Sidney de Koning, 2016

Slide 3

Slide 3 text

Keybindings The Most essential ones: ⌘⇧O - Quick Open File ⌘t - new tab ⌘0 / ⌘⌥0 - toggle left/right panel ⌘⌥↩ / ⌘↩ - Split Code / Single code View ⌘⇧Y - toggle console ⌘⇧J - Jump to current file ⌘⌥⇧F - Find and Replace all in Workspace. ⌘G - Cycle search results ctrl⌘J - Look at header / implementation ⌘[ or ⌘] - Move line [up/down]. Demo! More here cheatsheetapp.com © Sidney de Koning, 2016

Slide 4

Slide 4 text

Search • Find text, references and definitions • Delete results with backspace, so less clutter Demo! © Sidney de Koning, 2016

Slide 5

Slide 5 text

Themes Find them on codethemes.net Path: ~/Library/Developer/Xcode/UserData/FontAndColorThemes Demo! © Sidney de Koning, 2016

Slide 6

Slide 6 text

Fonts Use a font that is readable. Maybe one that uses ligatures? • Fira Code • Monoid • Hasklig • Fixedsys More on programmingfonts.org/list Demo! © Sidney de Koning, 2016

Slide 7

Slide 7 text

Behaviours Adaptive Xcode UI. Demo! © Sidney de Koning, 2016

Slide 8

Slide 8 text

Breakpoints • User breakpoints (for all projects) • Project breakpoints Path: ~/Library/Developer/Xcode/UserData/xcdebugger Demo! © Sidney de Koning, 2016

Slide 9

Slide 9 text

Snippets - Text expanding • Native to macOS (Preferences + Edit 㱺 Format 㱺 Substitutions) • Xcode - Drag drop code to create snippet • Snippets can be shared in team. Path: ~/Library/Developer/Xcode/UserData/CodeSnippets Demo! © Sidney de Koning, 2016

Slide 10

Slide 10 text

Snippet Sharing cd ~/Library/Developer/Xcode/UserData rm -R CodeSnippets ln -s {location_of_repo}/ios_codesnippets CodeSnippets Full explanation bit.ly/xcsnippets © Sidney de Koning, 2016

Slide 11

Slide 11 text

Plugins Let's create a plugin. XCSourceEditorCommandInvocation • buffer • lines • selection © Sidney de Koning, 2016

Slide 12

Slide 12 text

External tools • SwiftLint (github.com/realm/SwiftLint) • depcheck (github.com/wojteklu/ depcheck) © Sidney de Koning, 2016

Slide 13

Slide 13 text

The End. Thank you! All code will be on github.com/funky-monkey/XcodeGemsTalk Contact me via Twitter: @sidneydekoning @iheartswiftlang © Sidney de Koning, 2016

Slide 14

Slide 14 text

© Sidney de Koning, 2016