PyCharm の新機能

PyCharm 2019.3の新機能

Jupyterノートブック用のインタラクティブなウィジェット、MongoDBサポート、およびPython 3.8のすべての機能のコード支援がここにあります。

pro only と記載されている機能は、PyCharm Professional エディションでのみサポートされています。

Jupyterpro only

Interactive widgets

インタラクティブなウィジェット

より多くの対話性を提供するために、Jupyterノートブックは、対話型ウィジェット(英語)と呼ばれる対話(英語)型コントロールをサポートしています。これらのコントロールを使用すると、静的なノートブックをインタラクティブなダッシュボードに変えて、ノートブックを表示する人がビューをカスタマイズできるようにします。この更新により、PyCharmは対話型ウィジェットのサポートを追加します。これは、ウィジェットが出力とともにレンダリングされ、ネイティブJupyterノートブックで動作するようにノートブックを操作するために使用できることを意味します。

IDEは、ウィジェットの最も一般的なライブラリをサポートするようになりました。ライブラリが機能しない場合は、必ず課題(英語)を報告してください。

Runtime completion

ランタイム補完

PyCharmが提供する利点の1つは、高度な静的コード分析アルゴリズムにより可能になるインテリジェントなコーディング支援です。ただし、Pythonなどの動的言語では、静的コード分析だけでは必ずしも十分ではありません。そのため、このアップデートでは、Jupyter自体が提供するランタイム情報を活用して拡張しています。これにより、静的な分析を使用してIDEが型を判別できなかった辞書のインデックスや深くネストされた式など、場合によってはよりスマートなコード補完が得られます。

Zoom in and out on the output panel

出力パネルを拡大および縮小する

プレビューのフォントサイズは、エディターと一致するように設定するか、設定でカスタマイズすることができます。また、プレビューは、エディターのオプション「Ctrl +マウスホイールでフォントサイズを変更(ズーム)」を考慮するようになりました。有効にすると、Ctrlキーを押しながらマウスホイールを使用してプレビューを拡大または縮小できます。

さらなる改善

  • JupyterノートブックがIDEの外部で変更された場合(たとえば、ネイティブJupyterインターフェースを介して)、IDEは自動的にその状態を同期し、IDEユーザーがノートブックの最新バージョンを確認し、変更が失われないようにします。

Python

Completion for file paths

ファイルパスの補完

ファイル名を書くときにタイプミスをすることを恐れていますか?特に、「open( ’data / survey_data_28112019_exported.csv’)」のような長いファイル名の場合は? Pythonコードエディターまたはコンソール内でファイルパスの候補を取得できるようになりました。コンテキスト対応コード補完機能を拡張したため、ファイル関連のコンテキストの文字列リテラルに、可能なファイルパスの候補が表示されるようになりました。

Relative import support

相対インポートのサポート

絶対インポートよりも相対インポートの方が好きですか? PyCharmは、これらのスタイル間で自動的に変換できるようになりました。相対インポートで特定のパッケージから既にインポートしている場合、そのパッケージからの新しいインポートも相対インポートとして自動的に作成されます。

Python 3.8: TypedDicts

Python 3.8:TypedDicts

TypedDictのPyCharmのサポートを使用して、辞書の誤った値の割り当てを避けます。キーと値のペア構造の正確な表現を取得し、コードエディターが適切な使用箇所を支援します。

Python 3.8: Literal type annotation

Python 3.8:リテラル型注釈

`open`のファイルモードのように、特定のリテラル文字列を取るメソッドがありますか? Python 3.8の「Literal」タイプ注釈を使用して、タイプだけでなく特定の値もチェックできます。サポートされていない値で関数を呼び出すと、PyCharmは警告を表示します。

Automatically create pytest tests

pytestテストを自動的に作成する

テストを作成するツールが自動的にアップグレードされ、pytestもサポートされるようになりました。これにより、PyCharmでは、ジャンプをクリックするだけで、自動的にpytestテストを作成できます。メソッド宣言のコンテキストメニューのテストオプション。

Debugger: Size information for collections

デバッガー: コレクションのサイズ情報

デバッグ中の情報の追跡は、できる限り明確かつ詳細にする必要があります。変数ビューを微調整して、より適切に整理された包括的なデータが表示されるようにしたのはこのためです。これにより、新しい順序付け、科学的配列の視覚表現の改善、コレクションの長さの表示、重複した詳細の削除が期待されます。

