PyCharm 2023.3 ではすべてのツールにすぐにアクセスできるため、合理的なワークフローで生産性を向上できるようになっています。
JetBrains IDE の生産性を向上させる多数の新機能と改善が盛り込まれた JetBrains AI Assistant が一般公開されました。
AI Assistant ではエディター内に直接生成するように強化されたコード生成機能、ユーザーがコードをコピーしなくてもコンテキストを認識してプロジェクト関連のクエリに回答する AI チャット、プロジェクトを認識して包括的な結果を提供する AI アクションを利用できます。 コードの変更を明確にするため、LLM のコード補完機能に新しい差分ビューが組み込まれました。
PyCharm の AI Assistant は JetBrains AI Service サブスクリプションをご利用の場合に追加機能として使用できます。
入力の際に PyCharm 2023.3 がマルチトークンのコード補完候補を提供しながら、その正確性チェックも行います。 ディープラーニングモデルを活用した Full Line code completion はユーザーのマシン上で候補を処理し、コードを非公開のままシステムから漏洩しないようにします。 そのため、この機能はオフラインでも利用できます。
PyCharm 2023.3 では新しいライブプレビュー機能によって Django テンプレートの編集エクスペリエンスが大きく変わっています。 プレビューではコードが動き、必要に応じて再読み込みすることでリアルタイムに更新を確認できます。
アドレスバーを使用してルートの変更とテストを直接行えます。 ルートが複数存在するテンプレートでは、アドレスバーで必要なパターンを選択できます。 開発者ツールコンソールが統合されているため、トラブルシューティングをフローの中に組み込めます。 最小限の労力で高度なテンプレートを作り上げることができます。
Django プロジェクトの戦略指令センターとなる Django Structure(Django 構造)ツールウィンドウが実装されました。
このツールウィンドウでは Django コンポーネント(アプリ、モデル、ビューなど)のクイックアクセス、スマートナビゲーション、即時作成が可能です。
この新しいツールウィンドウの機能はこれだけではありません。 ワンクリックでモデル、ビュー、モデルの admin クラスをリファクタリングし、それらの使用箇所の検索も実行することもできます。 モデルはコンテキストメニューのオプションを選択するだけで admin インターフェースに登録できます。
Django Structure(Django 構造)では組み込みの manage.py コンソールで新しいアプリの作成と移行を素早く開始できます。
プロジェクトファイルを手動で参照する手間がないため、Django プロジェクトのビルドと強化に専念できます。
DataFrame を使って作業に対話性を追加しましょう! DataFrame 用の新しい UI では、並べ替え、ページ分割、無限スクロールを使用できます。
DataFrame 用の新しい UI では、列にマウスポインターを合わせるだけで列の統計情報ポップアップが自動的に表示されます。
そのデータは後続の作業用に各種の形式でエクスポートできます。 CSV、TSV、SQL INSERT ステートメント、Markdown、HTML、その他のオプションを自由に使用できます。
DataFrame または系列のデータの概要を即時に取得できます! PyCharm 2023.3 では DataFrame をクリックして Show Chart(チャートの表示)を選択するだけで、IDE に面倒な作業を任せられます。 最適なチャートタイプを選択し、結果に満足したら PNG ファイルとしてエクスポートできます。
余計なコードを書くことなくデータ探索に時間を有効活用できます。
PyCharm のデバッガーが Python 3.12 で追加された影響の低いモニタリング機能を使用するようになりました。 これにより、デバッガーの全体的なパフォーマンスが改善されます。 この改善が最も大きく現れるのは、発生した例外のトレースやテスト失敗時にデバッガーを開くなどの機能です。 これらのステップは sys.settrace() を使用していた以前のアプローチよりもはるかに高速に実行されるようになっています。
Python 3.12 では f-string 内で引用符、改行、エスケープシーケンス、コメントを使用できます。
PyCharm 2023.3 のインスペクションはこれに応じて調整されています。 また、各種引用符タイプの相互変換などの文字列リテラル用の既存インテンションアクションがこの新しい構文に従って動作するようになっています。
新しい f-string 機能を最大限に使用し、PyCharm のコードインサイトのメリットを余すところなく活用できます。
Python 3.12 ではジェネリッククラス、関数、型エイリアスに新しく便利な構文が導入されています。
この構文を使うと、Python で型を操作する際に記述するコードの量を減らすことができます。
PyCharm はこの新しい構文を認識し、クラス、関数、新しい形式の型エイリアス宣言内の型パラメーターへの参照を理解するため、これらを型推論と型チェックで考慮することができます。
ジェネリッククラスと型エイリアスの操作に新しい構文を使用して、細かい作業を IDE に任せることができます。
PEP 646 により、カスタム可変長引数ジェネリクス型(組み込みの Tuple
や Callable
のように任意の数の型パラメーターを指定できるジェネリクス型)を定義するための新しい種類の型変数である TypeVarTuple
が導入されました。 今後、この機能がコミュニティに採用されるにつれて、Numpy の ndarray や Tensor といった多次元コンテナー用の型ヒントがより正確になる見込みです。
PyCharm の型チェッカーは可変長引数ジェネリクスのすべての標準チェックをサポートしています。 また、旧バージョンの Python で TypeVar
構文を使用すると警告が発せられます。 PyCharm は typing_extensions.Unpack
を代わりに使用することを提案します。
PEP 647 により、カスタム関数を「型ガード」として扱う方法が導入されました。条件ステートメントで型ガードを使用すると、引数の型が絞り込まれます。 たとえば PyCharm が最初から認識している組み込み関数の isinstance
と issubclass
がありますが、 PyCharm で型推論に typing.TypeGuard
を戻り値とするユーザー定義関数を使って同じ効果を得られるようになりました。
PyCharm 2023.3 はコード内の LiteralString
型を認識するようになっています。 この型を使用している場合、PyCharm は str
型と LiteralString
型が混在しないようにします。
PyCharm 2023.3 の HTTP クライアントは OAuth 2.0 で確立された新しい クライアント資格情報付与タイプまたはパスワード付与タイプによる認証をサポートしています。
新しい構文の {$auth.token("my-keycloak1")}
を使用してリクエスト内の認証データを参照し、認証情報を含む JSON ファイルに移動することができます。
手動でのトークン取得は必要ありません。 明快なリクエスト実行プロセスを実現できます。
変更セットに含まれるすべての変更済みファイルを単一のスクロール可能なフレーム内で確認できます。 PyCharm 2023.3 にはすべての変更をまとめて確認できる新しい差分ビューアーが備わっています。 GitLab、GitHub、JetBrains Space のレビューに対応しています。
ウェブアプリケーションに自動テストを活用していますか? PyCharm 2023.3 ではテスト戦略をさらに高度にすることができます。 IDE の広範な pytest サポートに基づき、モダンなウェブアプリのテストで最も使用されている Cypress と Playwright の 2 つのツールをサポートするようにしました。
PyCharm 2023.3 は Cypress テストと Playwright テストを自動的に検出するため、ワンクリックで実行とデバッグを行えます。 テストツリービューを使ってテスト結果を理解し、確認することができます。
PyCharm 2023.3 では import type
ステートメントを追加する際に発生していたいくつかの矛盾が解決されています。 型をインポートする際の TypeScript の型指定子または import type ステートメントの使用方法を構成するオプションを追加しました。 また、TypeScript ファイル用の package.json の exports
フィールドの動作も改善しました。