PyCharm 2023.2 の新機能

PyCharm 2023.2: Django 用の新しいライブテンプレート、Black フォーマッター統合、Run Anything(なんでも実行)、および AI Assistant

主な更新内容

Django サポートの更新
Pro

Django フォームとモデルの新しいライブテンプレート

Django フォームとモデルの新しいライブテンプレート

PyCharm 2023.2 では Django ライブテンプレートのリストが拡張されています。 新しいライブテンプレートでは、短い略語を入力して Django のビュー、フォーム、モデル(admin を含む)の共通コードコンストラクトを挿入できます。 これらのライブテンプレートは「Settings | Editor | Live Templates | Django」(設定 | エディター | ライブテンプレート | Django)で管理できます。 既存テンプレートの編集、または新しいテンプレートの作成については、PyCharm のヘルプページを参照してください。

テンプレートファイルに Django タグを素早く作成するためのライブテンプレートのリストも拡張しました。 更新されたリストは「Settings | Editor | Live Templates | Django Templates」(設定 | エディター | ライブテンプレート | Django テンプレート)で確認できます。

Django 対応のエンドポイントツールウィンドウ

Django 対応の Endpoints(エンドポイント)ツールウィンドウ

Endpoints(エンドポイント)ツールウィンドウで Django REST フレームワークの初期サポートが提供されるようになりました。 エンドポイント宣言の検索、特定のエンドポイント宣言への移動、URL パス部分の名前変更を行うことができます。 HTTP Client(HTTP クライアント)タブで作業中にエンドポイントを変更するとコードが補完されます。 この機能を試して、今後の PyCharm のリリースに追加してほしい点などがあればお知らせください。

Black フォーマッターの統合

Black フォーマッターの統合

PyCharm 2023.2 は Black フォーマッターとの統合機能を組み込みで提供しています。 すでに Black がインストールされている場合は、PyCharm がそれを検出してプロジェクト用にセットアップすることを提案します。

PyCharm での Black は .py および .pyi ファイルを扱います。 ファイルの全体と一部の両方を整形できます。 Ctrl+Alt+L を押すか、メインメニューから「Code | Reformat Code」(コード | コードの整形)を選択してコードを手動で整形する場合、または変更をファイルに保存する場合、組み込みのフォーマッターの代わりに Black を実行できます。 Black の構成オプションの詳細は、専用のヘルプページをご覧ください。

Run Anything(なんでも実行)

Run Anything(なんでも実行)

PyCharm 2023.2 では、現在開いているファイルとは無関係に文字通りなんでも実行できるツールである Run Anything(なんでも実行)が導入されています。 このツールを使用すると、実行/デバッグ構成の作成と起動、Python コンソールの起動、Python パッケージの管理に加えて、アプリケーション、スクリプト、コマンド、タスクの実行を素早く実行できます。 Run Anything(なんでも実行)ポップアップを開くには、Ctrl を 2 回押します。

AI Assistant

AI Assistant 限定アクセス
Pro

このリリースでは、PyCharm Professional への大きな追加機能となる AI Assistant が導入されました。 現時点の AI 技術を搭載した機能を駆使し、AI Assistant は組み込みの AI チャットを提供します。これは、ドキュメントコメントの自動記述やコミットメッセージの生成などの処理を実行できます。

AI Assistant は JetBrains AI サービスによって提供されており、現時点では OpenAI に接続できるようになっています。将来的には他の言語モデルプロバイダーも対応の予定です。 アシスタントの AI 機能にアクセスするには、JetBrains AI プラグインをインストールし、JetBrains Account を使用して JetBrains AI サービスにログインする必要があります。 JetBrains AI サービスの利用が可能かどうかについては、お客様によって開始時点で異なる場合があります。 AI Assistant に関する詳細とそのアクセス方法についてまとめた、こちらのブログ記事をご覧ください。

QML のサポート
Pro

QML の構文サポート

QML の構文サポート