さらなる改善

  • ネットワークスクリプトを使用していますか、それともハードウェアとインターフェースしていて、16進値またはバイナリ値を使用していますか?良いニュースです! PyCharmは、10進値の形式を、コンソールまたはデバッガーから変数ビューを介して直接、16進形式または2進形式に直接変換できるようになりました。
  • Linux on Windows向けの開発ですか? Windows Subsystem for Linux 2のサポートを追加しました。PyCharmでPythonインタープリターを設定して、WSL 2から利用できるものを使用しますpro only

パフォーマンスの向上

Faster Indexing

より高速なインデックス作成

PyCharmは、高度なコードインサイトにより、作業を迅速に完了させるのに役立ちます。これが機能するには、コードとインポートするすべてのパッケージの両方にインデックスを付ける必要があります。多くのデータサイエンスパッケージのように、コンパイルされた拡張機能を持つパッケージを使用する場合、インデックスを作成する前に、Pythonインターフェースを記述するPythonスケルトン(スタブファイル)を生成する必要があります。このプロセスは改善されており、インデックス作成プロセス全体で少なくとも25%の高速化が期待できます。もちろん、複数のvirtualenvで同じパッケージを使用する場合、既に作成したインデックスを再利用します。

Fewer freezes, and improved reporting of freezes

フリーズの減少、およびフリーズのレポートの改善

残念ながら、PyCharmのUIがしばらくフリーズしてから、コードの作業に戻ることができます。これは非常に不愉快なことであると認識しており、これらを排除するために努力しています。UIのフリーズを引き起こす可能性のある多くの課題を修正し、すぐにIDEから直接UIのフリーズを報告できる機能を追加しました。これにより、フリーズした理由を調査し、フリーズしないことを確認できます。再び起こります。PyCharmでのUIフリーズの解消にご協力いただきありがとうございます!

さらなる改善

  • 今年、すべてのJetBrains IDEの起動パフォーマンスに多大な努力をしてきました。コアプラットフォームの起動時間は2019.3バージョンでさらに改善されており、IDEの起動を高速化するための作業を続けます。
  • IDEを再起動せずにテーマを変更できるようになりました。これは、事前にインストールされたテーマを選択するとき、または新しいテーマをダウンロードした直後の両方で可能です。
  • イベントの処理と無視されたファイルの処理におけるさまざまな改善により、PyCharm 2019.3でのバージョン管理ステータスの更新が高速化されました。
  • エディターのレンダリング方法にいくつかの変更を加え、長いファイルのスクロールがよりスムーズになりました。

データベースのサポートpro only

MongoDB support

MongoDBサポート

MongoDBでアプリケーションを構築していますか?そうすれば、PyCharmでMongoDBコレクションを探索できるようになったことをうれしく思います。データベースツールウィンドウ(表示| ツール・ウィンドウ |データベース)からデータソースを追加して、データベースを接続します。PyCharm Professional エディションには、JetBrainsが作成(英語)したプロフェッショナルなSQL IDEであるJetBrains DataGrip(英語)のすべてのデータベース機能が付属しています。

IDE機能

Parameterize run configurations

実行構成のパラメーター化

コマンドラインアプリケーションを作成する場合、通常は引数をすばやく変更できると便利です。いつでも「設定の編集」に移動して変更することができますが、より良い方法があります。新しい実行設定マクロ(変数)を使用すると、アプリケーションを起動するたびにPyCharmから値の入力を求められます。

Find in selection

選択して検索

ファイルのセクションにテキストがどのくらいの頻度で出現するかを知りたいですか?検索アクションは、最初は選択範囲にスコープされます。どこでも検索したいですか? Ctrl-F(macOSではCmd-F)をもう一度押して、検索をファイルの残りの部分に展開します。

さらなる改善

  • アプリケーションの一部がJavaScriptで記述されている場合、Handlebarsテンプレートをどこかで使用している可能性が高くなります。Handlebarsプラグイン(英語)がインストールされている場合、Python文字列でHandlebarsコードインテリジェンスを有効にできます。文字列でAlt-Enterを押し、「言語または参照を挿入」を選択して、「ハンドルバー」と入力します。

バージョン管理

Improved comparison with current branch

現在のブランチとの改善された比較

ブランチが多いほど、両者の違いを追跡するのが難しくなります。PyCharmの新しいバージョンでは、ブランチ比較機能の外観が良くなり、コミットが2つのブランチの違いを生む要因の概要をすばやく確認できます。

