本ページでは、Python の IDE (統合開発環境である) PyCharm (パイチャーム) の応用的な使い方についてご紹介します。
まだ PyCharm をインストールしていない方、基本的な使い方に関する記事をお探しの方は PyCharm のインストール方法、PyCharm の基本的な使い方 もご参照ください。
矩形選択
矩形選択モード (くけいせんたく, Column Selection Mode) といって、四角形のように文字列を選択するには、
「Edit」 ⇒ 「Column Selection Mode」、もしくは、Shift
+ Alt
+ Insert
キーを押して矩形選択モードに入ります。その後で、Shift
キーを押しながら上下左右キー、もしくはマウスのドラッグ操作で、以下のように選択することができます。
コードの自動整形
PyCharm には、Python プログラミングの標準的なコーディングスタイルに従ったフォーマットに自動的に整形する機能があります。実行するには、「Code」メニュー ⇒ 「Reformat Code」を選択、もしくは、Ctrl
+ Alt
+ L
キーを押すと、以下のように =
(イコール) の前後や ,
(カンマ) の後ろなどにスペースが挿入されて、コーディングルールに従ってフォーマットに整形されたことがわかります。
左: フォーマット前, 右: フォーマット後。,
(カンマ) の後ろにスペースが挿入されていることがわかります。
コーディングルールは 設定画面にて個別に変更することもできます。 例えば、プロジェクト独自のコーディングルールがある場合などに利用します。「File」メニュー ⇒ 「Settings」、続いて、「Editor」 ⇒ 「Code Style」 ⇒ 「Python」でタブのサイズやスペースを入れる場所などを定義することができます。
PEP8 によるコードフォーマットチェック
コードフォーマットが PEP8 という、 Python プログラミングの標準的なコーディングスタイルに従っていない場合、以下のようなメッセージが表示されます。多くの場合、上記の自動整形を行うことで解決できます。
スペルチェック
英単語のスペルが誤っている可能性がある場合、薄いグレーの波線が表示されます。この場合、電球のアイコンを選択、もしくは、Alt
+ Enter
キーで表示されるメニューの Rename to… から適切なスペルに変更することができます。
変数名の一括置換
Refactor メニューの Rename、もしくは Shift
+ F6
キーで、プログラム中に登場する変数名を一括して置き換えすることができます。一括置換を行うには、以下ウインドウに変更後の変数名を入力します。
予測入力
既に存在する変数名などは、数文字入力するか、Ctrl
+ Space
キーを押すと、候補が表示されるので、上下キーで選択して、Tab
キーで確定することができます。
一括コメント
コメントアウトしたい行で、Code メニュー ⇒ Comment With Line Comment を選択、もしくは、Ctrl
+ /
キーを押すと、指定した行を一括してコメントアウトすることができます。コメントを解除する場合、再度 Ctrl
+ /
キーを押すと、コメントが解除されます。
インデント/アンインデント
インデント対象の行を選択して、Tab
キーを押すと選択した行全体をインデント (タブを 1 段階増やす) することができます。もちろん、複数行であっても可能です。
逆に、アンインデント (タブを 1 段階減らす) は、対象の行全体を選択して、Shift
+ Tab
キーを押すと元に戻ります。
正規表現による検索、置換
Ctrl
+ F
キーを押すと、検索用のパネルが表示されます。また、Ctrl
+ R
キーを押すと、置換用のパネルが表示されます。
ここで「Regex」にチェックを入れると、正規表現によるマッチングを行うことができます。以下例では、数字 3 桁-数字 4 桁の正規表現でマッチングした箇所がソースコード上にハイライトされています。
エディタのウインドウを分割する
メニューバーの「Window」⇒「Editor Tabs」⇒「Split Vertically (垂直) / Horizontally (水平)」を選択し、エディタのウインドウを分割し、差分を比較しながら作業することができます。
2 つのファイルの差分 (Diff) を比較する
ファイル名を右クリックし、「Compare With…」を選択、もしくは、Ctrl
+ D
キーを押します。比較対象先のファイルを選択すると、差分 (内容が異なる箇所) がある箇所のみがハイライトして表示されます。
以下のように差分がハイライト表示されていることがわかります。