コードで Qt モデリング言語(QML)を使用している場合、PyCharm で QML の構文がサポートされるようになりました。 サポート対象には以下が含まれます。

  • コードハイライトとコード補完。
  • 使用箇所の検索機能。
  • QML ファイルでの移動操作が簡単な Structure(構造)ビュー。
  • シンボルに関する情報を提供する Quick Documentation(クイックドキュメント)ポップアップ。
QML のフォーマッターとその他の設定

QML のフォーマッターとその他の設定

PyCharm はデフォルトで QML コードに組み込みのコードスタイル設定を使用します。 Qt と QML パス、フォーマットツールとしての qmlformat、および QML 言語サーバーは「Settings | Languages & Frameworks | QML」(設定 | 言語 &フレームワーク | QML)で構成できます。

ユーザーエクスペリエンス

Python Run/Debug Configurations(実行/デバッグ構成)ダイアログの改良

Python Run/Debug Configurations(実行/デバッグ構成)ダイアログの改良

Python 実行構成の Run/Debug Configurations(実行/デバッグ構成)ダイアログをすっきりとさせました。 ダイアログを開いてすぐに最もよく使用される設定にアクセスできるようになっています。 Run with Python Console(Python コンソールで実行する)、Emulate terminal in output console(出力コンソールでターミナルをエミュレートする)、Before Launch(起動前)などのすべての追加設定が Modify options(オプションの変更)メニューの下に移動されました。

Python パッケージツールウィンドウからパッケージを更新するオプション

Python Packages(Python パッケージ)ツールウィンドウからパッケージを更新するオプション

Python Packages(Python パッケージ)ツールウィンドウを使用すると、PyPl、Conda、またはプロジェクトのプライベートパッケージを迅速かつ簡単に管理できます。

PyCharm 2023.2 では、Python Packages(Python パッケージ)ツールウィンドウの左側に新しいパッケージバージョンのリストが表示され、そのリストから新しいバージョンを必要に応じて直接ダウンロードしてインストールできます。

Python の型アノテーションを折りたたむオプション

Python の型アノテーションを折りたたむオプション

コードをより読みやすくするため、PyCharm 2023.2 では複雑な型ヒントを折りたたむオプションが提供されています。 型アノテーションなしにコードを読みたい場合は、デフォルトで型アノテーションが折りたたまれた状態でプロジェクトを開くように「Settings | Editor | General | Code Folding | Python | Type annotations」(設定 | エディター | 一般 | コードの折りたたみ | Python | 型アノテーション)を切り替えてください。 Collapse Python Type Annotations(Python 型アノテーションの折りたたみ)と Expand Python Type Annotations(Python 型アノテーションの展開)アクションを使用することで、すぐに型アノテーションを邪魔にならない場所に移動したり、必要な場合に元に戻したりすることもできます。

Search Everywhere(どこでも検索)のテキスト検索

Search Everywhere(どこでも検索)のテキスト検索

Search Everywhere(どこでも検索)(Double Shift)は主にファイル、クラス、メソッド、アクション、および設定の検索に使用されます。 これにより、ある特定のクエリに対する検索結果がほとんどない場合にテキスト検索の結果が表示されるようになりました。

コードインサイト

パラメーター名のインレイヒント

パラメーター名のインレイヒント

引数の多い関数の呼び出しを読みやすくするため、PyCharm 2023.2 ではパラメーター名のインレイヒントを提供しています。 その動作は「Settings | Editor | Inlay Hints」(設定 | エディター | インレイヒント)で設定できます。 Ctrl+Click ショートカットを使用すると、特定メソッドのパラメーター名ヒントを無効にできます。

型ヒントの機能強化

型ヒントの機能強化

PyCharm 2023.2 では typing.NoReturn アノテーションが付いた関数の呼び出しが認識されます。 そのような関数を呼び出す場合に IDE が到達不能コードと初期化されていない可能性がある変数について正しい情報を提供するようになっています。

