PyCharm 2024.2 の新機能

改善された Jupyter ノートブックのインターフェースで AI Assistant を使用して直接データ解析を行い、Hugging Face モデルをより効率よく扱えるようになりました

ダウンロード

AI Assistant

JetBrains AI Assistant 2024.2 では、より正確な提案を迅速に提供できるようにクラウドコード補完が大幅に強化されています。AI コード補完機能をより適切に IDE のワークフローに統合するように UX が改良され、提案されたコードの構文ハイライトやコード提案の段階的な採用などの改善が導入されています。AI チャットもよりスマートになり、最新の GPT-4o モデル、チャットの参照、およびセマンティック検索が新たにサポートされています。

新機能には Terminal(ターミナル)ツールウィンドウへの AI の統合による効率的なコマンド生成と AI 支援による VCS の競合解決などがあります。また、ユーザーがドキュメントの生成やユニットテストの作成用のプロンプトをカスタマイズできるようになったため、特定のコーディング標準と言語に合わせた作成が可能になりました。

上記の内容とその他の強化の詳細については、ブログ記事をご覧ください。

Jupyter ノートブックの AI セル

AI Assistant が PyCharm の Jupyter ノートブックにさらに緊密に統合されました。ノートブック内にプロンプトを直接追加し、そこから AI Assistant を直接操作するオプションが追加されています。各セルの上下に表示される AI セルオプションを選択すると、プロンプトをすぐに入力できるフィールド付きのセルが表示されます。

データ解析を実行中に作業が滞り、その段階で他のデータアナリストが通常実行している最も一般的なステップについてのヒントが必要になった場合は、AI セルの右側にある電球をクリックしてください。AI Assistant がノートブックの現在のコンテキストに応じて最も関連性の高い提案を提供しますので、データをより素早く効率よくクリーニングできます。

AI Assistant に特定セルのコードを反復させたい場合は、コンテキストメニューの AI Edit Cell(セルの AI 編集)オプションを使用します。すると、選択されたセルにプロンプトを直接入力できるフィールドが開きます。AI Assistant が提案する変更は Diff ペインに表示されるため、コードの変更内容を事前に確認することができます。

ワンクリックによる DatFrame の可視化

AI Assistant によって DataFrame を可視化することで、コンテキストに最適なグラフとプロットについての提案が表示されるようになりました。

DataFrame の右上にある AI アイコンを使用して、Suggest Visualization(可視化の提案)を選択します。すると、PyCharm が AI チャットを開いて提案をそこに表示します。最適と思われる提案を選択すると、AI Assistant が最適なコードスニペットを含む新しいセルをノートブックに生成します。それを実行すると、グラフがノートブックに表示されます。

Databricks の統合

PRO

PyCharm が Databricks と直接統合できるようになりました。Databricks クラスターに接続し、スクリプトとノートブックをワークフローとして実行し、クラスター上の Spark シェルでファイルを直接実行し、進捗を監視する。これらすべての操作を快適な IDE から行えます。

PyCharm はディスク上の Databricks 構成ファイルを検出し、それを使用して Databricks クラスターに接続できます。Databricks ではコードを Run on Cluster(クラスターで実行)または Run as a Workflow(ワークフローとして実行)のいずれかの方法で実行できます。

Databricks の統合を使用するには、こちらの専用プラグインのインストールが必要です。

Hugging Face 統合

PRO

モデルの提案

PyCharm が開発者のニーズに最適な関連 Hugging Face モデルのリストを提案できるようになりました。これにより、IDE からまったく離れることなく使用するモデルを決定してインストールすることができます。エディタータブで右クリックしてコンテキストメニューを呼び出し、Insert HF Model(HF モデルの挿入)を選択し、モデルに実行させたいことを決定します。PyCharm は提案をリストに表示します!モデルを選択すると、PyCharm がこのモデルを開いているファイル内で直接使用できるコードスニペットを挿入することを提案し、欠落しているこのモデルの依存パッケージをすべてダウンロードしてインストールします。

Hugging Face Datasets ライブラリの対話型 DataFrame

Hugging Face の Datasets ライブラリデータを対話型 DataFrame として検査できるようになりました。これにより、pandas、Polars、PyTorch、および TensorFlow DataFrame にすでに使用しているチャートビュー、ページ分割、テーブルを並べ替えてエクスポートする機能などを活用することができます。

