PyCharm 2022.2 の新機能

Python 3.11 のサポート、HTTP クライアントの改善、および UX の強化

Python 3.11

Code insight for exception groups and except* operator (PEP 654)

PyCharm は同一の try ステートメント内での except 演算子と except* 演算子、または except* 節内での continuebreak、および return 演算子など、禁止されている組み合わせについて警告を表示します。 try* 節で ExceptionGroup をキャッチしようとした場合にも警告を表示します。

Code insight for marking individual TypedDict items as required or potentially missing (PEP 655)

Python 3.11 は、TypedDict の個別のキーを Required または NotRequired としてマークする機能を追加します。そのため、total パラメーターを使用して複雑なクラス階層を作成する必要はありません。 PyCharm 2022.2 は Required[ ]NotRequired[ ] の表記法を理解し、それらのコードインサイトを提供します。

Initial support for Variadic Generics (PEP 646)

PyCharm 2022.2 は、インデックス演算のスター付き式(角括弧内)と関数定義の *args: *Ts を認識します。 Python 3.11 を使用していない場合、IDE が可変長引数ジェネリクスをまだ使用できないことを通知します。

HTTP クライアント Pro

実行前に実行環境を選択

ガターのアイコンを使用して実行環境を選択できる便利な方法が追加されました。 この機能を有効にするには、Run with(実行)コンボボックスから Select Environment Before Run(実行前に環境を選択する)オプションを選択してください。

レスポンスビューの進捗バー

ダウンロードの進捗を追跡しやすくするため、Response(レスポンス)ビューに進捗バーを追加しました。

HTTP クライアントでの WebSocket エンドポイントのサポート

PyCharm 2022.2 は WebSocket 接続をサポートします。 この API を使用してサーバーにメッセージを送信すると、サーバーからの応答をポーリングせずにイベント駆動のレスポンスを受信できます。 PyCharm が初期状態で HTTP および WebSocket プロトコルでクエリを送信できるようになりました。 ws://wss:// の処理は、WebSocket 実行プログラムに委譲されます。

その他の改善:

  • HTTP クライアントでの GraphQL エンドポイントのサポート

    2022.2 リリースでは、HTTP クライアントでの GraphQL リクエストのサポートを導入しました。

UX

リモートインタープリターをセットアップするための新しい UI

リモートターゲット(WSL、SSH、Docker、Docker Compose、Vagrant)でインタープリターをセットアップするための新しいウィザードが追加されました。 セットアッププロセスがさらに構造化され、従いやすくなっています。

現在のファイルの実行

専用の実行構成を使用せずに単一ファイルの実行とデバッグを即時に行うには、Run/Debug(実行/デバッグ)ウィジェットから呼び出せる Run Current File(現在のファイルの実行)を使用できます。 このアクションのセカンダリメニューには適用可能なランナーと Run with Parameters(パラメーターで実行)アクションが表示されるため、ファイルを実行する前に実行構成パラメーターを調整できます。

コード補完ポップアップから使用できるコード補完設定

Code Completion Settings(コード補完設定)にアクセスし、コード補完ポップアップのケバブ(縦三点リーダー)ボタンから環境設定を構成できるようになりました。

インスペクションのハイライト表示構成を強化

PyCharm 2022.2 では、エディター内でのインスペクションの表示方法を構成できます。 具体的には新しい Highlighting in editor(エディター内のハイライト)ドロップダウンメニューを使ってセットアップします。このメニューには、使用できるすべてのハイライトスタイルが表示されます。

JSON、YAML、および .properties 文字列値のクリック可能な URL

JSON、YAML、および .properties ファイルでは、http://https:// で始まる値に Web 参照が自動的に挿入されるようになりました。 これらのリンクはワンクリックでウェブブラウザーで簡単に開けます。また、HTTP クライアントの Context Actions(コンテキストアクション)メニュー(Alt + Enter)からリクエストを生成することも可能です。

その他の改善:

  • ウェルカム画面の「リポジトリをクローン中」進捗バー

    リポジトリをクローン中」進捗バーがプロジェクトリストに表示されるようになったため、より明確で使いやすくなっています。

  • 丸括弧の自動挿入を制御する新しい設定

    コード補完時に IDE が自動的に丸括弧を挿入するかどうかを選択できます。Settings(設定)/ Preferences(環境設定) | Editor(エディター)| General(全般)| Code Completion(コード補完)のInsert parentheses automatically when applicable(可能な場合は丸括弧を自動的に挿入)チェックボックスで設定します。

  • ファイルタイプの関連付けを調整できる新しい通知パネル

    ファイルがプレーンテキストとして検出された場合、IDE が直接エディターから不適切と思われるファイルタイプの関連付けをリセットするよう提案するようになりました。

  • macOS の Merge All Project Windows(すべてのプロジェクトウィンドウをマージ)アクション

    macOS ユーザー向けに、開いているすべてのプロジェクトウィンドウを単一のウィンドウ内のタブに変換してマージする機能が導入されました。 このアクションは、Window(ウィンドウ) メニューから使用できます。

