改善された Jupyter ノートブックのインターフェースで AI Assistant を使用して直接データ解析を行い、Hugging Face モデルをより効率よく扱えるようになりました
JetBrains AI Assistant 2024.2 では、より正確な提案を迅速に提供できるようにクラウドコード補完が大幅に強化されています。AI コード補完機能をより適切に IDE のワークフローに統合するように UX が改良され、提案されたコードの構文ハイライトやコード提案の段階的な採用などの改善が導入されています。AI チャットもよりスマートになり、最新の GPT-4o モデル、チャットの参照、およびセマンティック検索が新たにサポートされています。
新機能には Terminal(ターミナル)ツールウィンドウへの AI の統合による効率的なコマンド生成と AI 支援による VCS の競合解決などがあります。また、ユーザーがドキュメントの生成やユニットテストの作成用のプロンプトをカスタマイズできるようになったため、特定のコーディング標準と言語に合わせた作成が可能になりました。
上記の内容とその他の強化の詳細については、ブログ記事をご覧ください。
AI Assistant が PyCharm の Jupyter ノートブックにさらに緊密に統合されました。ノートブック内にプロンプトを直接追加し、そこから AI Assistant を直接操作するオプションが追加されています。各セルの上下に表示される AI セルオプションを選択すると、プロンプトをすぐに入力できるフィールド付きのセルが表示されます。
データ解析を実行中に作業が滞り、その段階で他のデータアナリストが通常実行している最も一般的なステップについてのヒントが必要になった場合は、AI セルの右側にある電球をクリックしてください。AI Assistant がノートブックの現在のコンテキストに応じて最も関連性の高い提案を提供しますので、データをより素早く効率よくクリーニングできます。
AI Assistant に特定セルのコードを反復させたい場合は、コンテキストメニューの AI Edit Cell(セルの AI 編集)オプションを使用します。すると、選択されたセルにプロンプトを直接入力できるフィールドが開きます。AI Assistant が提案する変更は Diff ペインに表示されるため、コードの変更内容を事前に確認することができます。
AI Assistant によって DataFrame を可視化することで、コンテキストに最適なグラフとプロットについての提案が表示されるようになりました。
DataFrame の右上にある AI アイコンを使用して、Suggest Visualization(可視化の提案)を選択します。すると、PyCharm が AI チャットを開いて提案をそこに表示します。最適と思われる提案を選択すると、AI Assistant が最適なコードスニペットを含む新しいセルをノートブックに生成します。それを実行すると、グラフがノートブックに表示されます。
PyCharm が Databricks と直接統合できるようになりました。Databricks クラスターに接続し、スクリプトとノートブックをワークフローとして実行し、クラスター上の Spark シェルでファイルを直接実行し、進捗を監視する。これらすべての操作を快適な IDE から行えます。
PyCharm はディスク上の Databricks 構成ファイルを検出し、それを使用して Databricks クラスターに接続できます。Databricks ではコードを Run on Cluster(クラスターで実行)または Run as a Workflow(ワークフローとして実行)のいずれかの方法で実行できます。
Databricks の統合を使用するには、こちらの専用プラグインのインストールが必要です。
PyCharm が開発者のニーズに最適な関連 Hugging Face モデルのリストを提案できるようになりました。これにより、IDE からまったく離れることなく使用するモデルを決定してインストールすることができます。エディタータブで右クリックしてコンテキストメニューを呼び出し、Insert HF Model(HF モデルの挿入)を選択し、モデルに実行させたいことを決定します。PyCharm は提案をリストに表示します!モデルを選択すると、PyCharm がこのモデルを開いているファイル内で直接使用できるコードスニペットを挿入することを提案し、欠落しているこのモデルの依存パッケージをすべてダウンロードしてインストールします。
Hugging Face の Datasets ライブラリデータを対話型 DataFrame として検査できるようになりました。これにより、pandas、Polars、PyTorch、および TensorFlow DataFrame にすでに使用しているチャートビュー、ページ分割、テーブルを並べ替えてエクスポートする機能などを活用することができます。
新しい Hugging Face 専用のツールウィンドウを使用してマシンに保存されている Hugging Face モデルの監視と管理を行えます。このツールウィンドウでは削除可能な未使用モデルを特定してディスク空き容量を確保できるだけでなく、簡単にモデルのパスをコピーしたり、モデルが格納されているフォルダーを開いたりできます。
変数の値を確認するだけのためにデバッガーを起動したり、print ステートメントを使用したりする必要がなくなりました。変数の行にカーソルを合わせるだけで、選択した変数の値のプレビューをすぐに表示できるようになりました。
Jupyter ノートブックの UX
Run(実行)ボタンが各セルの横に配置されるようになったため、上部のメニューに移動する必要がなくなりました。また、新しい Go To(移動)ボタンを使用すると、直近で実行したセルに移動できます。
また、各セルに実行が正常に完了したのか、エラーが発生したのか、キャンセルされたのかを示すステータスが表示されるようになりました。実行ステータスはノートブックのメインツールバーにある Go To(移動)ボタンにマウスポインターを合わせると確認できます。セルの実行が完了すると、PyCharm に通知が表示されます(ノートブックが完了後に閉じられている場合も含む)。
各セルに割り当てられたタグがエディターに表示されるようになりました。新しいタグはコンテキストメニューを使って追加できます。
ノートブックの作業スペースを最大限に活かすため、コードセルと Markdown セルの展開と折りたたみを実行できるようにしました。フォーカス中のセルは青い線でハイライトされ、その行をクリックすると、セルの内容と出力が折りたたみまたは展開されます。フォーカスされていないセルも折りたたむことができます。セルにマウスポインターを合わせるとグレーの線が表示されるので、それをクリックできます。
Endpoints(エンドポイント)ツールウィンドウはビューセットの @action
デコレーターで指定されたルートを認識します。methods
パラメーターに指定されたルートと HTTP メソッドを確認できます。さらに、PyCharm がビューセットに最初に割り当てられたルートのほかに detail
と url_path
に基づくルートを生成できるようになりました。HTTP クライアントはルートごとに関連するメソッドを使用したリクエストを提案します。
Search Everywhere(どこでも検索)ダイアログに検索対象のコードベース要素をプレビューするオプションが追加されました。ダイアログのツールバーにある Preview(プレビュー)アイコンでこの機能を有効にすると、検索結果の下にプレビューペインが表示されるようになり、追加のコンテキストを使用することができます。また、プロジェクト内をさらに簡単に移動できるようになります。
バージョン 2024.2 では、行全体コード補完の提案をより直感的かつ正確に承認できるようにしました。インラインコード補完の提案でコードがハイライトされるようになり、新しいショートカットを使用して個別の単語やそれよりも長い提案の行全体を採用できるようにもなっています。また、書式設定や関連する問題を解消することで、採用した変更のコードへの組み込み方法も改善しました。
PyCharm で Markdown ファイルの数式をネイティブにレンダリングできるようになりました。Markdown を使用する際は $
を使用してインライン数式を挿入し、$$
を使用して数学コンテンツを含むコードブロックを挿入できます。
固定行を表示させる言語を選択できるようになりました。この機能は Settings(設定)/Preferences(環境設定)| Editor(エディター)| General(一般)| Sticky Lines(固定行)を開くか、エディター内で固定行を右クリックしてコンテキストメニューを呼び出すことで、ユーザーの好みに合わせて調整することができます。
複雑なデータ形式を含む長い文字列変数のデバッグと参照が大幅に簡単になりました。更新されたデバッガーでは、JSON、XML、HTML、JWT、および URL 内のエンコード文字列を含む文字列変数が適切な形式で可視化されます。変数の横にある View(表示)ハイパーリンクをクリックするだけで、バグの根本的原因を素早く特定できます。適切なビジュアライザーが変数の内容に基づいて自動的に選択されます。
PyCharm 2024.2 では、CI/CD パイプラインを使用した低速なプロセスを通さずにテストカバレッジをローカルで素早くチェックして改善する機能がさらに改善されています。Coverage(カバレッジ)ツールウィンドウに現在のフィーチャーブランチで変更されたクラスのみが表示されるようになったため、プロジェクト全体のステータスを参照しなくても最近の変更のテストカバレッジをチェックできるようになっています。プロジェクト全体のテストカバレッジを確認し、すべてのクラスを表示するには、Show Only Modified Classes(変更されたクラスのみを表示する)オプションを無効にしてください。
Version Control(バージョン管理)ウィジェット内にタグ専用のノードを実装し、タグを簡単に確認できるようにしました。このノードはデフォルトで表示されますが、歯車アイコンをクリックし、Show Tags(タグを表示する)オプションをオフにすると非表示にできます。
HTTP クライアントに使用される JavaScript 実行エンジンを GraalJS にアップグレードしました。これにより、PyCharm の HTTP クライアントでエンドポイントをテストする際と .http
ファイルで JavaScript を使用して結果を処理する際にすべての GraalJS 機能を使用できるようになりました(ECMAScript 2023 仕様も完全にサポートされています)。
HTTP クライアントに重要な更新を導入しました。新しい XPath 関数を使用して XML ドキュメントと HTML ドキュメントの要素を直接照会できるようにしています。また、XML ドキュメントと HTML ドキュメントを操作するためのメソッドを多数追加したため、XML を手動で解析する必要がなくなりました。
HTTP クライアントが変数コレクションの反復処理もサポートするようになりました。このため、JSONPath コレクションを含む単一の HTTP リクエストを作成すれば、コレクション内の各要素に対応するリクエストを自動的に送信できます。さらに、JSONPath 構文を使用して後処理スクリプトにある特定のコレクションアイテムにアクセスできます。
また、API を操作するための特定のメソッドを提供するカスタムメソッドを作成する機能を実装しました。カスタムメソッドはクイックフィックスを使用してその場で追加するか、Settings(設定)| Tools(ツール)| HTTP Client(HTTP クライアント)にコンマ区切りで入力できます。
PyCharm では Terraform の行全体コード補完に対応することで、そのコーディング支援を大幅に拡張しています。また、コンテキストを認識するコード補完、改良された構文ハイライト、およびクイックフィックスの提案を伴うエラー検出システムなどの基本的なコードインサイト機能も Terraform 用に改善されています。さらに、要素にマウスポインターを合わせた際にツールチップを表示するクイックドキュメント機能も追加しました。この機能は作業の流れを止めることなく Terraform のリソースをより効果的に使用するための情報を即座に提供するものです。
このリリースでは、データベース用の新しい 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(ローダー)でカスタムローダーを配置して作成することもできます。
TypeScript ファイルの実行とデバッグを追加設定なしで行えるようになりました。ファイルのコンテキストメニュー、Run(実行)ウィジェット、Current File(現在のファイル)構成といった各種のエントリポイントから実行できます。
リモート開発ワークフローに逆ポート転送を追加しました。この新機能により、リモート IDE がクライアントマシン側の使用可能なポートに接続できるようになりました。この機能はモバイル開発やローカルデータベースに接続する場合に特に役立ちます。
現在、JetBrains Runtime 17(JBR17)から JetBrains Runtime 21(JBR21)への移行が進められています。PyCharm 2024.2 からは IDE のすべてのアップデートに JBR21 が使用され、高度なセキュリティとパフォーマンス、および Linux での Wayland レンダリングサポートが提供されます。