21
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Xcode】ショートカットガチ勢が普段よく使うショートカットを紹介する

Last updated at Posted at 2023-12-28

こんにちは!作業効率厨、むらおです!
爆速コーディングのために、ショートカットガチ勢(自称)である自分が、よく使うショートカットや開発スピードアップテクニック?を紹介します

登場する記号たち

記号
Command
Shift
Control
Option
Return
BackSpace
↑↓←→ 矢印

Tier

独断と偏見でつけていきます

Tier 説明
S エース・これなしではやっていけない
A+ 最強ではないものの非常によく使う
A 結構使う
A- 場所を選ぶが、結構使う
B 便利
C たまに使う
D あんまり使わない

Xcode編

Build系

Tier ショートカット アクション
S ⌘ + R 実行
S ⌘ + B ビルド
A ⌘ + ⇧ + K クリーンビルド
B ⌘ + . 停止
S ⌘ + U 全体テスト
A+ ⌘ + ⌃ + R 前回のビルド情報で実行(XcodeとSimulatorを接続したい時によく使う)

Editor系

Tier ショートカット アクション
A+ ⌃ + I インデント修正
B ⌘ + ⌥ + ↩ プレビュー表示
B ⌘ + ↩ プレビュー非表示
D ⌘ + [ インデントを左にずらす
D ⌘ + ] インデントを右にずらす
B ⌘ + ⌥ + ← コードを折りたたむ
B ⌘ + ⌥ + → 折りたたみをやめる
A ⌘ + / コメントアウト
A+ ⌘ + ⌥ + [ カーソル行を上に移動
A+ ⌘ + ⌥ + ] カーソル行を下に移動
C ⌘ + + フォントサイズを大きく
C ⌘ + - フォントサイズを小さく
B ⌘ + ⇧ + ⌃ + A 編集履歴を表示
軽くデモ

インデント修正
CleanShot 2023-12-28 at 21.23.46.gif

プレビュー表示/非表示CleanShot 2023-12-28 at 21.27.52.gif

インデントを左/右にずらす
CleanShot 2023-12-28 at 21.28.36.gif

コードを折りたたむ/折りたたみをやめる
CleanShot 2023-12-28 at 21.29.09.gif

カーソル行を上/下に移動
CleanShot 2023-12-28 at 21.29.47.gif

Navigate系

Tier ショートカット アクション
S ⌘ + ⇧ + J 開いているファイルの場所を表示
B ⌘ + J (分割モードのとき)フォーカスを移動
S ⇧ + ⌥ + タブクリック ファイルを別のエディタで開く(分割モードにできる)
A- ⌘ + ⇧ + [ 左のタブに移動
A- ⌘ + ⇧ + ] 右のタブに移動
B ⌘ + L 指定の行に移動
S ⌘ + ⇧ + O ファイル検索
軽くデモ 開いているファイルの場所を表示

CleanShot 2023-12-28 at 21.32.21.gif

(分割モードのとき)フォーカスを移動
CleanShot 2023-12-28 at 21.31.39.gif

ファイルを別のエディタで開く(分割モードにできる)CleanShot 2023-12-28 at 21.32.47.gif

左/右のタブに移動

CleanShot 2023-12-28 at 21.33.09.gif

ファイル検索

CleanShot 2023-12-28 at 21.34.07.gif

Find系

Tier ショートカット アクション
S ⌘ + F ファイル内検索
S ⌘ + ⇧ + F プロジェクト内検索
A- ⌘ + ⌥ + F(カスタムショートカット) 置換(Find and Replace)
B ⌘ + ⌃ + E 一括置換
A- ⌘ + ⌥ + E 選択し、置換

編集系

Tier ショートカット アクション
S ⌃ + D カーソルの右を一つ削除
S ⌃ + H カーソルの左を一つ削除
S ⌃ + K カーソルの右を全て削除
C ⌘ + ⌫ カーソルの左を全て削除
S ⌘ + Z Undo
S ⌘ + ⇧ + Z Redo
S ⌘ + D カーソル行を複製
S ⌃ + m 引数を改行

選択系

Tier ショートカット アクション
A- ⌘ + A ファイル内全選択
A ⌘ + ⇧ + ← カーソルの左を全て選択
A ⌘ + ⇧ + → カーソルの右を全て選択
A ⇧ + ⌥ + ← カーソルの左をひと単語選択
A ⌘ + ⇧ + → カーソルの左をひと単語選択
A+ ⌃ + ⇧ + ↑ マルチカーソル
A+ ⌃ + ⇧ + ↓ マルチカーソル
B ⌃ + ⇧ + Click マルチカーソル
C ⌥ + Drag マルチカーソル

移動

Tier ショートカット アクション
S ⌃ + f 右に一つ移動
S ⌃ + b 左に一つ移動
S ⌃ + n 下に一つ移動
S ⌃ + p 上に一つ移動
A ⌥ + ← 左にひと単語移動
A ⌥ + → 右にひと単語移動
S ⌃ + a 一番左に移動
S ⌃ + a から ⌃ + i 一番左の文字に移動
S ⌃ + e 一番右に移動

その他

Tier ショートカット アクション
S ⌘ + , Xcodeの設定を開く
S ⌘ + , Xcodeの設定を開く

Raycast編

Raycastのスニペットを登録しておいて、入力を検知して結果を反映させている
例えば、.fmlと入力すると.frame(maxWidth: .infinity, alignment: .leading)に変換される
正直これが生産性バグ上げしていると思う
Raycast + Xcodeで爆速開発したい!にて詳細あり

Tier 入力 結果
S .fs .foregroundStyle(Color.)
S .fwh .frame(width: 16, height: 16)
S .fmi .frame(maxWidth: .infinity)
S .fml .frame(maxWidth: .infinity, alignment: .leading)
S .fmt .frame(maxWidth: .infinity, alignment: .trailing)
S ifv import SwiftUI
struct ViewName: View {
var body: some View {}
}
extension ViewName {}
A- xctae XCTAssertEqual(<#T##expression1: Equatable##Equatable#>, <#T##expression2: Equatable##Equatable#>)
S .clirou .clipShape(RoundedRectangle(cornerRadius: 25.0))
S vview var viewName: some View {}
S fview func viewName() -> some View {}
S sview struct ViewName: View {
var body: some View {}
}

スニペットまでは載せませんが、テストなどは大体フォーマットが決まっているため、スニペットに登録して呼び出しています

Vim編

Vimはまだ初心者なので、あまり使いこなせてないですが、おまけ程度に紹介します

Tier ショートカット アクション
S C → I → W カーソル上の単語を消して入力する
S U Undo
S ⌃ + R Redo
S gg ファイル内の先頭へ
S X カーソル上の文字削除
S dd カーソル上の行を削除

おわりに

できるだけマウスの移動を避け、キーボード(ホームポジション内で完結できるように頑張っています。
最近はVimも練習中なので、さらなる速度向上が期待されると思います
思い出したら追記していきます

この記事がお役に立てば、いいね👍お待ちしています!

参考文献

【Xcode】control + mで引数を自動で改行
Xcodeショートカットまとめ
Xcodeでの開発に溜め息が出るあなたへ

21
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?