PyCharm コードナビゲーション

コードナビゲーションのショートカットキー

ショートカットキーをマスターすると、コード内を素早く移動でき、マウス操作から解放されます。

以下は日常開発で最もよく使うナビゲーションショートカットキーです。

コアナビゲーションのショートカットキー

機能 Windows/Linux macOS 説明
定義にジャンプ Ctrl+B Cmd+B 変数・関数・クラスの定義位置にジャンプ
参照を検索 Alt+F7 Alt+F7 現在のシンボルがプロジェクト内で参照されているすべての場所を検索
グローバル検索 Shift をダブルクリック Shift をダブルクリック ファイル、クラス、シンボル、操作などあらゆるものを検索
最近のファイル Ctrl+E Cmd+E 最近編集したファイルのリストを開く
前の位置に戻る Ctrl+Alt+Left Cmd+[ 前のカーソル位置に戻る
次の位置に進む Ctrl+Alt+Right Cmd+] 次のカーソル位置に進む
行にジャンプ Ctrl+G Cmd+L 行番号を入力して直接ジャンプ
ファイルを検索 Ctrl+Shift+N Cmd+Shift+O ファイル名で検索して開く
ファイル構造 Ctrl+F12 Cmd+F12 現在のファイルのクラスとメソッドのリストを表示

Shift をダブルクリックしてグローバル検索

Shift のダブルクリックは、PyCharm で最も強力な検索機能です。

これはファイル、クラス名、シンボル、IDE 操作などあらゆるものを検索でき、ほぼすべてのナビゲーション要件を満たせます。

使用方法:

  • Shift キーをすばやく2回押して Search Everywhere ダイアログを開く
  • キーワードを入力すると、一致するすべての結果が表示されます
  • Tab キーで検索カテゴリを切り替えられます(All、Classes、Files、Symbols、Actions)

Shift のダブルクリックは初心者が最初に覚えるべきショートカットキーです。使いこなせば、プロジェクトのファイルツリーを1つずつ辿る手間から解放されます。

Ctrl+B で定義にジャンプ

変数、関数名、クラス名にカーソルを置いて、Ctrl+B押すと、その定義位置にジャンプします。

Ctrl キーを押しながらコードにマウスを重ねると、クリック可能なリンク効果が表示されます。

例:次のコードでは、カーソルをmy_func対象のシンボルの上に置いて Ctrl+B を押すと、関数定義にジャンプします。

例

# 簡単な関数を定義する
def my_func():
    """
これは サンプル チュートリアルのサンプル関数です
    """

    print("サンプル - PyCharm クイックナビゲーションを学ぶ")

# 関数を呼び出す - カーソルを my_func に置いて、Ctrl+B で定義にジャンプ
my_func()

Alt+F7 で参照を検索

参照を検索したいシンボルにカーソルを置き、Alt+F7そのシンボルがプロジェクト内で参照されているすべての位置を表示します。

検索結果は下部の Find ツールウィンドウに表示され、項目をクリックすると対応する位置にジャンプします。


コードフォーマット

コードスタイルの一貫性を保つことは、チーム開発の重要な基盤です。

PyCharm は自動コードフォーマット機能を提供しており、ワンクリックでコードを整えます。

ショートカットキーでフォーマット

使用するCtrl+Alt+L(Windows/Linux)またはCmd+Option+L(macOS)で現在のファイルをフォーマットできます。

コードの一部を選択してからショートカットキーを押すと、選択部分だけをフォーマットできます。

フォーマットルールの設定

フォーマットルールは設定 > エディター > コードスタイル > Pythonで設定できます。

設定できる項目は次のとおりです。

  • インデントサイズ(デフォルトはスペース4つ)
  • Tab とスペースのどちらでインデントするか(スペース推奨)
  • 1行の最大文字数(デフォルトは120)
  • 空行の数
  • インポート文の並べ替えルール

フォーマット前後の比較

フォーマット前(インデントが不揃い、空行が乱れている):

例

# フォーマット前の乱れたコード
def messy_function(x,y):
      result=x+y
    if result>10:
        print("結果が 10 より大きい")
          print("この行のインデントが正しくない")

name="サンプル"
print("テスト",name)

フォーマット後(インデントが統一され、空行が整っている):

例

# フォーマット後の整ったコード
def messy_function(x, y):
    result = x + y
    if result > 10:
        print("結果が 10 より大きい")
        print("この行のインデントが正しくない")


name = "サンプル"
print("テスト", name)

コードをコミットする前に Ctrl+Alt+L を押してフォーマットするのは、良いプログラミング習慣です。


TODO コメント

TODO コメントは、未完了の作業を記録するために特別なコメントを残す習慣です。

TODO コメントを追加

Python コードでは# TODOTODO コメントを追加します。

例

# ユーザー管理モジュール

class UserManager:
    """ユーザーマネージャー"""

    def __init__(self, db_name="サンプル_users"):
        self.db_name = db_name

    # TODO: ユーザーログイン機能を実装する
    def login(self, username, password):
        pass

    # TODO: 入力検証ロジックを追加する
    # TODO: bcrypt を使ってパスワードを暗号化することを検討する
    def register(self, username, password):
        """新規ユーザー登録"""
        # 現在は簡略化した実装で、メッセージを表示するだけ
        print(f"ユーザー登録: {username}")

    # FIXME: このコード行は特別な場合にエラーになるため、修正が必要
    def delete_user(self, user_id):
        """ユーザー削除"""
        print(f"ユーザー ID を削除: {user_id}")

    # NOTE: 以下のメソッドは外部 API に依存するため、ネットワーク接続が必要
    def sync_data(self):
        """データ同期"""
        pass