Improved UI for cloning a repository

リポジトリを複製するためのUIの改善

使用するリポジトリの種類に関係なく、新しいプロジェクトをチェックアウトするときに開始する場所が1つになりました。

さらなる改善

  • リモート ブランチをチェックアウトするとき、通常、リモート ブランチを追跡するローカルブランチを作成します。PyCharm 2019.3では、リモート ブランチの現在の状態を確認する「チェックアウト」アクションが1つだけありますが、ローカルコミットを失うリスクはありません。
  • PyCharmは、現在チェックアウトされているブランチを常にプッシュできます。場合によっては、別のブランチをプッシュすることもできますが、今後は最初にチェックアウトする必要がなくなります。

Web 開発pro only

CSS classes from a CDN

CDNからのCSSクラス

CDNのスタイルシートを使用していますか?このスタイルシートのバージョンをダウンロードして、コード補完専用に使用できるようになりました。

See Values Returned by Methods while Debugging JavaScript

JavaScriptのデバッグ中にメソッドによって返される値を参照してください

Pythonデバッガーと同様に、JavaScriptデバッガーは、呼び出しているメソッドの戻り値を表示できるようになりました。戻り値を表示するには、デバッガーの歯車アイコンをクリックして、「戻り値の表示」を有効にします。

さらなる改善

  • CSSスタイル設定を設定して、一重引用符または二重引用符を強制します。
  • CSSで一重引用符を使用するか二重引用符を使用するかにかかわらず、PyCharmは引用符の一貫性を保つのに役立ちます。設定で設定します。|エディター|コードスタイル|スタイルシート| CSS、その他タブ。
  • propTypeが定義されていないReactコンポーネントを使用していますか? PyCharmはpropsを推測できるようになり、propTypeが定義されていないコンポーネントに対してコード補完を提供します。
PyCharm 2019.2 について学ぶ

Jupyter Notebook

すべて実行、上をすべて実行、下をすべて実行

Jupyterのサポートで最も要求されている機能の1つは、ワンクリックですべてのセルを実行することです。Jupyterの実行ロジックの一部をPyCharm側に再実装する必要があったため、これはそれほど簡単ではないことがわかりました。この機能がPyCharmでご利用いただけるようになったことをお知らせいたします。

改善されたサーバー構成

複数のプロジェクトが開かれている場合、PyCharmは暗黙のうちに最初に開かれたプロジェクトを使用して管理対象Jupyterサーバーを起動します。これは今設定可能です。Jupyterサーバーが待機する特定のポートを選択することもできます。

仮想線との間隔

ブラウザでJupyter Notebookを表示すると、レイアウトによってセルの間隔が少し狭くなります。そのため、コードをPythonファイルとして表示するPyCharmアプローチは、もう少し密集しているように見えます。コードを見やすくするために、ファイルに永続化されていない仮想の空行をノートブックに挿入します。

変数値のインライン表示

PyCharmデバッガを使用すると、変数を追跡したり、ノートブックを使用しているときの現在の状態を表示したりできます。

さらなる改善

  • もう1つよく要求される機能は、カーネルを再起動する機能です。これは現在可能です。
  • PyCharmからJetBrains Datalore(英語)にノートブックを直接公開できるようになりました

IDEの改善

多くの一般的な言語のためのコード強調表示

異なる言語のコードがプロジェクトに潜入するようなプロジェクトに取り組んでいますか? PyCharmは、Windowsの.batファイル、C#、C++、Groovy、Lua、Makefileなどの構文を強調表示します。

基本的なbashのサポート

ほとんどのプロジェクトは、人生のある段階で、bashファイルをリポジトリにチェックインします。PyCharmは、bash構文を強調表示し、基本補完機能を提供し、Shellcheckと統合してbashファイルをチェックします。

Windowsの見栄えを改善

PyCharmはWindows上でこれまで以上に見栄えが良くなりました。UIの外観をよりモダンにするために微調整しました。

RESTクライアントのcURLサポート

今すぐcURL形式がサポートされています。cURL形式のリクエストをコピーしてHTTPリクエストファイルに直接貼り付けるだけで、適切なフォーマットに変換できます。この新しい機能を使用するには、新しい.httpファイルまたはHTTPリクエストのスクラッチファイルを作成してから、cURL文字列を貼り付けるだけです。自動的にフルリクエストに変換されます。

