PyCharm コード編集

PyCharm はプロフェッショナルな Python IDE として、強力なコード編集機能を提供します。

この章では、コード編集のコア機能について詳しく説明します。スマート補完、ショートカットキー操作、コードリファクタリングなどの効率的な開発テクニックを含みます。


基本編集機能

コード補完(Code Completion)

PyCharm はさまざまなスマート補完方法を提供します:

補完タイプ トリガー方法 説明
基本補完 Ctrl + Space(Win/Linux)
⌘ + Space(Mac)
変数、関数、クラスなどの候補を表示
スマート型補完 Ctrl + Shift + Space コンテキストに基づいてより正確な型を推奨
ファイル名補完 パス入力時に自動的にトリガー ファイルパスをすばやく補完
動的テンプレート補完 略語を入力(例main + Tab) コードスニペットをすばやく生成(例if __name__ ==...)

入力im + Tab→ 自動的に次のように補完import:

入力for + Tab→ 完全な...を生成forループ構造:


構文ハイライト(Syntax Highlighting)

PyCharm はコード要素を自動的に色分けします:

  • キーワード(def, class):青

  • 文字列:緑

  • コメント:グレー

  • 誤った構文:赤い波線

カスタムハイライト:

  1. 设置 → 编辑器 → 配色方案(Color Scheme)

  2. Python 構文要素の色を調整


コード折りたたみ(Code Folding)

操作 ショートカットキー(Win/Linux) ショートカットキー(Mac)
現在のコードブロックを折りたたむ Ctrl + - ⌘ + -
現在のコードブロックを展開する Ctrl + + ⌘ + +
すべてのコードブロックを折りたたむ Ctrl + Shift + - ⌘ + Shift + -
すべてのコードブロックを展開する Ctrl + Shift + + ⌘ + Shift + +

マウスをエディタのコード領域の左側に移動すると下向きの矢印が表示され、それをクリックしても折りたたむことができます:

折りたたみをサポートするコード構造:

  • 関数/メソッド

  • クラス定義

  • 複数行コメント

  • インポート文グループ


ショートカットキーと効率的な操作

よく使うショートカットキー早見表

機能 ショートカットキー(Win/Linux) ショートカットキー(Mac)
現在の行をコピー Ctrl + D ⌘ + D
現在の行を削除 Ctrl + Y ⌘ + Delete
行を移動 Alt + Shift + ↑/↓ ⌥ + ⇧ + ↑/↓
クイックフィックス提案 Alt + Enter ⌥ + Enter
定義へジャンプ Ctrl + B ⌘ + B
パラメータヒントを表示 Ctrl + P ⌘ + P

複数行編集と一括操作

列選択モード(Column Selection)

  1. 押したままAlt(Win)または⌥(Mac) + マウスドラッグ

  2. または使用Alt + Shift + Insert列モードを切り替え

適用例:

# 批量修改多个变量前缀
old_name = 1    →  new_name = 1
old_value = 2   →  new_value = 2

マルチカーソル編集

  • 押したままAlt+ マウスクリック(複数カーソルを追加)

  • 或 Ctrl + G(Win)/ ⌘ + G(Mac) 同じ単語を選択


コードフォーマットとリファクタリング

コードを自動フォーマット

  1. 現在のファイルをフォーマット:

    • Ctrl + Alt + L(Win/Linux)

    • ⌥ + ⌘ + L(Mac)

  2. 選択中のコードをフォーマット:

    • コードを選択 → 右クリック →Reformat Code

フォーマットルールを設定:
设置 → 编辑器 → 代码样式 → Python


変数/関数の名前変更(安全なリファクタリング)

  1. 識別子(変数/関数名)を選択

  2. 右クリック → Refactor → Rename

  3. またはショートカットキーShift + F6

  4. 新しい名前を入力 → 押すEnter

効果:

  • その識別子を参照しているすべての場所が同期して更新されます

  • ファイルをまたいだ名前変更に対応


メソッドの抽出(Extract Method)

選択したコード断片を新しいメソッドとして抽出:

  1. コードブロックを選択

  2. Ctrl + Alt + M(Win)/ ⌘ + ⌥ + M(Mac)

  3. メソッド名を入力 → 確認

例

# 抽出前
def process_data(data):
    cleaned = []
    for item in data:
        if item.is_valid():  # ← この部分のコードを選択
            cleaned.append(item)
    return cleaned

# 抽出後
def process_data(data):
    cleaned = []
    for item in data:
        if is_valid_item(item):
            cleaned.append(item)
    return cleaned

def is_valid_item(item):  # ← 自動生成された新しいメソッド
    return item.is_valid()

インライン化(Inline)

メソッド/変数を呼び出し箇所にインライン化:

  1. カーソルをメソッド名/変数に配置

  2. Ctrl + Alt + N(Win)/ ⌘ + ⌥ + N(Mac)

# 内联前
def calculate_discount(price):
    return price * 0.9

total = calculate_discount(100)  # ← 光标在此行

# 内联后
total = 100 * 0.9  # ← 方法调用被替换为实际代码

高度な編集テクニック

ライブテンプレート(Live Templates)

よく使うコードパターンをすばやく生成:

  1. 略語を入力(例iter) → 押すTab

  2. プリセットテンプレート:

    • main→ 生成if __name__ == '__main__'

    • try→ 完全な try-except ブロックを生成

カスタムテンプレート:
設定 → エディター → ライブテンプレート

コードエディタで「iter」と入力するとテンプレート情報が表示されます:


コードインテンションアクション(Alt+Enter)

コンテキストに基づいてコードをすばやく修正または最適化:

  • 欠落しているパッケージを自動インポート

  • 文字列形式を変換(f-string / format)

  • 条件式を最適化

操作:カーソルを警告/提案箇所に配置 →Alt + Enter


まとめ:効率的な編集ワークフロー

  1. 作成段階:

    • コード補完を使用 (Ctrl + Space) すばやく入力

    • 動的テンプレートで繰り返し構造を生成

  2. 最適化段階:

    • コードをフォーマット (Ctrl + Alt + L)

    • 用 Alt + Enter問題をクイックフィックス

  3. リファクタリング段階:

    • メソッドの抽出 (Ctrl + Alt + M)

    • 安全な名前変更 (Shift + F6)

その他の拡張