未使用モデルを特定して削除するオプション

新しい Hugging Face 専用のツールウィンドウを使用してマシンに保存されている Hugging Face モデルの監視と管理を行えます。このツールウィンドウでは削除可能な未使用モデルを特定してディスク空き容量を確保できるだけでなく、簡単にモデルのパスをコピーしたり、モデルが格納されているフォルダーを開いたりできます。

Jupyter ノートブック

PRO

変数のインラインプレビュー

変数の値を確認するだけのためにデバッガーを起動したり、print ステートメントを使用したりする必要がなくなりました。変数の行にカーソルを合わせるだけで、選択した変数の値のプレビューをすぐに表示できるようになりました。

Jupyter ノートブックの UX

セル実行の効率化

Run(実行)ボタンが各セルの横に配置されるようになったため、上部のメニューに移動する必要がなくなりました。また、新しい Go To(移動)ボタンを使用すると、直近で実行したセルに移動できます。

また、各セルに実行が正常に完了したのか、エラーが発生したのか、キャンセルされたのかを示すステータスが表示されるようになりました。実行ステータスはノートブックのメインツールバーにある Go To(移動)ボタンにマウスポインターを合わせると確認できます。セルの実行が完了すると、PyCharm に通知が表示されます(ノートブックが完了後に閉じられている場合も含む)。

タグ

各セルに割り当てられたタグがエディターに表示されるようになりました。新しいタグはコンテキストメニューを使って追加できます。

コードセルと Markdown セルを展開・折りたたみする機能

ノートブックの作業スペースを最大限に活かすため、コードセルと Markdown セルの展開と折りたたみを実行できるようにしました。フォーカス中のセルは青い線でハイライトされ、その行をクリックすると、セルの内容と出力が折りたたみまたは展開されます。フォーカスされていないセルも折りたたむことができます。セルにマウスポインターを合わせるとグレーの線が表示されるので、それをクリックできます。

Endpoints(エンドポイント)ツールウィンドウ: Django REST Framework ビューセットの @action のサポート

PRO

Endpoints(エンドポイント)ツールウィンドウはビューセットの @action デコレーターで指定されたルートを認識します。methods パラメーターに指定されたルートと HTTP メソッドを確認できます。さらに、PyCharm がビューセットに最初に割り当てられたルートのほかに detailurl_path に基づくルートを生成できるようになりました。HTTP クライアントはルートごとに関連するメソッドを使用したリクエストを提案します。

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

Search Everywhere(どこでも検索)のプレビューオプション

Search Everywhere(どこでも検索)ダイアログに検索対象のコードベース要素をプレビューするオプションが追加されました。ダイアログのツールバーにある Preview(プレビュー)アイコンでこの機能を有効にすると、検索結果の下にプレビューペインが表示されるようになり、追加のコンテキストを使用することができます。また、プロジェクト内をさらに簡単に移動できるようになります。

行全体コード補完の改善

PRO

バージョン 2024.2 では、行全体コード補完の提案をより直感的かつ正確に承認できるようにしました。インラインコード補完の提案でコードがハイライトされるようになり、新しいショートカットを使用して個別の単語やそれよりも長い提案の行全体を採用できるようにもなっています。また、書式設定や関連する問題を解消することで、採用した変更のコードへの組み込み方法も改善しました。

その他の改善

  • 新しい UI がすべてのユーザーを対象にデフォルト化されました。PyCharm 2024.2 ではすべてのユーザーを対象に新しい UI がデフォルト化され、クラシック UI を引き続きプラグインとして提供しています。新しい UI について詳しく見る
  • PyCharm がマシンに構成されているシステムのプロキシ設定を自動的に検出してデフォルトで使用するようになりました。

コードエディター

Markdown ファイルでの数学構文のサポート

PyCharm で Markdown ファイルの数式をネイティブにレンダリングできるようになりました。Markdown を使用する際は $ を使用してインライン数式を挿入し、$$ を使用して数学コンテンツを含むコードブロックを挿入できます。

言語を認識する固定行

固定行を表示させる言語を選択できるようになりました。この機能は Settings(設定)/Preferences(環境設定)| Editor(エディター)| General(一般)| Sticky Lines(固定行)を開くか、エディター内で固定行を右クリックしてコンテキストメニューを呼び出すことで、ユーザーの好みに合わせて調整することができます。

実行/デバッグ