リクエスト間でクッキーを保存する

許可を要求するエンドポイントを後で呼び出すためにサービスに対して認証要求を行ったとします。これまではこの認証応答は失われていたため、必要になるたびにそれを要求する必要がありました。今これは課題ではありません! すべてのクッキーはあなたの将来の使用に備えて保管され、次回のリクエストで転送されます。

EditorConfigサポートの改善

EditorConfigファイルを使用すると、コードスタイル設定をリポジトリに直接埋め込むことができます。この機能をより柔軟になるように改善しました。たとえば、プロジェクトのさまざまな部分に異なる設定を設定(英語)するために複数のEditorConfigファイルを使用する(英語)ことが可能になりました。ドキュメントでさらに学ぶ

Python

Python 3.8:位置限定パラメータ

関数の使用を制限するために、位置定義専用パラメーターを関数定義に指定してください。この新しい構文を使用すると、特定のシーケンスに従って呼び出すことを目的とした引数を厳密に定義できます。

Python 3.8:代入式

コードのコンパクトさと読みやすさを向上させるために、式内に値を割り当てます。たとえば、1行のコードを使用して条件式を作成し、同時に変数値を割り当てることができます。

Python 3.8 その他

変数の Final 注釈

メソッド、クラス、および変数の使用が制限されたクラスやサブクラスを、Final修飾子を使用して設計し、不要な継承やオーバーライドを回避します。

f-stringsで等号を使用する

f文字列は、式とその値を同時に表示するために「=」を使用できるようになりました。式とその出力の両方を表示する文字列を生成するには、f '{expr =}'を使用してください。

インラインPython関数

PyCharmの主な機能の1つは、コードを自動的にリファクタリングする機能です。これにより、操作が完了した後でも、コードの動作は変わらないことが確実にわかります。Python関数を自動的にインライン化する機能が追加されました。Pythonリファクタリングの詳細

重複コードをすばやく見つける

重複コードは臭いコードなので、PyCharmを使用すると、単一の関数にリファクタリングする必要がある可能性があるかどうかを知ることができます。

JavaScript

改善された変数の名前変更

動的参照の名前を変更するかどうかを選択できるようになり、リファクタリングコードのカスタマイズ性が向上しました。選択した場合は、プレビューインターフェースを使用して、実際に名前変更したい出現箇所とそのままにする出現箇所を決定できます。

デバッグ中にスマートステップインを更新

「スマートステップイン」(Shift-F7)機能が後押しされました。ターゲットが見やすくなり、矢印キーまたはTabキーで簡単に切り替えることができます。その後、Enterキーを押して選択したターゲットにステップインすることができます。

デバッガのライブラリの可視性を改善

デバッガ呼び出しスタックのフィルタアイコンを使用すると、すべての呼び出しをサードパーティコードから隠すことができます。これで、ライブラリとしてマークしたものはすべてこの新機能で隠すことができます。

データベース

全文検索

PyCharm Professional エディションには、弊社のプロフェッショナルデータベースIDEであるJetBrains DataGripのすべてのデータベース機能がバンドルされています。データベースツールの新機能の1つは、複数のデータソースにわたる全文検索です。隠れている場所に関係なく、データを見つけることができます。

PyCharm 2019.1 について学ぶ

Jupyter ノートブックpro only

ノートブックで作業

ノートブックを編集しているとき、ソースは通常のPythonファイルのように見えます。これはあなたのコードの周囲をナビゲートすることから軽い作業をします。もちろん、ラウンドトリップ編集がサポートされており、PyCharmまたはブラウザのいずれかに加えられたすべての変更はすぐに反映されます。

セルの実行とデバッグ

Jupyterノートブックは、データを探索し、そのやり取りの補助に優れています。PyCharmを使用すると、IDEでノートブックからセルをすばやく実行およびデバッグできるため、Jupyterノートブックはさらに使いやすくなりました。もちろん、ブラウザ内ノートブックのホットキーの多くはPyCharmでも機能します。例:Shift + Enterキーを押して強調表示されたセルを実行し、下のセルを選択します。

サーバーとカーネルの管理

ノートブックを早く始めましょう。PyCharmを使用すると、サーバーやカーネルを手動で起動する必要はありません。単にノートブックを開いてセルを実行するだけです。PyCharmは自動的にサーバーと開いたノートブック用の適切なカーネルを起動します。

変数ビューアー

