PyCharm 2021.2 の新機能

PyCharm 2021.2: Python 3.10 の新機能、HTML プレビュー: 保存時のブラウザー内ページの再読み込み、Python コンソールの共同作業モード

コードインサイト

Python 3.10

Python 3.10 の安定版がリリースされる前に、PyCharm でその新機能を存分に活用してください! We started working on support for Python 3.10 by delivering code insight for Explicit Type Aliases (PEP 613) in PyCharm 2020.3. このリリースでは、さらに多くの PEP に対応しています。

パターンマッチング(PEP 634、635、636)

Pattern Matching (PEPs 634, 635, 636)

Python 3.10 では構造的パターンマッチングが導入されています。 PyCharm はそのリリースに対応できるように、Unused local symbols / Unreachable code インスペクション、match / case キーワードに対応したコード補完と構文ハイライト、および Complete Current Statement アクションといった多数の重要な機能を提供しています。

現在のステートメントの補完
現在のステートメントの補完

PyCharm が match ステートメントと対応する case ブロックを補完できるようになりました。 最初の match ステートメントの入力を完了すると、Complete Current StatementShift+Ctrl+Enter)を選択し、PyCharm に残りの部分を補完させることができます(コロンと case ブロックの最初の部分を含みます)。 残りの case ブロックを続けて入力できるよう、キャレットの位置は変更されません。

フォーマッター
フォーマッター

PyCharm 組み込みのフォーマッターは match ステートメントを認識し、その適切な整形を支援します。

新しい共用体型の構文(PEP 604)

New syntax for union types (PEP 604)

Python 3.10 では、Union[int, str] の代わりに int | str を共用体型に使用できるようになります。 この機能は、従来の Python バージョンでも from __future__ import annotations を使用することで実現できます。

PyCharm はインテンションアクションとクイックドキュメントの情報を含め、この新しい構文に対応する包括的なコードインサイトを提供しています。 PyCharm は、この新しい構文を使用する isinstance および issubclass 引数の型推論を新たにサポートしています。

その他の改善点:

  • 型チェッカーがさまざまなコレクション型の typing.Literal を認識し、コレクション要素の特定の値と比較できるようになりました。 ネストしたコレクションにも対応しています。
  • Markdown で doctest のインジェクションを使用し、REPL モードでの Python コードの実行をあたかも Python コンソールで実行されているかのように見せることができます。

共同開発: Code With Me

Python コンソールのサポート

Python コンソールのサポート

クライアントマシンとホスト側の両方で Python コンソールを操作できるようになりました。 共同コーディングセッション時、ゲストはホストが対話型コンソール内でコードを実行中にコードをレビューすることができます。 Code With Me で Python コンソールを使用する際は、即座に表示される構文ハイライトとインスペクション、コード補完など、あらゆる PyCharm の通常機能を使用できます。

コード補完の同期

コード補完の同期

Code With Me セッション中に Following モードで作業を行っている場合は、フォロー中のユーザーが使用しているコード補完候補を追跡できます。 また、どのセッションタイプでも、ゲストによる補完の結果はホストが得られるものとまったく同じになります。

その他の改善:

最近、Code With Me 用に 2 台の新しいリレーサーバーの運用を開始しました。1 台は米国西海岸に、もう 1 台は南アフリカに設置されています。 これにより、ping の速度が 3 倍近くアップしています。

IDE の改善

Python パッケージのツールウィンドウ: 独自ロケーションからのパッケージインストール

Python パッケージのツールウィンドウ: 独自ロケーションからのパッケージインストール

PyCharm 2021.1 では、現在選択中の Python インタープリターに対応するパッケージを管理できる Python Packages ツールウィンドウを実装しました。 今後は PyPI リポジトリだけでなく、VCS またはローカルマシンからもパッケージをインストールできます。 Python Packages ツールバーで Add Package リンクをクリックし、From Version Control | From Disc を選択するだけです。

アクセシビリティの更新

PyCharm 2021.2 には、macOS でスクリーンリーダーモードを有効にした状態でコーディングを行う際に役立つ多数の更新が行われています。 また、コード補完候補、選択したコンボボックスとコンボボックスリストの内容、および Search Everywhere の検索結果の読み上げに対応しています。

その他の改善:

  • コードの整形やインポートの最適化など、プロジェクトを保存する際に呼び出される多数のアクションを追加しました。 これらすべてのアクションは、Preferences/Settings | Tools | Actions on Save に集約されています。
  • ツールウィンドウを主な IDE のウィンドウ内や個別のウィンドウ内でドラッグアンドドロップし、目的の場所へ簡単に移動できるようになりました。 ツールウィンドウ名のバーをクリックして長押しすると、そのツールウィンドウをドラッグしてハイライトされた場所にドロップできます。
  • ウェルカム画面でプロジェクトを右クリックし、表示されるコンテキストメニューから Choose project icon を選択すると、カスタムアイコンをアップロードできます。
  • 本バージョンより、日本語韓国語、または中国語に完全にローカライズされた UI をご利用いただけます。 ローカライゼーションはバンドル対象外の言語パックプラグインとして提供されており、IDE へ簡単にインストールできます。