JSON、XML、およびその他の形式の文字列変数ビジュアライザー

複雑なデータ形式を含む長い文字列変数のデバッグと参照が大幅に簡単になりました。更新されたデバッガーでは、JSON、XML、HTML、JWT、および URL 内のエンコード文字列を含む文字列変数が適切な形式で可視化されます。変数の横にある View(表示)ハイパーリンクをクリックするだけで、バグの根本的原因を素早く特定できます。適切なビジュアライザーが変数の内容に基づいて自動的に選択されます。

現在のフィーチャーブランチで行われた変更のテストカバレッジ

PyCharm 2024.2 では、CI/CD パイプラインを使用した低速なプロセスを通さずにテストカバレッジをローカルで素早くチェックして改善する機能がさらに改善されています。Coverage(カバレッジ)ツールウィンドウに現在のフィーチャーブランチで変更されたクラスのみが表示されるようになったため、プロジェクト全体のステータスを参照しなくても最近の変更のテストカバレッジをチェックできるようになっています。プロジェクト全体のテストカバレッジを確認し、すべてのクラスを表示するには、Show Only Modified Classes(変更されたクラスのみを表示する)オプションを無効にしてください。

バージョン管理システム

Version Control(バージョン管理)ウィジェット内のタグ

Version Control(バージョン管理)ウィジェット内にタグ専用のノードを実装し、タグを簡単に確認できるようにしました。このノードはデフォルトで表示されますが、歯車アイコンをクリックし、Show Tags(タグを表示する)オプションをオフにすると非表示にできます。

その他の改善

  • Git ツールウィンドウの Graph Options(グラフオプション)に 2 つの新しいオプションが追加されました。--first-parent--no-merges です。First Parent(最初の親)オプションを使用すると、個々のコミットをマージから非表示にしてメインラインの変更に集中することができます。また、No Merges(マージなし)オプションを使用すると、マージコミットを完全に除外できます。
  • 複雑なプロジェクトの変更を簡単にレビューできるよう、複数のファイルまたはディレクトリで同時に使用できる Local History(ローカル履歴)アクションを実装しました。Project(プロジェクト)ツールウィンドウで複数のファイルまたはフォルダーを選択し、Local History(ローカル履歴)| Show History(履歴の表示)を選択すると、選択項目の変更履歴がポップアップ表示されます。
  • Git ログをエディターのタブとして開けるようになったため、作業スペースがさらに広くなり、コミットのリストと関連する詳細の間を移動しやすくなりました。Log(ログ)ツールウィンドウのツールバーにあるドロップダウンメニューからも同じ操作を実行できます。
  • Git ツールウィンドウに含まれる Log(ログ)タブ内のコミットグラフのブランチラインの色分けとレイアウトを改良しました。重要なブランチラインは指定された色を維持したままグラフの左側に常に残るため、識別と追跡が容易になっています。

フレームワークとテクノロジー

PRO

HTTP クライアントの実行エンジンに GraalJS を使用

HTTP クライアントに使用される JavaScript 実行エンジンを GraalJS にアップグレードしました。これにより、PyCharm の HTTP クライアントでエンドポイントをテストする際と .http ファイルで JavaScript を使用して結果を処理する際にすべての GraalJS 機能を使用できるようになりました(ECMAScript 2023 仕様も完全にサポートされています)。

HTTP クライアントの改善

HTTP クライアントに重要な更新を導入しました。新しい XPath 関数を使用して XML ドキュメントと HTML ドキュメントの要素を直接照会できるようにしています。また、XML ドキュメントと HTML ドキュメントを操作するためのメソッドを多数追加したため、XML を手動で解析する必要がなくなりました。

HTTP クライアントが変数コレクションの反復処理もサポートするようになりました。このため、JSONPath コレクションを含む単一の HTTP リクエストを作成すれば、コレクション内の各要素に対応するリクエストを自動的に送信できます。さらに、JSONPath 構文を使用して後処理スクリプトにある特定のコレクションアイテムにアクセスできます。

また、API を操作するための特定のメソッドを提供するカスタムメソッドを作成する機能を実装しました。カスタムメソッドはクイックフィックスを使用してその場で追加するか、Settings(設定)| Tools(ツール)| HTTP Client(HTTP クライアント)にコンマ区切りで入力できます。

Terraform サポートの強化

