Recommended Configuration Options

Xcode includes a mind-boggling number of configuration options. Here are five settings that I find most helpful, especially for those who are just getting started with coding. The first two should be enabled by default. All except the last remain in effect across different projects; the last needs to be set for each new project.

Turn on Line Numbers
Xcode menu > Settings… > Text Editing tab > Display tab
Ensure that the box labeled “Show: Line numbers” is checked.
Convert Tabs to Spaces
Xcode menu > Settings… > Text Editing tab > Indentation tab
Select “Prefer Indent Using: Spaces”, set tab and indent widths both to four, and select “Tab Key: Indents in leading whitespace”.
Tab characters can cause your neatly-formatted code to look misaligned in other editors. Modern style guides for various languages often recommend that spaces always be used for indenting and alignment of code, rather than tabs. You won't lose the ability to indent code using the tab key with this option, but it will cause spaces to be inserted instead of tabs.
Disable Live Issues and Code Completion
Xcode menu > Settings… > General
Uncheck “Issues: Show live issues”.
Xcode menu > Settings… > General > Text Editing tab > Editing tab
Uncheck “Code Completion: Suggest completions while typing” and “Predictive code completion”.

You're smarter than your computer, but writing programs still requires an enormous amount of careful attention to details. The Live Issues feature is kind of like “spell check” for your source code, while Code Completion will attempt to guess what you're typing and offer various completion options. They sound great, but I strongly encourage you to disable both features.

When you're first learning to code, Live Issues and Code Completion seem like they will help save time and ensure that you type everything correctly. My experience is the opposite. Just like there are probably words that you still don't know how to spell, because you depend on those red wavy underlines in your word processor, Live Issues and Code Completion can promote similar gaps in your knowledge. The compiler will still catch typos and syntax errors when you attempt to run your programs, but without Live Issues and Code Completion turned on, you'll be forced to think more carefully while you're typing rather than expecting a prompt that does the thinking for you — and you'll become a better coder as a result.

Treat Warnings as Errors
This is a tricky option to find!
Select your “project” at the top of the Navigator on the left > Select your project again in the Projects and Targets list just to the right of the Navigator > Build Settings tab > All and Combined tabs > scroll down the settings until you find the “Apple Clang - Warning Policies” heading
Set “Treat Warnings as Errors” to Yes.

Warnings are things in your program that the compiler has flagged as suspicious, even though the code is syntactically correct. These can be as benign as declaring a variable that you never use, but often point to more serious problems with your code.

Beginning programmers often blow past such warnings like a yellow traffic light in Sacramento, with mental assurances that “it's just a warning.” I instead want you to think about them in the same way you would a sign that says, “WARNING! Dangerous tiger on the loose!”

Don't get bit! Warnings are frequently a source of lost points on assignments, as they often point to problems that might not be readily apparent, but can sometimes be exposed with just the right set of inputs. This option will force you to eliminate all warnings in your code by instead treating them as errors.