pytest でのフィクスチャのオーバーライドをサポート

pytest でのフィクスチャのオーバーライドをサポート

PyCharm 2023.2 はオーバーライドされた pytest フィクスチャに対応する正確な型推論、ナビゲーション、およびコード補完を提供します。 IDE が pytest と同じ方法でフィクスチャを解決するようになりました。最初にテストクラス内のフィクスチャをチェックした後、現在のファイル内と import ステートメント内をチェックし、最後に最も近くにある conftest.py ファイルをチェックします。

Jinja テンプレートのサポートを強化

Jinja テンプレートのサポートを強化

.j2.jinja2 と同様に、PyCharm 2023.2 では .jinja ファイル拡張子が Jinja テンプレートとして自動的に認識され、対応する構文ハイライトとコード補完が提供されます。

Ansible テンプレートのように複数の拡張子があるファイルでテンプレート言語とデータ言語の両方に対して適切な構文ハイライトとコード補完が提供されるようになりました。 認識されるテキストベースのフォーマットには、.xml.yaml、および .properties があります。 *-playbook.yaml ファイルは YAML データ言語で記述された Jinja2 ファイルとしても検出されます。

その他の改善点

  • PyCharm 2023.2 が pyproject.toml ファイルの dependencies 属性と requires 属性でパッケージ名のコード補完を提供するようになりました。 また、IDE はこれらの属性に欠落しているパッケージのインストールを提案します。
  • PyCharm 2023.2 では改行時にコードを丸括弧で囲むオプションが導入されています。 この機能は二項式、呼び出しチェーン、文字列、および相対インポートステートメントに対応しています。
  • PyCharm 2023.2 は <py-config> タグの内容に対して構文ハイライトを提供します。 さらに、PyCharm は <py-script> タグ内で displayElement、および Element.write 要素に対してコード補完を提供し、これらの引数の型をチェックします。

ユーザーインターフェース

新しい UI に色付きのプロジェクトヘッダーを導入

新しい UI に色付きのプロジェクトヘッダーを導入

プロジェクトごとに固有の色とアイコンを割り当て、定義済みのヘッダー色をカスタマイズできるようになりました。 これを行うには、ヘッダーを右クリックしてコンテキストメニューにアクセスします。 Change Project Color(プロジェクトの色を変更)オプションを選択し、希望する色を選択します。 この機能を無効にするには、コンテキストメニューの Show Project Gradient(プロジェクトのグラデーションを表示)オプションを選択解除します。

新しい UI にライトヘッダーを使ったライトテーマを導入

新しい UI にライトヘッダーを使ったライトテーマを導入

バージョン 2023.2 は代替の Light with Light Header(ライトヘッダーを使ったライト)テーマが導入されたため、ユーザーエクスペリエンスが向上しています。このテーマではウィンドウのヘッダー、ツールチップ、および通知バルーンで対応する明るい色が使用されます。

Project(プロジェクト)ビューでの変更日時によるファイルの並べ替え

Project(プロジェクト)ビューでの変更日時によるファイルの並べ替え

PyCharm 2023.2 には Project(プロジェクト)ビューのファイルを変更日時に基づいて並べ替える待望のオプションが導入されています。 この新機能により、プロジェクトの変更が保存されるたびにファイルが自動的に並べ替えられるようになります。 この機能を有効にするには Project(プロジェクト)ビューのケバブメニュー(縦三点リーダー)を開き、Tree Appearance(ツリーの外観)| Sort by Modification Time(変更日時で並べ替え)を選択します。

Run(実行)ウィジェットでの実行構成のピン留め

Run(実行)ウィジェットでの実行構成のピン留め

複数の実行構成を管理しやすくするため、Run(実行)ウィジェットにお好みの構成をピン留めできるオプションを実装しました。 Pinned(ピン留め)セクションに実行構成を追加するには、名前の横にあるケバブメニュー(縦三点リーダー)を開いて Pin(ピン留め)を選択します。 ピン留めされた構成が複数ある場合はドラッグアンドドロップ操作でリスト内の構成の位置を簡単に調整できます。