データベース Pro のみ

MongoDB コンソールがフィールドと演算子のコード補完に対応

MongoDB コンソールがフィールドと演算子のコード補完に対応

Now PyCharm can complete fields, nested fields, and fields inside aggregation expressions, as well as query operators, projection operators, update operators, and aggregation stages in the MongoDB console.

データエディターから SQL scripts アクションでコンテキストライブテンプレートを使用

データエディターから SQL scripts アクションでコンテキストライブテンプレートを使用

コンテキストライブテンプレートがデータエディターから直接動作するようになりました。 SQL scripts アクションを使用すると、作業中のテーブルに対してクエリを簡単に発行できます!

フロントエンド開発 Pro のみ

保存時にブラウザー内ページを再読み込み

保存時にブラウザーページのリロード

PyCharm では、組み込みの Web サーバーを使用して HTML ファイルをブラウザー内でプレビューできます。 このリリースでは、HTML / CSS / JavaScript ファイルの編集と保存を行った際に、ブラウザー内のページを自動的に更新できるようになりました。 この機能を使用するには、エディターで HTML ファイルを開いてマウスカーソルをエディターの端に移動し、使用したいブラウザーのアイコンをクリックするだけです。すべてのブラウザーがサポートされています。

React の useState フックに対応した Rename リファクタリング

React の useState フック向け Rename リファクタリング

useState の値と関数のリファクタリングに無駄な時間をかける必要はもうありません。PyCharm でこれら両方の名前を変更できるようになりました! キャレットを状態値に置き、Shift+F6 を押すか、右クリックしてコンテキストメニューから Refactor | Rename を開いてください。

require() の自動インポート

require() の自動インポート

ES6 シンボルを補完する際に PyCharm が欠落しているインポートステートメントを追加できることはご存じですか? 同じ機能を CommonJS モジュールでも使用できるようになりました。require インポートがコード補完時に挿入されます。

その他の改善:

コード補完が private npm パッケージでも使用できるようになり、package.json にプロジェクトの新しい依存関係を追加するのがさらに簡単になりました。 PyCharm では、public パッケージと同様に、パッケージの最新バージョンに関する情報をチェックできます。

バージョン管理

コミット前チェックの変更

コミット前チェックの変更

使用可能なコミット前アクションを拡充し、テストを実行できるようにしました。 適用対象の変更内容をテストするには、Before Commit セクションで Run Tests チェックボックスをオンにしてください。 また、これらのアクションの横にある Choose profile をクリックして、Analyze code および Cleanup オプションをカスタマイズできます。 すべてのコミット前チェックの進捗と結果は、Commit エリアに表示されます。

その他の改善:

  • Git コミットに GPG 署名を付けることで、コミットを保護することができます。 そのためには Preferences/Settings | Version Control | Git に移動し、Configure GPG Key をクリックしてから、ドロップダウンリストから対象のキーを選択してください。

Space との連携機能

PyCharm をソフトウェア開発とチームコラボレーション向けの新しいプラットフォームである JetBrains Space の組織に接続すると、プロジェクトリポジトリの表示とクローン、チームメイトが書いたコードのレビューを行えます。 Space にログインするには、ウェルカム画面の VCS から取得ボタンをクリックし、左側で Space を選択してから専用のフィールドに組織の URL を入力してください。 初期状態で Space と連携できるようになりました。

Git ログの Space ジョブステータス

Git ログの Space ジョブステータス

Git ツールウィンドウの Log タブに Space ジョブステータスのアイコンが追加され、コミットの一覧を見るだけでジョブの進捗を簡単に追跡できるようになりました。 アイコンをクリックすると、IDE がポップアップとそのジョブの自動化に関する情報を表示します。

このステータス情報は不要な場合は、log の上にある目のアイコンをクリックし、Show Columns | Space Automation を選択してください。

コードレビューに関連するブランチの表示

コードレビューに関連するブランチの表示

IDE で選択したコードレビューに関連するブランチを表示できるようになりました。 現在の課題に取り組んでいる間に実行されたコミットを含むブランチの一覧を Details タブで確認できます。

チームメイトのメンション

チームメイトのメンション

@ に続けてチームメイトの名前を入れてメンションできるため、Space のコードレビューでより便利にチームメイトとやりとりできるようになりました。 この目立たないながらも便利な機能は、タイムラインとコードのコメントで使用できます。

Pro のみと書かれた機能は PyCharm Professional Edition でのみ利用できる機能です。