PyCharm 2024.1 の新機能

Hugging Face のモデルとデータセットのドキュメントプレビュー、ローカルで動作する JavaScript と TypeScript の機械学習ベース行全体コード補完、エディターの行固定表示、エディター内コードレビュー

Hugging Face: モデルとデータセットのクイックドキュメントプレビュー

作業中の Hugging Face モデルまたはデータセットに関するすべての情報を PyCharm 内で直接取得できます。 データセットまたはモデルの名前にカーソルを合わせてその説明をポップアップ表示するか、F1 を押してエディターの横に Documentation(ドキュメント)ツールウィンドウを開くことができます。 Hugging Face ウェブサイトのドキュメントに移動するには、⌘ クリック(Windows と Linux の場合は Ctrl+クリック)を使用します。

JavaScript と TypeScript の機械学習ベース行全体コード補完 PyCharm Professional

PyCharm 2023.3 ではローカルで動作する Python コードの機械学習ベース行全体コード補完が導入されましたが、2024.1 ではその単一行候補がサポートする言語の範囲を広げました。 JavaScript、TypeScript、およびフロントエンドフレームワークの行全体コード補完候補も提供されるようになります。 この候補は作業中のファイルのコンテキストを使用し、インターネット経由でコードを送信せずにローカルで実行される専門的な言語モデルが使用されています。

エディターの行固定表示

大きなファイルでの作業と新しいコードベースの参照を簡単にするため、エディターで行を固定表示できるようにしました。 この機能を使用すると、クラスやメソッドの開始部などの重要な構造要素をエディターの上部にピン留めした状態でスクロールできます。 そうすれば常に表示範囲が固定され、ピン留めされた行をクリックして迅速にコード内を移動できます。

エディター内コードレビュー

PyCharm 2024.1 では GitHub および GitLab ユーザーの両方にとってコードレビューの使い勝手が改善されています。 エディターに組み込まれた新しいレビューモードにより、作成者とレビュー担当者が直接やりとりできるようになりました。 プル/マージリクエストブランチを確認する際にはレビューモードが自動的に有効になり、コードの変更をレビュー可能であることを示す紫のマーカーがガターに表示されます。 このマーカーをクリックすると元のコードを含むポップアップが表示されますので、変更内容をすぐに把握できます。 ガターアイコンは新しいディスカッションを速やかに開始したり、既存ディスカッションの表示/非表示を切り替えたりするのに役立ちます。 ガターアイコンからコメントへのアクセスも可能なため、レビュー、返信、コメントへのリアクションが簡単になります。 この新機能の詳細は、ブログ記事をご覧ください。

新しいターミナル ベータ

PyCharm 2024.1 ではターミナルに視覚的および機能的な改善を行い、コマンドラインタスクを単純化しています。 この新しいターミナルは簡単なコマンド間の移動、キーボードショートカットによるプロンプトと出力の切り替え機能、コマンド補完、コマンド履歴への迅速なアクセスなどの高度な機能を提供しています。 現段階ではユーザーのフィードバックが不可欠です。ぜひお試しになり、使用した感想をお寄せください。 詳細については、こちらのブログ記事をご覧ください。

AI Assistant の新機能 PyCharm Professional

ワンクリックで生成コードを含むファイルを作成

この AI Assistant の新機能を使用すると、クエリの実験段階から実コードの実装段階にすぐに移行できます。 JetBrains AI Assistant が生成する各コードスニペットの最上部に新しい Create a file(ファイルの作成)ボタンが表示されるようになりました。 このボタンをクリックすると、PyCharm が適切な拡張子のファイルを自動的に作成し、そのファイルにコードを入力します。

スキーマを意識した SQL クエリの生成

AI Assistant を使用すると、クエリ応答のスキーマを意識した説明を取得できるだけでなく、データベースコンテキストから提供されるコンテキストを含むクエリを素早く生成してデータベース内をスマートに検索できます。

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

IDE 全体の表示を縮小するオプション

IDE を 90%、80%、または 70% に縮小表示できるようになったため、IDE の要素のサイズを柔軟に拡大縮小できるようになりました。

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

Django Structure(Django 構造)ツールウィンドウでのモデル admin クラスの登録

PyCharm 2024.1 の Django Structure(Django 構造)ツールウィンドウでは未登録の admin クラスを素早くチェックし、ワンクリックで登録できます。

Endpoints(エンドポイント)ツールウィンドウにおける比較的大規模な Flask および FastAPI アプリケーションのサポート