その他の改善

  • 新しい UI のメインツールバーのカスタマイズオプションを拡張しました。 任意のウィジェットで右クリックして Add to Main Toolbar(メインツールバーに追加)を選択し、使用できるオプションを参照してください。

データサイエンス
Pro

マネージド Jupyter サーバーの構成オプション

マネージド Jupyter サーバーの構成オプション

PyCharm 2023.2 では、マネージド Jupyter サーバーを構成できます。 マネージドサーバーの環境変数を指定し、管理対象サーバーを任意のディレクトリから起動するように構成し、選択した Python インタープリターの外部にある個別の jupyter.exe ファイルから管理対象サーバーを起動できます。 Jupyter または JupyterLab サーバーに対して追加のパラメーターを指定することもできます。

Polars DataFrame のサポート

Polars DataFrame のサポート

PyCharm 2023.2 では、Jupyter ノートブックの対話型 Polars テーブルを操作できます。 Python コンソールで Special Variables(特殊変数)リストの View as DataFrame(データフレームとして表示)オプションを使用することで、Polars DataFrame を詳細に調べることができます。 Python と Jupyter デバッガーの両方が Polars を処理します。 PyCharm がテーブルの型とディメンションに関する情報を提供し、列の名前と型を補完するほか、テーブルの並べ替えが可能となっています。

Polars DataFrame は Scientific mode(科学計算モード)ではサポートされていませんのでご注意ください。

パフォーマンス
Pro

共有インデックスを簡単に生成するための新しいツール

PyCharm 2023.2 には共有インデックスを素早く構築してアップロードするための新しいコマンドラインツールが追加されています。 チームワークを合理化し、ローカルでの大規模なプロジェクトのインデックス作成にかかる無駄な時間をなくすように設計されています。 新しいツールはチームの共有インデックスの生成プロセスを単純化します。複数のスクリプトやサービスを使用せず、わずか数回のクリックで完了できます。 詳細はこちらをご覧ください

コード品質ワークフロー
Pro

Qodana コード品質プラットフォームのバンドル化

Qodana コード品質プラットフォームのバンドル化

このリリースでは Qodana コード品質プラットフォームを完全に統合することで、静的解析を構成する必要性をなくしました。

PyCharm 内から解析を直接トリガーしてプロジェクト全体の問題リストを表示し、お好みの CI/CD システムでクオリティゲートをセットアップできます。 また、PyCharm を離れなくてもサーバーサイドの解析結果を表示できます。

Qodana はプレビューを終えてリリースされたばかりです。リリースの詳細については、このブログ投稿を参照してください。

ウェブ開発
Pro

JavaScript と TypeScript のエラー書式を改善

JavaScript と TypeScript のエラー書式を改善

PyCharm 2023.2 では JavaScript と TypeScript の型エラーを示す方法の改善に焦点を当ててきました。 エラーと警告がより可読性に優れた書式になり、コード内の問題を発見しやすくなります。 この書式はローカライズされたエラーを含むすべての TypeScript エラーと一部のごく一般的な JavaScript エラーに適用されます。

CSS のネストをサポート

CSS のネストをサポート

PyCharm 2023.2 では CSS のネストがサポートされるようになりました。 構文のサポートに加えて、ネストされたセレクターが識別子や関数表記で開始していることを警告するインスペクションが実装されています。

OpenAPI Specifications プラグインのバンドル化

OpenAPI Specifications プラグインのバンドル化

PyCharm 2023.2 では OpenAPI Specifications プラグインがバンドルされるようになりました。 このプラグインは OpenAPI と Swagger の仕様ファイルのサポートを提供しています。 主な機能には、JSON スキーマによる検証、ナビゲーション、Swagger Codegen と OpenAPI Generator によるコード生成があります。