変数の現在の値を見失った場合は、PyCharmの変数ビューアーを使用して、すべてが正しく表示されていることを確認できます。

IDEの改善

最近使用したロケーション

開発時、自分自身がコード内の異なる場所の間を行ったり来たりする必要があることに気づくでしょう。PyCharmでは、最近使用したファイル間をすばやく移動できるように、最近使用したファイル(Ctrl+E、またはmacOSでは Cmd+E )がポップアップ表示されていましたが、ファイルにアクセスするだけではなく、特定の場所に移動する必要があるため、目的のロケーションにすばやく移動できるように、新しく改善された「最近使用したロケーション」ポップアップ(Ctrl+Shift+E、またはmacOSでは Cmd+Shift+E )を導入しました。

UIテーマプラグイン

デフォルトのスタイルが気に入らないUIテーマプラグインのサポートを改善しました。'tag:UI'を探すことでプラグインマーケットプレイスでそれを見つけるか、独自のものを作る方法を学びましょう(英語)

Sublime Textキーマップ

新しいツールに乗り換えるときに、最も難しい部分の1つはすべての新しいホットキーを学ぶ必要があることです。Sublime TextからPyCharmへの切り替えを誰でも簡単に行えるように、Sublime Textキーマップを追加しました。

さらなる改善

  • ネイティブSSH for Git:以前のバージョンでは、SSH for Gitは組み込みSSHまたはネイティブSSHを使用するように構成できました。対話型プロンプトが認証に必要になる場合に備えて、組み込みSSHが必要でした。新しいバージョンでは、これらのプロンプトはネイティブSSHで処理できます。ネイティブSSHは、より優れたセキュリティプロトコルなど、より多くの機能をサポートしているため、組み込みオプションは削除されました。

Pythonの改善

大規模コレクションのデバッガパフォーマンス

PyCharmデバッガは、コレクションの初期ロード中に速度を落とすことなく、無限大のコレクションを処理できるようになりました。

データクラスの継承

Python 3.7データクラスはすでにPyCharmでサポートされていましたが、データクラスのサブクラスも確実に正確なコード補完を取得できるように、このサポートを拡張しました。

ステータスバーのインタープリター

Pythonやフレームワークのバージョン間を移行するときなど、複数の環境用にアプリケーションを開発している場合、すばやく切り替えて現在使用しているバージョンを一目で確認できれば、作業が楽になります。

変数代入の型チェック

Pythonのオプション入力はコードを文書化し、間違いを防ぐのに役立ちます。変数代入で型をチェックすることで、サポートをさらに強化しました。

リモートインタープリターpro only

Vagrantfileの構文

PyCharmはVagrantボックス内のPythonインタープリターをサポートしており、Vagrantファイルの見栄えも良くなりました。

sudoによるSSH

Raspberry PiのGPIOピンを制御するにはrootアクセスが必要です。そのため、GPIO開発を容易にするために、PyCharm 2019.1でSSH経由でroot権限でコードを実行できるようにしました。もちろん、他の用途にroot権限を使用することもできますが、一般的には推奨しません。

Web 開発pro only

HTMLとCSSのクイックドキュメントの改善

CSSは何年にもわたってはるかに強力になってきており、それがより複雑になっています。このより複雑で現代的なCSSを回避するために、クイックドキュメントサポートを改善しました。詳細については、Ctrl+Q (またはmacOSでは Ctrl+J )を押すだけです。心配しないでください。'p' タグのドキュメントを検索しても、誰にも言いません。

すべての新しいJavaScriptデバッグコンソール

PyCharm Professional エディションには、JetBrains WebStormからの優れたJavaScriptサポートが付属しています。Node.JSコードとブラウザー内JavaScriptの両方で動作する、新しく改善されたJavaScriptデバッグコンソールを作成しました。

ユニット・テスト

pytest用マルチプロセステストランナー

大規模なテストスイートは適していますが、実行にはしばらく時間がかかります。もう少し早く完了させるために、pytest統合をアップグレードしてマルチプロセステスト実行をサポートします。

データベースpro only

新しいデータベース接続フロー

PyCharm Professional エディションは、JetBrains DataGripのすべてのSQLサポートをバンドルしています。新しいデータベース接続を構成するプロセスを改善しました。これをまだ試していないのであれば、おやつに出かけましょう。データベースを設定した後、テーブルを探索できることに加えて、Pythonコードでクエリを記述するときにスキーマ対応のSQL補完も取得できます。