コンテンツへスキップ

Xcode 15でCtrl+Mを使った複数行コード展開

Xcode 15に導入されたCtrl+Mショートカットで、関数呼び出しやパラメータを複数行に展開する方法。

コードを複数行に展開する

Xcode 15では小さいながらもインパクトのある編集ショートカットが導入されました:Ctrl+M。関数呼び出し、イニシャライザ、またはカンマ区切りのパラメータリストにカーソルを置いてCtrl+Mを押すと、Xcodeが自動的に複数行に展開します。1行に1パラメータ、適切にインデントされた状態になります。

Ctrl+M shortcut

このショートカットがなければ、長い関数呼び出しの整形は手動で改行を追加してインデントを修正する作業でした。例えば、以下のような呼び出しを考えてみましょう:

let label = UILabel(frame: .zero, font: .systemFont(ofSize: 14), textColor: .label, numberOfLines: 0)

その行にカーソルを置いてCtrl+Mを押すと、Xcodeが以下のように整形します:

let label = UILabel(
   frame: .zero,
   font: .systemFont(ofSize: 14),
   textColor: .label,
   numberOfLines: 0
)

いつ使うべきか

このショートカットは、SwiftUIのビューモディファイアやイニシャライザで時間とともにパラメータが蓄積される場合に最も有用です。2つのパラメータで始まったビューが、設定を追加するうちに5つや6つに増えることはよくあります。毎回手動で整形する代わりに、Ctrl+Mで1回のキーストロークで処理できます。

逆方向にも動作します。パラメータがすでに別々の行にある場合、Ctrl+Mを押すと1行に戻ります。このトグル動作により、可読性のニーズに応じてコンパクトな形式と展開された形式を簡単に切り替えることができます。

一つ注意点があります:このショートカットはカーソル位置の最も内側のパラメータリストに対して動作します。ネストされた関数呼び出しがある場合は、正しいものを展開するためにカーソルを慎重に配置してください。

参考になりましたか?BlueskyMastodonでフォローして、Swiftのヒントやインディー開発の最新情報をチェックしてください。