OpenAPI および Swagger ファイルの Redoc UI プレビュー

OpenAPI および Swagger ファイルの Redoc UI プレビュー

PyCharm が YAML ファイルや JSON ファイルを含む OpenAPI および Swaggeer 仕様ファイルの Redoc UI プレビューをサポートするようになり、Redoc と Swagger UI を IDE 内で切り替えられるようになりました。 Redocly を統合することで、PyCharm 内から Try it コンソールにアクセスし、それを使用してパラメーターの設定や API へのリクエストの送信を行えます。

AsyncAPI ファイルの編集サポート

AsyncAPI ファイルの編集サポート

PyCharm で AsyncAPI 仕様の書式がかなり簡単に扱えるようになりました。 IDE はスキーマの検証機能をサポートしており、参照のコード補完、Endpoints(エンドポイント)ビュー、および Editor Preview(エディターのプレビュー)ペインを提供します。

HTTP クライアント

HTTP クライアントの TLS を使用する gRPC リクエスト

HTTP クライアントの TLS を使用する gRPC リクエスト

HTTP クライアントでトランスポート層セキュリティプロトコル(TLS)を使用して gRPC リクエストを送信できるようになりました。 TLS は暗号化と認証の機能を提供し、データ送信の機密性と整合性を確保します。 リクエストの構文では https://grpcs:// のどちらのスキーマもサポートされています。

HTTP クライアントでの Swagger および OpenAPI スキーマのサポート

HTTP クライアントが Swagger と OpenAPI の仕様を理解し、JSON リクエスト本体に対応するコード補完オプションを提供できるようになりました。

HTTP クライアントでの JavaScript インポートのサポート

HTTP クライアントでの JavaScript インポートのサポート

PyCharm 2023.2 では、インポートされたモジュールを使用して HTTP クライアントリクエストハンドラーの共通 JavaScript コードを共有できるようになりました。

HTTP クライアントでのレスポンスの PDF および HTML プレビュー

HTTP クライアントでのレスポンスの PDF および HTML プレビュー

PyCharm で HTTP クライアントのリクエスト結果に含まれる PDF ファイルと HTML ファイルのプレビューを直接表示できるようになりました。

HTTP クライアント CLI での GraphQL と WebSocket のサポート

HTTP クライアント CLI での GraphQL と WebSocket のサポート

PyCharm で HTTP クライアント CLI を使用して GraphQL API を操作し、サービスとの WebSocket 接続を確立できるようになりました。これは、テストや自動化スクリプトなどの目的に役立ちます。

VCS

GitLab 統合

GitLab 統合

PyCharm 2023.2 には開発ワークフローを合理化する GitLab との統合機能が導入されています。 リクエストのリストの確認、変更内容の確認、コメントの書き込み、関連するビューへの移動など、IDE から直接マージリクエスト機能を操作できます。

特定コード行をコミットするオプション

特定コード行をコミットするオプション

PyCharm 2023.2 にはコードチャンクの特定部分を選択的にコミットできる待望の機能が導入されています。 部分コミットを実行するには、チャンク内の行を選択し、コンテキストメニューから Include these lines into commit(これらの行をコミットに含める)を呼び出します。 このチャンクは、選択した部分がハイライトされた状態で個別の行に分割されます。 チェックボックスかコンテキストメニューを使用して選択範囲に行を追加するか除外するかを指定できます。

Docker
Pro

Docker イメージレイヤー内のファイルをプレビュー

Docker イメージレイヤー内のファイルをプレビュー

Services(サービス)ツールウィンドウで Docker イメージレイヤーのコンテンツに簡単にアクセスしてプレビューできるようになりました。 リストからイメージを選択して Show layers(レイヤーの表示)を選択し、Analyze image for more information(イメージを解析して詳細を得る)をクリックします。 すると、レイヤーに格納されたファイルのリストが開きます。このリストにあるファイルを右クリックして Open File(ファイルを開く)(バイナリの場合は Download File(ファイルのダウンロード))をクリックすると、選択したファイルを簡単にエディターで開けます。