PyCharm 2024.1 で比較的大規模な Flask または FastAPI アプリケーションを開発する場合、Endpoints(エンドポイント)ツールウィンドウをチェックして既存エンドポイントとその階層の概要を明確に把握し、プロジェクト内のエンドポイントからその宣言まで素早く移動できます。 Flask や特に FastAPI でビルドされた比較的大規模なアプリケーションは、一般的により小さく細かい単位のモジュール(Flash のブループリントや FastAPI のルーター)で構成された複雑な階層構造を持ちます。 このような構造の概要を明確に把握し、その継承を理解できるようにするため、PyCharm のエンドポイントをアプリでグループ化するようにしました。 また、PyCharm がライブラリで宣言されているエンドポイントやパスごとの複数エンドポイント、さらには各種 HTTP メソッドのエンドポイントを検出できるようになりました。

GitHub Actions のサポート強化

PyCharm 2024.1 では CI/CD ワークフローの最適化を支援する目的で GitHub Actions のサポートが強化されています。 コード補完が github.*env.*steps.*、および inputs.* などのさまざまな関連コンテキストに対応するようになったため、スクリプトの作成が容易になり、コンテキスト固有の構文を探すのにかかる時間を減らせます。 YAML 構造の自動補完によってワークフローのエラーを確実に解消できるだけでなく、新しいブランディング機能を使用して GitHub Marketplace でアクションを目立たせることができます。 Docker イメージ補完によりコンテナの統合が単純化され、JavaScript ファイルパス補完によって JavaScript アクションの構成が容易になるため、ワークフローが合理化されます。 詳細については、こちらのブログ記事をご覧ください。

HTTP クライアントの改善

PyCharm 2024.1 の HTTP クライアントでは、PKCE(Proof of Key Code Exchange)認証コードや OAuth 2.0 デバイス認可グラントフローなどの認証オプションが追加されています。 また、PKCE リクエスト時のトークンを取得するための code_challenge の生成と code_verifier の受け渡しを自動的に処理するだけでなく、トークンおよび認証リクエストの追加パラメーターもサポートしています。 HTTP クライアントの低レベルネットワーキングライブラリを Netty にアップグレードしたことで、SSL、プロキシ、および HTTP/2 のサポートが可能になり、HTTP/2 を実装しやすくなりました。

JSON スキーマ処理の最適化

JSON スキーマの検証と補完の処理を担っているコードを最適化しました。 これにより、PyCharm が JSON スキーマを処理する際の速度が向上し、メモリ消費量が少なくなりました。 Azure Pipelines による実際のファイルでは、スキーマのインスペクション速度が 10 倍に向上しています。

WireMock サーバーのサポート

IDE からインストールまたは JetBrains Marketplace から取得可能なプラグインを通じて WireMock をサポートするようにしました。 このサポートの内容には JSON 構成用のスキーマの補完、Endpoints(エンドポイント)ツールウィンドウから WireMock スタブファイルを生成する機能、およびエディターからサーバーを直接起動できる組み込みの実行構成が含まれています。 この追加サポートによってテストデータサーバーやスタブを迅速に作成できるようになり、ウェブ UI やマイクロサービスの開発が簡単になります。

フロントエンド開発 PyCharm Professional

Vue、Svelte、および Astro のコンポーネント使用箇所

PyCharm が Vue、Svelte、および Astro ファイルのコンポーネント使用箇所をエディター内ヒントにリスト表示するようになりました。 このヒントはプロジェクトの任意の場所で特定コンポーネントの使用箇所を素早く特定するのに役立ちます。

GraphQL 関連の改善

GraphQL プラグインについて、インデックス作成のパフォーマンスを最適化し、node_modules と外部ライブラリでのスキーマ処理のサポートを拡張しました。

TypeScript クイックドキュメントの改善

クイックドキュメントのポップアップがインターフェースのメンバー、列挙型定数、および型エイリアスの本体を表示するようになりました。 Show more(その他を表示)リンクをクリックすると完全なリストが表示され、参照型に移動できます。 ダイアログ上部のページ切り替えボタンを使用し、インターフェース、型エイリアス、列挙型、関数、およびその他のエンティティの宣言間を移動できます。

新しい React 用のクイックフィックス

PyCharm 2024.1 に props と状態をその場で作成できる React 用の新しいクイックフィックスがいくつか導入されました。 これらのクイックフィックスはショートカット ⌥Enter(Windows/Linux の場合は Alt+Enter)を使用して適用できます。

Terraform サポートの強化 PyCharm Professional

PyCharm 2024.1 では Terraform のサポートが改善され、インフラストラクチャの作成、管理、およびスケーリングのプロセスが単純化されました。 IDE が terraform init の実行を明示的に提案して効率よく初期化できるようになりました。また、コード補完機能が 3,900 を超えるサードパーティの Terraform プロバイダーに対応できるように拡張されています。 また、IDE が Terraform のテンプレート言語(tftpl)をサポートするようになり、動的テンプレートと好みのプログラミング言語をシームレスに統合するオプションを有効にできるようになりました。 詳細については、ブログ記事をご覧ください。