TODO タグの種類

PyCharm はデフォルトで次の特殊なコメントタグを認識します:

タグ 用途
TODO 完了すべき作業をマーク
FIXME 修正が必要な問題をマーク
NOTE 重要な説明を追加

TODO リストを表示

ツールウィンドウ領域でTODOTODO タブをクリックして、TODO ツールウィンドウを開きます。

このウィンドウには、プロジェクト内のすべての TODO、FIXME、NOTE コメントが一覧表示され、範囲によるフィルタリングに対応しています。

フィルタリング範囲を設定できます:

  • Current File:現在のファイルの TODO コメントのみ表示
  • Scope Based:カスタム範囲でフィルタリング
  • All Places:プロジェクト内のすべての TODO コメントを表示

TODO エントリをダブルクリックすると、対応するコード行にジャンプします。

TODO コメントをうまく活用すると、開発プロセスが整理され、未処理の事項を見逃しません。


ブックマーク機能

ブックマーク機能を使うと、コード内の重要な位置をマークし、素早くジャンプできます。

ブックマークを追加

マークしたいコード行にカーソルを置き、F11匿名ブックマークを追加します。

追加が成功すると、その行の左側にチェックマークが表示されます。

按 Ctrl+F11数字/英字のブックマークも追加できます。ポップアップで 0-9 または A-Z をブックマーク番号として選択します。

例

# プロジェクト設定ファイル
# ここにブックマークを追加して、重要な設定へ素早く移動できるようにする

DATABASE_CONFIG = {
    "host": "localhost",  # F11 でブックマークを追加
    "port": 5432,         # Ctrl+F11 を押して、数字の 1 を選び番号付きブックマークを追加
    "name": "サンプル_db",
    "user": "admin",
}

# 重要な定数の定義。ここにブックマークを追加できる
MAX_CONNECTIONS = 100     # Ctrl+F11 を押して、数字の 2 を選び番号付きブックマークを追加
TIMEOUT_SECONDS = 30

ブックマークの表示と管理

按 Shift+F11ブックマークリストウィンドウを開き、追加済みのすべてのブックマークを表示します。

ブックマークリストウィンドウで:

  • ブックマークエントリをダブルクリックすると対応する位置にジャンプします
  • 右クリックでブックマークの削除や名前の変更ができます
  • 分類フィルター(匿名ブックマークと番号付きブックマーク)のチェックに対応

番号付きブックマークはさらにCtrl+数字キーブックマークリストを開かずに直接ジャンプできます。

大規模プロジェクトでは、ブックマークは複数の重要なコード位置を追跡するための優れた機能です。使用習慣を身につけることをお勧めします。


編集テクニックの補足

上記の機能に加えて、以下の編集テクニックも日常の開発効率を向上させます。

マルチカーソル編集

押し続けるAltキーを押しながらマウスで複数の位置をクリックすると、複数行のコードを同時に編集できます。

また、Ctrl+Shift+Alt+クリック任意の位置にカーソルを置くことができます。

コードブロックの移動

コードブロックを選択した後、Ctrl+Shift+Up/Downコードブロック全体を上下に移動できます。

切り取りや貼り付けは不要で、1行のコードやメソッド全体の位置をすばやく調整できます。

行全体をコピー

カーソルをある行に置き(選択は不要)、Ctrl+D行全体をコピーできます。

これは非常に頻度の高いショートカットキーです。すぐに使い始めることをお勧めします。

行全体を削除

カーソルをある行に置き、Ctrl+Y行全体を削除します。

先に選択してからDeleteキーを押す方法と比べて、この操作はずっと高速です。


ショートカットキー早見表

以下の表は、この章で扱うすべてのショートカットキーをまとめたものです。印刷または保存していつでも参照できるようにすることをお勧めします。

操作 Windows/Linux macOS
定義へジャンプ Ctrl+B Cmd+B
参照を検索 Alt+F7 Alt+F7
全体検索 Shift をダブルクリック Shift をダブルクリック
最近使ったファイル Ctrl+E Cmd+E
戻る/進む Ctrl+Alt+Left/Right Cmd+[/]
行へジャンプ Ctrl+G Cmd+L
ファイル検索 Ctrl+Shift+N Cmd+Shift+O
ファイル構造 Ctrl+F12 Cmd+F12
コードフォーマット Ctrl+Alt+L Cmd+Option+L
ブックマークを追加 F11 F11
数字ブックマーク Ctrl+F11 Cmd+F11
ブックマークリスト Shift+F11 Shift+F11
行全体をコピー Ctrl+D Cmd+D
行全体を削除 Ctrl+Y Cmd+Delete

これらのショートカットキーを一度にすべて覚える必要はありません。Shift のダブルクリックから始めて、毎日2〜3個練習することをお勧めします。

数週間使い続けると、コーディング効率が飛躍的に向上していることに気づくでしょう。

その他の拡張