Overview
Apple has announced lots of things in the last WWDC21, one of my pals already briefed them here so, you can that checkout and along with those updates, we have an update on our very popular IDE, which is Xcode-13.
Let’s take a look at some key features of Xcode-13, there are lots of new features and improvements, if you want to dive-in deep then check out the Xcode-13 Beta Release Notes.
Design:
Xcode-13 comes up with design changes like:
Project navigator now has new icons according to file types
The file extension name is hidden now by default for a cleaner look, and yes, you can choose show them by making a small change in preference as shown below
Autocompletion improvements:
So now, let’s talk about the source editor where we spent most of our time on Xcode and write the code, and while coding autocompletion has always been a lifesaver and time saver for us and with Xcode 13, it’s very much improved with an improved autocompletion
Automatically import:
So while you type your code and did code for something which is not currently available then it will automatically import for you just like this
Unwrap optionals:
Source editor now detects when you try to unwrap optionals with if…let or guard…let and will complete it for you just like this
Deeper properties:
Xcode is now offering you deeper autocomplete options, including properties inside properties.
Enum cases with switch:
Xcode now can autocomplete all the enum cases when you use switch to operate them with the condition, as before I used to wait for Xcode to give me error for missing cases and then, with it’s error suggestion I used to get all the enum cases but now no need to wait for that
Loop with a singular version of array name:
So now when you loop over an array, then Xcode will automatically complete it with a singular version of the array name, as you can see here it took name from names
This is personally my favorite one, you know why, because apple did something magical here more sort of machine learning or something because it also works with irregular ones too, just look at this
Error and Warning (issue reporting):
Most of the time when you code in Xcode it shows your code issues right next to the source code but sometimes you know exactly what the problem is but Xcode continuously tell you with inline error or warning and could interfere into your coding flow
till now, you couldn’t do anything with it but now you can, you can change it to minimized mode, in which your code issue still show right next to your source code, but now it will collapse with a single icon on the right edge. And yet you can get the same detailed information by clicking on it, if you like the collapsing option then you can do it with Xcode-13, go to preference and follow this
Column breakpoints:
Code debugging is a hardcore part of a developer’s life and Breakpoints makes it fun to do and with Xcode-13 there is another more convenient feature introduced, Column breakpoints
Column breakpoint as functioned as Row breakpoint but with it, you can set a breakpoint before a certain part of the code chain rather than breaking for the whole line
Vim Mode:
You can now enable Vim Key bindings with Xcode-13 from
preference -> Text Editing
If you’re not familiar with Vim, it’s a command-line text editor, it has a very particular way of working which requires careful knowledge of the keyboard, if you have a great command over the keyboard then vim can be more fun because vim supports: navigation, insertion, yanking, searching, and much more
Version Control:
Xcode has integrated version control for a very long time, and most of us also use it, but Xcode-13 has its biggest update.
It’s now much easier to compare changes between any two code versions, also you can open pull requests in Xcode and invite reviewers and even handle code review right inside the IDE.
But for experiencing the updates of version control make sure your project has been configured with Git and you have Xcode’s source control feature enabled
DocC (Documentation Compiler):
Documentation of our code is always a good practice to do. I usually put comments and markdowns to my code for my reference and understanding and now that thing is becoming a habit of my code structure.
And now Xcode-13 has the ability to create documentation sets straight from our code. It could read all the markdown comments you add and build them right into Xcode’s default help system using exactly the same layout and formatting as Apple’s own frameworks.
Xcode Cloud:
Xcode Cloud is a great addition for collaborative teams that allows continuous integration, delivery, parallel testing across multiple device types, and to automatic push your app to TestFlight to easily get your latest build to your testers
This is just a brief overview of Xcode Cloud, it’s such a vast topic and I’ve requested beta access for it but have yet not received so will discuss more on this later.
Wrapping up
Xcode-13 has lots of upgrades these were some of them and there are still a few more new features introduced, including support for Swift package collections, cloud signing, accessibility controls, overrides, and many more you can check out full Release Notes of Xcode-13 beta-1, as I already mentioned in the overview
If you have developer account access then you can download Xcode-13 beta and other beta versions too.