PyScript の初期サポート Pro

PyScript is a framework for creating rich Python applications in the browser using HTML's interface and the power of Pyodide, WASM, and modern web technologies. PyScript はあらゆる経験レベルのユーザーに表現力豊かで習得しやすいプログラミング言語へのアクセスを提供し、無数のアプリケーションを構築できるようにします。

「PySrcript は、データサイエンスと Python を近代化するという Anaconda のビジョンにおいて重要な役割を果たしています。 JetBrains が PyScript の潜在能力をプロ向けの製品に初期サポートを追加する形で取り入れていることを喜ばしく思っています。」

Fabio Pliger,
Principal Software Architect at Anaconda, Inc.,
co-creator of PyScript

<py-script> 内のコードインサイト

<py-script> タグを使うと、複数行の Python スクリプトを実行してページと対話できます。 PyCharm 2022.2 では、NumPy ライブラリや Matplotlib ライブラリなど、HTML ファイルにある <py-script> タグ内のコードの Python 構文を認識できるようになりました。

タグと属性の構文ハイライトとコード補完

依存関係を宣言する <py-env> と REPL コンポーネントを作成する <py-repl> などの PyScript タグでコード補完と構文ハイライトを使用できるようになりました。

組み込みブラウザーでの PyScript のサポート

HTML ファイルと同様に、PyCharm の組み込みブラウザーで PyScript ファイルを直接プレビューできます。保存するたびに、ブラウザーにスクリプトへの変更が反映されます。

Jupyter ノートブック Pro

サイズ変更可能な画像出力

PyCharm 2022.2 では画像出力の下の境界線をドラッグするだけで、その出力のサイズを変更できます。 これにより、出力が読み取りやすくなります。

利便性を高めるため、下の境界線をより見やすくしました。

ツールバーの新しいセルのコピーペーストアクション

Jupyter エディターツールバーの切り取り、コピー、および貼り付けアクション(ボタンとアイコン)を使用して、セルにそれぞれの操作を実行できます。

Docker Pro

Minikube やその他の接続へのローカル Dockerイメージのアップロード

新しい Copy Docker Image(Docker イメージのコピー)アクションを使用して、Docker デーモンから別の Docker デーモンに簡単にイメージをコピーできるようになりました。このアクションは、イメージをファイルに保存して、選択された接続にプッシュします。

さまざまな Docker デーモン用の Docker 接続オプション

Colima と Rancher を統合することで、さらに多くのオプションで Docker デーモンへの接続を確立できるようになりました。

その他の改善:

  • IDE 再起動時の Docker 自動接続

    PyCharm 2022.2 は IDE の再起動後に Docker へ自動接続できます。 この新しい設定はデフォルトで有効になっており、Settings(設定)/ Preferences(環境設定)| Advanced Settings(高度な設定) | Docker で切り替えることができます。

データベース管理 Pro

複数 CSV ファイルをインポートするオプション

PyCharm 2022.2 では、複数の CSV を新規または既存のデータベーステーブルにインポートできます。 これを行うには、Project(プロジェクト)ビューで複数のファイルを選択し、データベーススキーマにドラッグするか、コンテキストメニューの Import to database(データベースにインポート)を選択します。

Playground(プレイグラウンド)と Script(スクリプト)解決モード

PyCharm 2022.2 には、2 つの SQL スクリプト解決モードが用意されています。 Playground(プレイグラウンド)モードでは、オブジェクトはコンテキストに従って解決されます。 クエリコンソールではこのモードがデフォルトになっています。Script(スクリプト)モードでは、ファイルの先頭では指定されたコンテキストにより解決されますが、スクリプト内のすべての SET CURRENT SCHEMA ステートメントは解決のためにコンテキストが変更されます。 ローカルファイルでは、スクリプトモードがデフォルトになっています。モードを切り替えるには、ツールバーのドロップダウンを使用します。

その他の改善:

  • DuckDB、Mimer SQL、および Apache Ignite の基本 DB サポート

    PyCharm 2022.2 では、DuckDBMimer SQL、および Apache Ignite の 3 つの追加データベースの基本サポートが提供されるようになりました。

  • 新しい Modify(変更) UI

    PyCharm 2022.2 では、新しい Modify(変更)UI を使用してテーブルのすべての子オブジェクトの追加と編集を行えます。 以前の UI は、引き続きコンテキストメニューから使用できます。