【Android Studio】覚えておくべきショートカット(Mac)

# 1. はじめに

この記事は、[NTTテクノクロスアドベントカレンダー2023](https://qiita.com/advent-calendar/2023/ntt-tx)シリーズ2の8日目の記事です。

こんにちは、NTTテクノクロスの岡崎と申します。
普段はモバイルアプリの開発アジャイルで行っています。

約５ヶ月前にiOS/Androidアプリの開発を始めました。
開発初心者だった私がつまずいた点についてお話ししようと思います。


# 2. ショートカット多すぎ問題

Androidアプリ開発では、IDEとしてAndroid Studioを使っています。
とても強力なIDEでショートカットが沢山あります。
もちろん時間をかけて1つ1つ覚えていけば問題ないと思います。

しかし、私は業務ではペアプロで凄腕エンジニアと一緒にコーディングを行っていました。
彼らは息をするようにショートカットを使います。沢山のショートカットを使いこなすわけです。

見ているファイルが急に変わったり、ウィンドウが出たり、
開発当初の私は何が起きたのか理解できず無事迷子になっていました。

技術のキャッチアップにリソースを割きたいのに、ショートカットも覚えなければいけない。
かといって、業務中に出てくるショートカット一つずつ闇雲に覚えていくわけにもいかない。

そこで、今の私から見たよく使う優先順位の高いショートカットをランキング形式で発表したいと思います。
Androidアプリ開発初学者は、このショートカットだけ覚えてリソースを他に回してキャッチアップするといいんじゃないかと思います。

## Android Studioとは
Android Studioは、Androidアプリケーションを開発するための公式の統合開発環境（IDE）です。Androidアプリの設計、開発、テスト、デバッグ、デプロイなどの作業を支援するためのツールが含まれています。


# 3.1 コード追う系
大きなプロジェクトであれば、コードを追跡するために以下のショートカットが必要不可欠です。ツリーから探していると日が暮れます。

## 1位 : Command + B
このショートカットは、カーソル位置のメソッドやクラス名などの定義箇所に素早く移動するための機能です。特に、カーソルがメソッド名やクラス名にある場合、その定義箇所にジャンプします。このショートカットは、定義箇所への素早い移動や、コードの理解を支援するために使われます。

## 2位 : Shift + Command + F
このショートカットは、プロジェクト全体を対象に特定の文字列やパターンを検索するための機能です。プロジェクト内のすべてのファイルを対象に検索するため、ファイルの内容やパッケージ名、クラス名などを検索する際に役立ちます。この検索機能を使うことで、プロジェクト全体から特定のキーワードやパターンを素早く見つけ出すことができます。

## 3位 : Shift + Command + O
このショートカットは、プロジェクト内の全てのファイルを検索して開くための機能です。ファイル名の一部を入力することで、一致するファイル名がリストされ、それらのファイルを素早く開くことができます。このショートカットは、プロジェクト内で特定のファイルを見つけたり、編集したいファイルに素早くアクセスしたい場合に便利です。

## 4位 : Command + E
このショートカットは、最近開いたファイルのリストを表示するために使用されます。具体的には、最近編集したファイルを一覧で表示し、直近で開いたファイルに素早くアクセスすることができます。この機能を使うことで、最近作業したファイルに迅速に戻ることができます。

## 5位 : Command + F
このショートカットは、現在のファイル内で特定の文字列を検索するための機能です。この機能を使うと、現在開いているファイルで指定した文字列を検索し、一致する箇所を見つけることができます。さらに、Command + G（コマンドキー + G）を押すことで、次の一致箇所に移動することもできます。これは、特定のコードやテキストを見つけたり、変更する際に便利です。

## 6位 : Shift + Command + T
このショートカットは、テストクラスやテストメソッドを検索して開くための機能を提供します。具体的には、JUnitや他のテストフレームワークで作成したテストクラスやメソッドに簡単にアクセスできます。このショートカットを使うことで、テストコードの対象となるクラスやメソッドを素早く見つけることができます。

## 7位 : Command + P
このショートカットは、カーソルがメソッドの引数リスト内にある場合、そのメソッドの引数リストを表示します。これにより、カーソル位置のメソッドがどのような引数を受け入れるかを確認することができます。また、メソッドの宣言部分でこのショートカットを使用すると、そのメソッドの引数リストや戻り値の型などを表示します。これは、コードをより理解しやすくするために役立ちます。


# 3.2 作業早くなる系
コードが追えれば十分だと思いますが、ペアプロでモタモタちまちま作業していると、ペアからボコボコに指摘が飛んできます。余力があれば以下のショートカットを覚えてイキりましょう。

## 1位 : Option + Enter
このショートカットは、コード内のエラーや警告に対するクイック修正やアクションを表示します。エラーや警告が表示されている部分でこのショートカットを使用すると、提案された修正やアクションの一覧が表示されます。例えば、インポートされていないクラスやメソッドを使用した場合、自動的にインポート文を追加する提案が表示されることがあります。これにより、コードの修正や改善を素早く行うことができます。

## 2位 : Command + D
このショートカットは、現在の行を複製するために使用されます。特定の行を選択している場合、その行全体が複製されます。選択された行がない場合は、カーソルがある行が複製されます。この機能を使用することで、コードの繰り返しや同様の構造を持つ行の迅速な作成ができます。

## 3位 : Command + Delete
このショートカットは、カーソル位置から文の先頭までの全ての文字を削除する機能を持っています。カーソルが文の先頭にある場合は、その行全体を削除します。このショートカットを使用することで、文や行の先頭から不要な部分を素早く削除することができます。

## 4位 : Option + Shift + ↑(↓)
このショートカットは、選択したテキストを上(下)方向に移動する機能を持っています。テキストを選択してからこのショートカットを使うと、その選択したテキストを一行上(下)に移動します。この操作は、コードやテキストの構造を変更せずに、特定のテキストを素早く移動させるために使われます。

## 5位 : Shift + F6 :
このショートカットは、カーソルが置かれた変数、メソッド、またはクラス名をリファクタリングするための機能を提供します。具体的には、その名前を変更したい場合に使用されます。このショートカットを使用すると、名前が出現するすべての場所で変数、メソッド、クラス名を一度に変更することができます。これにより、コード全体の整合性を保ちながら名前を変更することができます。


# 4. おわりに
いかがでしたでしょうか。
Android StudioのベースとなったIntelliJ IDEAを開発したJetBrainsのIDE(PyCharm、WebStorm、PhpStormなど)であれば、同様のショートカットが使えるので、覚えておいて損はないと思います。
ショートカットを使いこなして、共に凄腕エンジニアを目指しましょう！