PyCharm 2023.2: Django 用の新しいライブテンプレート、Black フォーマッター統合、Run Anything(なんでも実行)、および AI Assistant
PyCharm 2023.2 は、Djangoライブテンプレートのリストを拡張します。新しいライブテンプレートでは、短い略語を入力して Django のビュー、フォーム、モデル(admin を含む)の共通コードコンストラクトを挿入できます。これらのライブテンプレートは「Settings | Editor | Live Templates | Django」(設定 | エディター | ライブテンプレート | Django)で管理できます。既存のテンプレートを編集するか、新しいテンプレートを作成するには、PyCharmヘルプページを参照してください。
テンプレートファイルに Django タグを素早く作成するためのライブテンプレートのリストも拡張しました。更新されたリストは「Settings | Editor | Live Templates | Django Templates」(設定 | エディター | ライブテンプレート | Django テンプレート)で確認できます。
Endpoints(エンドポイント)ツールウィンドウで Django REST フレームワークの初期サポートが提供されるようになりました。エンドポイント宣言の検索、特定のエンドポイント宣言への移動、URL パス部分の名前変更を行うことができます。 HTTP Client(HTTP クライアント)タブで作業中にエンドポイントを変更するとコードが補完されます。この機能を試して、今後の PyCharm のリリースに追加してほしい点などがあればお知らせください。
PyCharm 2023.2 は Black フォーマッターとの統合機能を組み込みで提供しています。すでに Black がインストールされている場合は、PyCharm がそれを検出してプロジェクト用にセットアップすることを提案します。
PyCharm での Black は .py および .pyi ファイルを扱います。ファイルの全体と一部の両方を整形できます。 Ctrl+Alt+L を押すか、メインメニューから「Code | Reformat Code」(コード | コードの整形)を選択してコードを手動で整形する場合、または変更をファイルに保存する場合、組み込みのフォーマッターの代わりに Black を実行できます。 Blackの設定オプションについて詳しくは、専用ヘルプページをご覧ください。
PyCharm 2023.2 では、現在開いているファイルとは無関係に文字通りなんでも実行できるツールである Run Anything(なんでも実行)が導入されています。それを使用して、実行/デバッグ構成を迅速に作成および起動したり、Pythonコンソールを起動したり、Pythonパッケージを管理したり、アプリケーション、スクリプト、コマンド、タスクを実行できます。 Run Anything(なんでも実行)ポップアップを開くには、Ctrl を 2 回押します。
このリリースでは、PyCharm Pro への大きな追加機能となる AI Assistant が導入されました。現時点の AI 技術を搭載した機能を駆使し、AI Assistant は組み込みの AI チャットを提供します。これは、ドキュメントコメントの自動記述やコミットメッセージの生成などの処理を実行できます。
AI Assistant は JetBrains AI サービスによって提供されており、現時点では OpenAI に接続できるようになっています。将来的には他の言語モデルプロバイダーも対応の予定です。アシスタントの AI 機能にアクセスするには、JetBrains AI プラグインをインストールし、JetBrains Account を使用して JetBrains AI サービスにログインする必要があります。 JetBrains AI サービスの利用が可能かどうかについては、お客様によって開始時点で異なる場合があります。 AI Assistant に関する詳細とそのアクセス方法についてまとめた、こちらのブログ記事をご覧ください。
コードで Qt モデリング言語(QML)を使用している場合、PyCharm で QML の構文がサポートされるようになりました。サポート対象には以下が含まれます。
PyCharm はデフォルトで QML コードに組み込みのコードスタイル設定を使用します。 Qt と QML パス、フォーマットツールとしての qmlformat、および QML 言語サーバーは「Settings | Languages & Frameworks | QML」(設定 | 言語 &フレームワーク | QML)で構成できます。
Python 実行構成の Run/Debug Configurations(実行/デバッグ構成)ダイアログをすっきりとさせました。ダイアログを開いてすぐに最もよく使用される設定にアクセスできるようになっています。 Run with Python Console(Python コンソールで実行する)、Emulate terminal in output console(出力コンソールでターミナルをエミュレートする)、Before Launch(起動前)などのすべての追加設定が Modify options(オプションの変更)メニューの下に移動されました。
Python Packages(Python パッケージ)ツールウィンドウを使用すると、PyPl、Conda、またはプロジェクトのプライベートパッケージを迅速かつ簡単に管理できます。
PyCharm 2023.2 では、Python Packages(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(どこでも検索)(Double Shift)は主にファイル、クラス、メソッド、アクション、および設定の検索に使用されます。これにより、ある特定のクエリに対する検索結果がほとんどない場合にテキスト検索の結果が表示されるようになりました。
引数の多い関数の呼び出しを読みやすくするため、PyCharm 2023.2 ではパラメーター名のインレイヒントを提供しています。その動作は「Settings | Editor | Inlay Hints」(設定 | エディター | インレイヒント)で設定できます。 Ctrl+Click ショートカットを使用すると、特定メソッドのパラメーター名ヒントを無効にできます。
PyCharm 2023.2 では typing.NoReturn アノテーションが付いた関数の呼び出しが認識されます。そのような関数を呼び出す場合に IDE が到達不能コードと初期化されていない可能性がある変数について正しい情報を提供するようになっています。
PyCharm 2023.2 はオーバーライドされた pytest フィクスチャに対応する正確な型推論、ナビゲーション、およびコード補完を提供します。 IDE が pytest と同じ方法でフィクスチャを解決するようになりました。最初にテストクラス内のフィクスチャをチェックした後、現在のファイル内と import ステートメント内をチェックし、最後に最も近くにある conftest.py ファイルをチェックします。
.j2 と .jinja2 と同様に、PyCharm 2023.2 では .jinja ファイル拡張子が Jinja テンプレートとして自動的に認識され、対応する構文ハイライトとコード補完が提供されます。
Ansible テンプレートのように複数の拡張子があるファイルでテンプレート言語とデータ言語の両方に対して適切な構文ハイライトとコード補完が提供されるようになりました。認識されるテキストベースのフォーマットには、.xml、.yaml、および .properties があります。 *-playbook.yaml ファイルは YAML データ言語で記述された Jinja2 ファイルとしても検出されます。
pyproject.toml ファイルの dependencies 属性と requires 属性でパッケージ名のコード補完を提供するようになりました。また、IDE はこれらの属性に欠落しているパッケージのインストールを提案します。 <py-config> タグの内容に対して構文ハイライトを提供します。さらに、PyCharm は <py-script> タグ内で display、Element、および Element.write 要素に対してコード補完を提供し、これらの引数の型をチェックします。
プロジェクトごとに固有の色とアイコンを割り当て、定義済みのヘッダー色をカスタマイズできるようになりました。これを行うには、ヘッダーを右クリックしてコンテキストメニューにアクセスします。 Change Project Color(プロジェクトの色を変更)オプションを選択し、希望する色を選択します。この機能を無効にするには、コンテキストメニューの Show Project Gradient(プロジェクトのグラデーションを表示)オプションを選択解除します。
バージョン 2023.2 は代替の Light with Light Header(ライトヘッダーを使ったライト)テーマが導入されたため、ユーザーエクスペリエンスが向上しています。このテーマではウィンドウのヘッダー、ツールチップ、および通知バルーンで対応する明るい色が使用されます。
PyCharm 2023.2 には Project(プロジェクト)ビューのファイルを変更日時に基づいて並べ替える待望のオプションが導入されています。この新機能により、プロジェクトの変更が保存されるたびにファイルが自動的に並べ替えられるようになります。この機能を有効にするには Project(プロジェクト)ビューのケバブメニュー(縦三点リーダー)を開き、Tree Appearance(ツリーの外観)| Sort by Modification Time(変更日時で並べ替え)を選択します。
複数の実行構成を管理しやすくするため、Run(実行)ウィジェットにお好みの構成をピン留めできるオプションを実装しました。 Pinned(ピン留め)セクションに実行構成を追加するには、名前の横にあるケバブメニュー(縦三点リーダー)を開いて Pin(ピン留め)を選択します。ピン留めされた構成が複数ある場合はドラッグアンドドロップ操作でリスト内の構成の位置を簡単に調整できます。
PyCharm 2023.2 では、管理されたJupyterサーバーを構成できます。マネージドサーバーの環境変数を指定し、管理対象サーバーを任意のディレクトリから起動するように構成し、選択した Python インタープリターの外部にある個別の jupyter.exe ファイルから管理対象サーバーを起動できます。 Jupyter または JupyterLab サーバーに対して追加のパラメーターを指定することもできます。
PyCharm 2023.2 では、Jupyter ノートブックの対話型 Polars テーブルを操作できます。 Python コンソールで Special Variables(特殊変数)リストの View as DataFrame(データフレームとして表示)オプションを使用することで、Polars DataFrame を詳細に調べることができます。 Python と Jupyter デバッガーの両方が Polars を処理します。 PyCharm がテーブルの型とディメンションに関する情報を提供し、列の名前と型を補完するほか、テーブルの並べ替えが可能となっています。
Polars DataFrame は Scientific mode(科学計算モード)ではサポートされていませんのでご注意ください。
PyCharm 2023.2 には共有インデックスを素早く構築してアップロードするための新しいコマンドラインツールが追加されています。チームワークを合理化し、ローカルでの大規模なプロジェクトのインデックス作成にかかる無駄な時間をなくすように設計されています。新しいツールはチームの共有インデックスの生成プロセスを単純化します。複数のスクリプトやサービスを使用せず、わずか数回のクリックで完了できます。詳細はこちらをご覧ください。
PyCharm 2023.2 では JavaScript と TypeScript の型エラーを示す方法の改善に焦点を当ててきました。エラーと警告がより可読性に優れた書式になり、コード内の問題を発見しやすくなります。この書式はローカライズされたエラーを含むすべての TypeScript エラーと一部のごく一般的な JavaScript エラーに適用されます。
PyCharm 2023.2 では CSS のネストがサポートされるようになりました。構文のサポートに加えて、ネストされたセレクターが識別子や関数表記で開始していることを警告するインスペクションが実装されています。
PyCharm 2023.2 では OpenAPI Specifications プラグインがバンドルされるようになりました。このプラグインは OpenAPI と Swagger の仕様ファイルのサポートを提供しています。主な機能には、JSON スキーマによる検証、ナビゲーション、Swagger Codegen と OpenAPI Generator によるコード生成があります。
PyCharm が YAML ファイルや JSON ファイルを含む OpenAPI および Swaggeer 仕様ファイルの Redoc UI プレビューをサポートするようになり、Redoc と Swagger UI を IDE 内で切り替えられるようになりました。 Redocly を統合することで、PyCharm 内から Try it コンソールにアクセスし、それを使用してパラメーターの設定や API へのリクエストの送信を行えます。
PyCharm で AsyncAPI 仕様の書式がかなり簡単に扱えるようになりました。 IDE はスキーマの検証機能をサポートしており、参照のコード補完、Endpoints(エンドポイント)ビュー、および Editor Preview(エディターのプレビュー)ペインを提供します。
HTTP クライアントでトランスポート層セキュリティプロトコル(TLS)を使用して gRPC リクエストを送信できるようになりました。 TLS は暗号化と認証の機能を提供し、データ送信の機密性と整合性を確保します。リクエストの構文では https:// と grpcs:// のどちらのスキーマもサポートされています。
HTTP クライアントが Swagger と OpenAPI の仕様を理解し、JSON リクエスト本体に対応するコード補完オプションを提供できるようになりました。
PyCharm 2023.2 では、インポートされたモジュールを使用して HTTP クライアントリクエストハンドラーの共通 JavaScript コードを共有できるようになりました。
PyCharm で HTTP クライアントのリクエスト結果に含まれる PDF ファイルと HTML ファイルのプレビューを直接表示できるようになりました。
PyCharm で HTTP クライアント CLI を使用して GraphQL API を操作し、サービスとの WebSocket 接続を確立できるようになりました。これは、テストや自動化スクリプトなどの目的に役立ちます。
PyCharm 2023.2 には開発ワークフローを合理化する GitLab との統合機能が導入されています。リクエストのリストの確認、変更内容の確認、コメントの書き込み、関連するビューへの移動など、IDE から直接マージリクエスト機能を操作できます。
PyCharm 2023.2 にはコードチャンクの特定部分を選択的にコミットできる待望の機能が導入されています。部分コミットを実行するには、チャンク内の行を選択し、コンテキストメニューから Include these lines into commit(これらの行をコミットに含める)を呼び出します。このチャンクは、選択した部分がハイライトされた状態で個別の行に分割されます。チェックボックスかコンテキストメニューを使用して選択範囲に行を追加するか除外するかを指定できます。
Services(サービス)ツールウィンドウで Docker イメージレイヤーのコンテンツに簡単にアクセスしてプレビューできるようになりました。リストからイメージを選択して Show layers(レイヤーの表示)を選択し、Analyze image for more information(イメージを解析して詳細を得る)をクリックします。すると、レイヤーに格納されたファイルのリストが開きます。このリストにあるファイルを右クリックして Open File(ファイルを開く)(バイナリの場合は Download File(ファイルのダウンロード))をクリックすると、選択したファイルを簡単にエディターで開けます。
Docker の実行構成を Before Launch(起動前)タスクに指定することで、他の構成より前に実行するように設定できるようになりました。 IDE はその時点で稼働中のコンテナーが健全な状態になるのを待ってから次の実行構成を起動します。 Docker の実行構成をキューに入れるには、あらかじめ作成しておいた実行構成を Modify options(オプションの変更)| Add before launch task(起動タスク前に追加)| Run configuration(実行構成)で関連するコンテナーに追加します。
kuberconfig ファイルのサポート 複数の kuberconfig ファイルを単一のプロジェクト内でセットアップできる新機能を導入しました。これにより、同じプロジェクト内で複数のクラスターを処理したり、別々のクラスターの環境を操作したりするのが簡単になります。ファイルをセットアップするには、File(ファイル)| Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Kubernetes に移動します。
Services(サービス)ツールウィンドウで、Kubernetes クラスターのデプロイログを表示できるようになりました。ツリーの Deployment(デプロイ)を右クリックしてから、コンテキストメニューの Follow Log(ログの追跡)または Download Log(ログのダウンロード)を選択します。
Redis Cluster に接続し、スタンドアロンの Redis と同じ機能セットを使用できるようになりました。クラスターに接続する際は必要な URL の前に jdbc:redis:cluster: を入力する必要があります。この目的を達成するには適切な接続タイプを選択します。クラスターへの接続に SSH トンネリングが必要な場合は、クラスター内にあるすべてのノードのホストとポートを URL に指定する必要があります。
バージョン 2023.2 ではスキーマの移行機能を改良しました。同じオブジェクトがダイアログの両側で同じ行に配置されるようになったことが大きな変更点です。ターゲットスキーマで追加、除去、変更されるオブジェクトを把握しやすくなっています。
Data Editor and Viewer(データエディターとビューアー)設定ページに datetime 値を表示する必要のあるタイムゾーンを設定するための新しい Time zone(タイムゾーン)フィールドが追加されました。
共有データベースとそのコンテンツがイントロスペクションされるようになりました。このようなデータベースが作成されるデータ共有もイントロスペクションの対象になります。