私はこれまで数年間 Eclipse を使用してきましたが、ほとんどの時間を Python (Pydev プラグインのインストール) と C++ (CDT プラグインのインストール) の作成に費やしてきました。
最近、友人から PyCharm とその新しい無料コミュニティ バージョン logr について聞きました。その友人は長年 Eclipse を使っていて PyCharm を絶賛していたので、せめて在宅勤務では PyCharm を使ってみようと思いました。これまでのところ、私は PyCharm の虜になっており、日常業務でも PyCharm を使用しています (コミュニティ バージョンは Apache2 によってライセンスされています)。
以下、PyCharmを使っていて驚いたことをいくつか紹介します。
免責事項
私は Eclipse や PyDev を批判するつもりはありません。私はそれらを長年使用しており、素晴らしいものです。これは私の個人的な経験であり、あなたの経験は異なる可能性があることを念頭に置いてください。
リアルタイム比較
PyCharm は、エディターの左列に青いマークを表示することで、ファイルに加えた変更をリアルタイムで追跡します。
これは、ファイルの前後の変更を比較するためにEclipseの「Compare between HEAD」コマンドを使用していて非常に便利です。
PyCharm では、変更を明確に確認できます。同時に、そのマーカーをクリックすると、前のコンテンツとツールバーが表示されます:
これらの変更を簡単にロールバックしたり、詳細ダイアログ ボックスで表示したり、前のテキストをクリップボードに貼り付けたりできます。
送信中の比較プレビュー
Eclipseでは、変更を送信すると、送信するファイルのリストを示すコミットダイアログボックスが表示されます。
いずれかの項目をダブルクリックして、変更の比較を表示できます。この時点で、コード内に変更したいものが見つかった場合 (単語のスペルミス、ドキュメントの欠落など)、それは面白くありません。すべてを閉じて (慎重に記述されたコミット コメントが含まれるコミット ボックスを含む)、問題のあるコード部分を見つけて修正し、最初からやり直す必要があります。
PyCharm にも同じ機能がありますが、変更は編集可能です。それらの間違いをその場で修正できることがどれほど素晴らしいか、どれだけ強調してもしすぎることはありません。
上記のようなタイプミスは、提出プロセス中に簡単に修正できます。
追加の利点は、何らかの理由でコミット ダイアログを閉じても、再度コミットしようとすると、入力したばかりのコミット コメントが保持されることです。
コミットを確認する
コミットプロセス中、実際のコミットの前に、「インポートの最適化 (未使用のインポートの並べ替えと削除)」、変更セット内の保留中の項目の確認など、他のオプションを実行することもできます。
興味深い点は、「コード分析を実行する」という項目です。 。 。
コードレビュー
ファイル、ディレクトリ、またはプロジェクト全体に対して「コードレビュー」操作を実行するようにPyCharmに依頼できます。実際にプログラムを実行することなく、型チェックや静的メソッド、コード仕様違反など、既存の問題点とそれに対応する改善方法を特定します。
前のセクションで説明したように、これはコミット時に変更されたファイルで自動的に実行することもできます。これは 1 つのファイル レビューの結果です:
これらのレビュー結果の一部については、修正提案を適用することもできます。たとえば、「関数呼び出しを set literal() に置き換えることができます」という提案については、対応するオプションを選択して修正できます。
PyCharm はこの文を自動的に次のように置き換えます:
extensions = set(['.avi', '.mp4', '.mpg', '.mkv'])
プロジェクトレベルを含め、必要のないレビューはすべてオフにできます。
リファクタリング
モジュールの名前を変更しようとしましたが、メニュー項目にその項目が見つかりません。 。 。 F2も役に立ちません。
突然、ファイルサブメニューの下にある「リファクタリング/名前変更」項目に気づき、考えました。 。 。もしかしてそれは?確かにそうです!
モジュールの名前を変更すると、PyCharm はそれに関連付けられたすべてのプロジェクトを自動的に変更するかどうかを尋ねます。幸いです!
他にも多くのリファクタリング プロジェクトがありますが、これまでのところすべてを試す機会がありません。
古いコードに関するヒントと改善提案
PyCharm は、コード内の古い構造ブロックを通知し、いくつかの改善提案を行うことができます。たとえば、次のようなコードがあります:
extensions = {'.avi', '.mp4', '.mpg', '.mkv'}
PyCharm はネストされたことを明確にマークします:
私は Python 2.7 を使用していますが、実際にはネストされたコンテキスト マネージャーを使用できます。 Python の古いバージョンをまだサポートする必要があるため、ネストしたままにしました。 しかし、PyCharm は、これ自体はまだクールであることを思い出させてくれました。タスク + 機能ブランチ
Eclipse と同様 (Mylin サポートが必要)、PyCharm もタスクベースのワークフロー (タスク認識コンテキストを含む) をサポートします。
ただし、PyCharm 自体には、直接利用できるコネクタ (GitHub、Mantis、Jira、Bugzilla など) が多数付属しています。
さらに、タスクを開始するときに、そのタスクの機能ブランチを作成するかどうかを尋ねられます。ブランチの名前を設定できます。
これにより、非常に面倒な新しいブランチを手動で作成する必要がなくなります (タスク ID の取得、名前の選択など)。 これはプラスです。速い
自動コード補完を実行するときに、PyCharm は Eclipse よりもはるかに速くコードをスキャンし、現在の作業を中断しないことがわかりました。
ファイルを保存したいのに、Eclipse がバックグラウンドでタスクを実行しているためにそれを妨げるのは、なんと面倒なことでしょう。 。 。
クイック ドキュメントの表示
関数、メソッド、クラス、その他の上にカーソルを移動すると、「クイック ドキュメント」を参照するオプションが表示されます。ご覧ください:
ご覧のとおり、メソッドのドキュメントがわかりやすい形式で表示され、コードの使用方法の説明からパラメーターの型についてのヒントも示されています。 。 。この関数に対応するドキュメントがない場合でも、次のような説明が表示されます。 すごい! Docutils サポートPyCharm には doctils の第一級サポートも含まれており、統合開発環境から直接ドキュメントを簡単に再生成できます。
その一方で、非常に優れたリッチ テキスト (翻訳者注: ReST、reStructuredTexteditor) エディター (Eclipse の個人的な見解よりもはるかに使いやすい) も含まれています。
完全なプラグイン システム
私の経験によると、Eclipse にプラグインをインストールするのは非常に面倒です:
行きたい場所を見つけるのが難しい (ヒント: ヘルプ/新しいソフトウェアのインストール
);インデックスが 1 つもないため、これらのプラグイン ソースを見つけるにはオンラインにアクセスする必要があります
ライブラリの依存関係が原因でシステムがクラッシュすることがあり、その結果、必要なプラグインがインストールされません。他の人もこの問題に遭遇し、最終的には諦めなければなりませんでした); PyCharm のプラグイン エクスペリエンスははるかにスムーズです。
まず第一に、それはあなたがおそらくそれがあると思う場所にあります:「設定」のすぐ下:
プラグインを簡単に参照できます:
私はすぐにマークアップエディタを1つインストールしました( ReST) はコード スニペットを一時的に保存するプラグインで、選択したテキストから直接カット アンド ペーストしてコードをプレビューできます。これは SublimeText に似ていますが、コードの外観も美しいです。