Docker コンテナーを実行構成の Before Launch(起動前)タスクとして実行するように設定

Docker コンテナーを実行構成の Before Launch(起動前)タスクとして実行する設定

Docker の実行構成を Before Launch(起動前)タスクに指定することで、他の構成より前に実行するように設定できるようになりました。 IDE はその時点で稼働中のコンテナーが健全な状態になるのを待ってから次の実行構成を起動します。 Docker の実行構成をキューに入れるには、あらかじめ作成しておいた実行構成を Modify options(オプションの変更)| Add before launch task(起動タスク前に追加)| Run configuration(実行構成)で関連するコンテナーに追加します。

Kubernetes
Pro

単一プロジェクト内での複数 kuberconfig ファイルのサポート

単一プロジェクト内での複数 kuberconfig ファイルのサポート

複数の kuberconfig ファイルを単一のプロジェクト内でセットアップできる新機能を導入しました。 これにより、同じプロジェクト内で複数のクラスターを処理したり、別々のクラスターの環境を操作したりするのが簡単になります。 ファイルをセットアップするには、File(ファイル)| Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Kubernetes に移動します。

デプロイログを表示する機能

デプロイログを表示する機能

Services(サービス)ツールウィンドウで、Kubernetes クラスターのデプロイログを表示できるようになりました。 ツリーの Deployment(デプロイ)を右クリックしてから、コンテキストメニューの Follow Log(ログの追跡)または Download Log(ログのダウンロード)を選択します。

データベースツール
Pro

Redis Cluster のサポート

Redis Cluster のサポート

Redis Cluster に接続し、スタンドアロンの Redis と同じ機能セットを使用できるようになりました。 クラスターに接続する際は必要な URL の前に jdbc:redis:cluster: を入力する必要があります。 この目的を達成するには適切な接続タイプを選択します。 クラスターへの接続に SSH トンネリングが必要な場合は、クラスター内にあるすべてのノードのホストとポートを URL に指定する必要があります。

スキーマ移行ダイアログの新しい UI を追加

スキーマ移行ダイアログの新しい UI を追加

バージョン 2023.2 ではスキーマの移行機能を改良しました。 同じオブジェクトがダイアログの両側で同じ行に配置されるようになったことが大きな変更点です。ターゲットスキーマで追加、除去、変更されるオブジェクトを把握しやすくなっています。

データエディターの Time zone(タイムゾーン)の設定

データエディターの Time zone(タイムゾーン)の設定

Data Editor and Viewer(データエディターとビューアー)設定ページに datetime 値を表示する必要のあるタイムゾーンを設定するための新しい Time zone(タイムゾーン)フィールドが追加されました。

Redshift の外部データベースとデータ共有のサポート

共有データベースとそのコンテンツがイントロスペクションされるようになりました。 このようなデータベースが作成されるデータ共有もイントロスペクションの対象になります。

その他

  • このリリースでは特定の LSP サーバーを IDE のコーディング支援に使用したいプラグイン開発者向けに LSP API を導入しました。 独自のプログラミング言語やフレームワークを作成している場合、LSP サーバーとプラグインを作成すれば、それを IDE でサポートすることができます。 この機能は IDE の有料バージョンでのみ提供されることに注意してください。 詳細はこちらをご覧ください
  • Big Data Tools プラグインを分解し、そのパーツを個別に使用できるようにしました。 これにより、PyCharm で KafkaSparkFlinkRemote File SystemsBig Data File Viewer、および Zeppelin の 6 つの新しいプラグインを使用できるようになりました。 6 つのプラグインがすべて必要な場合は引き続き大元の Big Data Tools プラグインをインストールできます。これはワンクリックですべてを入手したい場合に便利です。
  • 2023.2 より、最大ヒープサイズ(-Xmx)のデフォルト値が 2 GB に変更されています。