バージョン管理システム

Git ツールウィンドウの CI チェックのステータス

Git ツールウィンドウの Log(ログ)タブに新しい列を導入し、CI システムが実行した GitHub コミットチェックの結果を簡単に確認できるようにしました。

プッシュ通知からのプル/マージリクエストの作成

バージョン管理システムに変更を正常にプッシュした後、IDE がプッシュの成功とプル/マージリクエストを作成するアクションの提案を通知で警告するようになりました。

Git ツールウィンドウの History(履歴)タブのブランチフィルター

Git ツールウィンドウのファイル履歴の使い勝手を改善しました。 まずは Show all branches(すべてのブランチを表示)ボタンをブランチフィルターに置き換え、指定ブランチ内のファイルに行われた変更をレビューできるようにしました。 また、ツールバーを調整して横向きにすることでユーザビリティを改善しています。

その他の改善点

  • GitHub と GitLab を使用する場合、あるブランチの変更を Git ツールウィンドウ内の個別の Log(ログ)タブに表示することを選択できるようになりました。
  • 絵文字のセットの中から必要なものを選び、コードレビューのコメントにリアクションを追加できるようになりました。
  • サイズが大きすぎるファイルをバージョン管理システムが受け付けない事態を回避するため、そのようなファイルのコミットを阻止して制限について通知するコミット前チェックを IDE に実装しました。
  • 共通の履歴がない 2 つのブランチでもマージ可能にする Allow unrelated histories(無関係の履歴を許可)オプションが Merge into ...(... にマージ)ダイアログに追加されました。
  • スタッシュされた変更を Commit(コミット)ツールウィンドウ内にある専用の Stash(スタッシュ)タブで確認できるようになりました。 スタッシュとシェルブの両方を使用する場合は、これらを組み合わせた Stashes and Shelves(スタッシュとシェルブ)タブを有効にできます。
  • 関連する変更のみに集中できるよう、差分ビューアーにフォルダーとファイルを比較対象から除外するオプションを追加しました。 必要なファイルかフォルダーを右クリックし、Exclude from results(結果から除外)を選択するだけで除外できます。
  • Branches(ブランチ)ポップアップの検索結果をアクションとリポジトリで絞り込めるようになりました。
  • Rebase(リベース)ダイアログに --update-refs オプションを追加しました。このオプションを使用すると、リベース中に行われた変更が Git リポジトリの履歴に確実に反映されます。
  • Search Everywhere(どこでも検索)に Git タブがデフォルトで表示されなくなりました。 このタブは Settings/Preferences(設定/環境設定)| Advanced Settings(高度な設定)| Version Control. Git(バージョン管理. Git) で追加できます。

データベースツール PyCharm Professional

セッションの処理方法を単純化

データソース接続の管理とクエリの実行を効率よく行えるよう、セッションの仕組みを再考しました。 ファイルのアタッチや関数の実行のような作業を行う場合、適切なセッションを選択せず、必要なデータソースや実行コンテキストを選択するだけでよくなりました。 また、Services(サービス)ツールウィンドウで専用のアクションを使用することで、同じデータソース内のセッションを簡単に切り替えられるようになりました。 これらの変更は、より円滑で直感的なワークフローを実現するために行われています。

データエディターのローカルフィルター

行を列の値で迅速に絞り込めるようになったため、クエリの実行を待たずに現在のページで直接処理が可能となりました。 ローカルで動作するこの仕組みは表示可能なページのみに適用されますが、適用範囲を広げたい場合はいつでもページサイズを変更したり、すべてのデータを取得したりできます。 現在のデータエディターですべてのローカルフィルターを無効にするには、Enable Local Filter(ローカルフィルターの有効化)アイコン を切り替えるだけです。

単一レコードビュー

データエディターで単一レコードに注目できるようになりました。 レコードビューを開くには、⌘⇧Enter(macOS の場合)かCtrl+Shift+Enter(Windows/Linux の場合)ショートカット、あるいはツールバーの Show Record View(レコードビューの表示)ボタンを使用します。 レコードビューがサイドパネルで開き、そこに値エディターと集約ビューが表示されます。 レコードビュー内のセルはメインのグリッドで編集可能な場合に編集できます。

CSV ファイル内の列を移動する機能

2024.1 以降のデータエディターでは CSV ファイル内の列を移動し、変更をファイル自体に適用できるようになっています。