Section 2/181 menit

2. Xcode: Shortcuts, Settings, dan Hidden Features

2. Xcode: Shortcuts, Settings, dan Hidden Features

Keyboard Shortcuts Paling Produktif

swift
Navigation:
  ⌘ + Shift + O     → Open Quickly (cari file/class/function)
  ⌘ + Shift + J     → Reveal file aktif di navigator
  ⌃ + 6            → Jump to method/property dalam file
  ⌃ + 1            → Related items (callers, superclass, dll)
  ⌘ + L            → Go to line number
  ⌘ + [ / ]        → Indent/unindent selection
  ⌘ + /            → Toggle comment
  ⌃ + I            → Re-indent selection

Editing:
  ⌥ + Click        → Add cursor (multi-cursor editing)
  ⌘ + Shift + F    → Find in project
  ⌘ + Shift + R    → Replace in project (rename)
  ⌃ + ⌘ + E       → Rename semua occurrences di file
  ⌘ + ⌥ + [/]     → Move line up/down

Build & Run:
  ⌘ + B            → Build
  ⌘ + R            → Run
  ⌘ + U            → Run tests
  ⌘ + .            → Stop
  ⌘ + Shift + K    → Clean build folder
  ⌘ + ⌥ + Shift + K → Clean derived data (nuclear option)

Debugging:
  ⌘ + \            → Toggle breakpoint
  ⌘ + Y            → Enable/disable all breakpoints
  F6               → Step over
  F7               → Step into
  F8               → Step out
  ⌘ + ⌥ + P       → Continue to next breakpoint

Xcode Settings untuk Produktivitas

Buka Xcode → Settings dan aktifkan/ubah:

swift
Text Editing:
  ✓ Show: Line numbers
  ✓ Show: Code folding ribbon
  ✓ Trim trailing whitespace
  ✓ Including whitespace-only lines
  ✓ Default line endings: macOS / LF

Accounts:
  → Tambahkan Apple ID untuk signing otomatis
  → Connect GitHub/GitLab untuk source control

Behaviors (⌘ + ,  → Behaviors):
  Saat build fails → Show Issues navigator
  Saat tests fail → Show Test navigator
  Saat runningShow Debug area

Xcode Instruments Quick Launch

swift
# Jalankan Instruments dari command line
xcrun instruments -t "Time Profiler" -D ~/Desktop/trace.trace \
  -l 10000 -w "iPhone 15 Pro" \
  com.mycompany.myapp

# Buka file .trace
open ~/Desktop/trace.trace

File Templates Custom

Buat template file Swift yang muncul di File → New → File:

swift
# Lokasi templates Xcode
TEMPLATES_DIR="$HOME/Library/Developer/Xcode/Templates/File Templates/Custom"
mkdir -p "$TEMPLATES_DIR/Custom"

# Struktur folder template
# CustomView.xctemplate/
#   TemplateInfo.plist
#   ___FILEBASENAME___.swift
swift
<!-- TemplateInfo.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Kind</key>
    <string>Xcode.IDEFoundation.TextSubstitutionFileTemplateKind</string>
    <key>Description</key>
    <string>Custom SwiftUI View with ViewModel</string>
    <key>Summary</key>
    <string>Creates a SwiftUI View with accompanying ViewModel</string>
    <key>SortOrder</key>
    <string>1</string>
    <key>Platforms</key>
    <array>
        <string>com.apple.platform.iphoneos</string>
    </array>
    <key>MainTemplateFile</key>
    <string>___FILEBASENAME___.swift</string>
</dict>
</plist>
swift
// ___FILEBASENAME___.swift — template content
// ___FILEHEADER___

import SwiftUI

// MARK: - ViewModel

@Observable
final class ___FILEBASENAMEASIDENTIFIER___ViewModel {
    
}

// MARK: - View

struct ___FILEBASENAMEASIDENTIFIER___: View {
    @State private var viewModel = ___FILEBASENAMEASIDENTIFIER___ViewModel()
    
    var body: some View {
        Text("___FILEBASENAMEASIDENTIFIER___")
    }
}

#Preview {
    ___FILEBASENAMEASIDENTIFIER___()
}