PyCharm では Terraform の行全体コード補完に対応することで、そのコーディング支援を大幅に拡張しています。また、コンテキストを認識するコード補完、改良された構文ハイライト、およびクイックフィックスの提案を伴うエラー検出システムなどの基本的なコードインサイト機能も Terraform 用に改善されています。さらに、要素にマウスポインターを合わせた際にツールチップを表示するクイックドキュメント機能も追加しました。この機能は作業の流れを止めることなく Terraform のリソースをより効果的に使用するための情報を即座に提供するものです。

データベースツール

PRO

AI Assistant の新機能

このリリースでは、データベース用の新しい AI Assistant 機能を導入しました。テキストから SQL への変換機能があるため、Generate Code with AI(AI でコードを生成)をクリックしてプロンプトを入力することで SQL コードをエディター内に直接生成できます。ユーザーはこのコードを承認、再生成、または改良できます。さらに質問がある場合は、AI チャットを使用できます。

AI Assistant はテーブルの変更にも役立ち、すべての VARCHAR データ型を CHAR に切り替えるなどの変更を依頼できます。SQL の問題についても、説明や修正案を提示して問題の理解や修正を支援します。また、プロンプトでデータベーススキーマをメンションすることで、AI チャットにデータベーススキーマを添付することができます。

スクリプト型のローダーによるデータインポートのカスタマイズ

カスタマイズ可能なスクリプト型のローダーを使用して Excel、JSON、Parquet、および Shapefile 形式の表形式ファイルからデータをインポートできるようになりました。Project(プロジェクト)ツールウィンドウからデータベースエクスプローラーのスキーマにファイルをドラッグし、Import(インポート)ダイアログで設定を構成できます。

これらのファイルは Project(プロジェクト)ツールウィンドウのデータエディターからワンクリックで表示することもできます。この動作を無効にするには、Settings(設定)/Preferences(環境設定)| Advanced Settings(高度な設定)| Open file as table if detected by scripted loader(ファイルがスクリプト型のローダーによって検出される場合はテーブルとして開く)にアクセスしてください。

Scratches and Consoles(スクラッチとコンソール)| Extensions(拡張機能)| Database Tools and SQL(データベースツールと SQL)| data(データ)| loaders(ローダー)でカスタムローダーを配置して作成することもできます。

その他の改善

  • セルを選択して Related Rows(関連する行)アイコンをクリックすることで、特定のセルに関連する行にアクセスできるようになりました。Navigate And Select First(移動して最初を選択する)オプションではすべての行が表示され、最初に参照された行がハイライトされます。一方、Navigate And Filter All(移動してすべてをフィルターする)オプションでは参照された行のみが表示されます。
  • 値の補完機能が自動的に行われるようにしました。この機能は完全にローカルで動作するため、補完候補は現在の列にすでに読み込まれている他の値に基づくことにご注意ください。

フロントエンド

PRO

TypeScript ファイルを直接実行してデバッグする機能

TypeScript ファイルの実行とデバッグを追加設定なしで行えるようになりました。ファイルのコンテキストメニュー、Run(実行)ウィジェット、Current File(現在のファイル)構成といった各種のエントリポイントから実行できます。

主要ウェブフレームワークでのサポートの改善

PyCharm 2024.2 はファイルシステムベースのルーティングを使用するフレームワークのパスを解決できます。プロジェクトのファイルシステムに基づいてリンクパスを解決することにより、Next.js、Nuxt、SvelteKit、および Astro の自動補完と移動操作を提供します。新しい Svelte コードスニペットとレンダータグもサポートされています。また、Astro と Vue Language Service v2 に対応した言語サーバープロトコル(LSP)のサポートを実装し、コード補完と全体的な開発者エクスペリエンスを改善しました。

その他の改善

リモート開発の逆ポート転送

PRO

リモート開発ワークフローに逆ポート転送を追加しました。この新機能により、リモート IDE がクライアントマシン側の使用可能なポートに接続できるようになりました。この機能はモバイル開発やローカルデータベースに接続する場合に特に役立ちます。

JetBrains Runtime: JBR21 への移行

現在、JetBrains Runtime 17(JBR17)から JetBrains Runtime 21(JBR21)への移行が進められています。PyCharm 2024.2 からは IDE のすべてのアップデートに JBR21 が使用され、高度なセキュリティとパフォーマンス、および Linux での Wayland レンダリングサポートが提供されます。

ダウンロード