こんにちは、みやびのです。

今回は「PyCharmで使えるコンペア機能(差分比較機能)」について紹介します。

具体的には以下の3つの差分比較方法です。

・クリップボートと差分比較する方法
・特定のブランチと差分比較する方法
・特定のレビジョンと差分比較する方法

かなり柔軟に差分比較と修正ができるので積極的に活用していきましょう。

PyCharmで行えるコンペア方法3つ

前述の通り、クリップボード、ブランチ、レビジョンなど柔軟な差分比較ができます。
ただ比較するだけでなくステップ単位で修正可能です。

差分の挿入や置き換えも1クリックでできます。

クリップボートと差分比較する方法

クリップボードにコピーした内容と選択した範囲を比較できる機能です。

比較手順は以下の通りです。
1.範囲選択して右クリックでメニューを表示
2.「compare with clipboard」をクリック
compare with clipboard

すると差分比較の画面が表示されます。

差分画面

クリップボードの内容と選択範囲をステップ単位で差分比較可能。

差分の比較や挿入だけでなく編集することもできます。

模写元・写経元・流用元などと修正後のコードを比較したい場合に便利ですね。

「ネットのコードを写経したけど全然動かない」
「Webページを模写したけどなんか違うな」
といった時に、正解のコードをクリップボードにコピーして書いたコードと比較すれば簡単に間違いを見つけられます。

特定のブランチと差分比較する方法

ブランチとローカルの修正を比較できる機能です。

Gitの場合を例に操作方法を紹介します

1.コンペアしたいファイルを選択して右クリック
2.「Git」→「compare with branch」→比較したいブランチ名の順に選択
compare with branch

差分画面の操作は「compare with clipboard」とほぼ同じで、ステップ単位で差分操作が可能。
差分編集もできます。(ただしブランチ側を編集しても修正は反映されません)

全ての修正を一旦元に戻したい場合であればrevertすれば十分ですが、

・部分的にrevertしたい場合
・元の処理との差分をサクッとチェックしたい場合

などに便利です。

また、ディレクトリ単位でも差分比較ができます。

ディレクトリを右クリックして「Git」→「compare with branch」の順に選択することで、ブランチと差分があるファイルが表示されます。
差分のあるファイルをクリックすることでファイルの差分チェックに移行可能です。

特定のレビジョンと差分比較する方法

ブランチだけではなく特定のレビジョンとの差分も比較できます。
編集画面の操作はクリップボードやブランチとほぼほぼ同じです。

Gitの場合を例に紹介します。

1.コンペアしたいファイルを開いて右クリック
2.「Git」→「compare with …」(長いので省略されている模様)→「比較したいレビジョン」の順に選択
compare with repository

PyCharmのコンペア機能を使う3つのメリット

メリット
コンペア機能を活用するメリットは以下の3つです。

・目視チェックの見落としを減らせる
・現在の差分を即座にチェックできる
・部分的に処理を元に戻したい時に簡単に戻せる

目視チェックの見落としを減らせる

初心者の頃は特にそうですが、自分の書いたコードで自分のミスを見つけるってなかなか難しいです。
人にチェックしてもらうのがいいけど毎回確認してもらうわけにも行きませんよね?

また、仮に他人の目が入ったとしても目視だけだと見落としが多いです。

コンペア機能を使えば正しいコードとステップ単位で簡単に比較できるので機械的にミスがないかチェックできます。

現在の差分を即座にチェックできる

ファイルやディレクトリを選んでメニュー操作するだけなので現在の差分を簡単にチェック可能です。

他の差分比較ツールは比較対象のファイルをダウンロードしなければならないものが多いですが、PyCharmのコンペア機能なら直接レポジトリにアクセスして差分比較できるので少ない手間でできます。

意図しない差分があった場合でもその場で直せるのも良いですね。

部分的に処理を元に戻したい時に簡単に戻せる

「大改造をしたけど一部処理を元に戻したい」
という場面は結構あると思います。

revertしてしまうとかえって手間が多い場合もありますよね。

ただコピペするだけだと修正ミスしやすいですが、コンペア機能を活用すれば差分をチェックしながら簡単に戻せます。

ブランチだけでなくレビジョン単位で差分比較ができるのでかなり柔軟に修正可能です。

終わりに

PyCharmのコンペア機能はブランチやレビジョンに加えてクリップボードの内容とも差分比較できます。
ステップ単位で修正できますし、差分画面でも編集可能なのでかなり柔軟に修正対応ができますね。

GUI操作で簡単に差分比較ができるので、今の修正状況と差分をサクッとチェックしたい場合にも便利です。

コンペア機能を活用すれば初心者でも間違いを見つけるのを高速化できますし、見落としも減らせます。

PyCharmには単純エラーを検知する機能もありますが、それだけでは完全にエラーを防げないのでコンペア機能も活用して椅子がないかチェックしましょう。

PyCharmまとめ>>PyCharmの使い方まとめ