PyCharm 2022.1 の新機能

カスタムパッケージリポジトリの認証サポートを導入、TypedDict サポートを改善、そして Docker の Services UI を新しくしました

このリリースでは、PyCharm の全体的なユーザーエクスペリエンスと生産性の向上につながる機能改善に注力しました。 今回は過去に導入された一部の機能を完成させ、特定のワークフローを実行しやすくすることを優先しました。

IDE

カスタムパッケージリポジトリの認証サポート

PyCharm を使ってカスタムパッケージのリポジトリにアクセスするための基本的な HTTP 認証を設定できるほか、依存関係の管理も簡単に行えます。わざわざターミナルに切り替えて、手動でインストールする必要はありません。 Python Packages(Python パッケージ)ツールウィンドウを開いて歯車アイコンをクリックした後、ダイアログウィンドウの「+」マークをクリックしてリポジトリの URL を追加し、Basic HTTP(基本 HTTP)オプションを選択して必要な資格情報を入力します。

新しい Notifications(通知)ツールウィンドウ

従来の Event Log(イベントログ)ツールウィンドウに代わって、Notifications(通知)ツールウィンドウが新しく導入されました。 その結果、有益な提案や適切な通知がより分かりやすく整理され、重要な情報を見逃すことがなくなりました。

カスタム型レンダラーのサポート

主に大きなオブジェクトや複数属性を持つオブジェクトを扱う場合に、オブジェクトに合わせて表示形式をカスタマイズすることで、デバッグをすばやく簡単に行うことができます。 詳しくは、こちらのドキュメントを参照してください。

その他の改善:

  • LightEdit モードで作業中にコードを整形できるようにしました。 メインメニューから Code(コード) | Reformat Code(コードの整形) に移動するか、Ctrl+Alt+L キーを押すと実行できます。
  • macOS 版の PyCharm で Python 3 の実行可能ファイルがない場合に Python 3 をインストールできるようになりました。

Jupyter のサポート Pro

実行後のコードセルを編集モードに維持

Run Cell and Insert Below(セルを実行して下に挿入)を使用した場合、追加直後のセルがデフォルトで編集モードになるため、すぐにコードを書き始めることができます。 作業中のセルを編集して実行した場合も同様に、実行後も編集モードが維持されます。

セルのコピーと貼り付けを最適化

従来はコマンドモードで作業中にセルをコピーして貼り付けた場合、その目的がノートブックの整理かどうかを問わず、セルそのものだけが新しい位置に貼り付けられ、出力は貼り付けられていませんでした。 PyCharm 2022.1 ではこの動作が変更されています。

その他の改善:

  • Jupyter ランタイムコード補完のサポート

エディター

TypedDict のコード補完を強化

PyCharm を使用すると、dict リテラルを関数の引数として使用したり、利用可能なキーのコード補完を使用することにより、TypedDict が必要なクラスのオブジェクトをインスタンス化したりする作業を簡単に行えます。

TypedDict のキー別警告を改善

PyCharm では、リテラルとして作成された辞書や dict コンストラクターを使って作成された辞書を TypedDict が必要な箇所で使用すると、不正、欠落している、または不必要な個々の値を示すエラーメッセージがキー別に表示されます。

Markdown ファイルからのコマンド実行

実行コマンドを含む命令が記述された Markdown ファイル(README ファイルなど)を扱う場合は、ガターの実行アイコンを使用してこのようなコマンドをファイルから直接実行できます。

Markdown のコードスニペットのコピー

Markdown ブロックの新しい Copy code snippet(コードスニペットをコピー)機能を使用すると、ワンクリックで内容をクリップボードにさっとコピーできます。

その他の改善:

  • Markdown エディターのフローティングツールバーが更新され、ヘッダーの選択やリストの作成などを行えるようになりました。
  • Join Lines(行の結合)アクションがネストした if ステートメントにも対応できるようになりました。

リモートサポート Pro

Docker の 新しい Services(サービス)UI

Docker の作業環境は非常に混沌としがちです。 コンテナーやイメージ、ネットワーク、ボリュームなどを管理しやすくするため、Services(サービス)ツールウィンドウ内の Docker UI を大幅に改良しました。

Docker Registry V2 のサポート

Docker 1.6 以上で使用できるように、Docker Registry HTTP API V2 のサポートを開始しました。 Docker V2 の単純なレジストリかパスワードで保護されたレジストリを作成し、イメージの閲覧、プッシュ、プルといった頻繁に使用されるすべてのアクションを実行できます。

kubectl へのカスタムパス

kubectl が標準以外の場所にある場合、手動でパスを設定できます。 カスタムパスを設定するには、Settings(設定)/ Preferences(環境設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Kubernetes | Path to kubectl executable(kubectl 実行可能ファイルへのパス)に移動してください。

その他の改善:

  • Kubernetes: pod のポート転送機能を利用できるようになりました。
  • Kubernetes: Services(サービス)ビューに表示されるすべてのリソースに対して使用できる Describe Resource(リソースの取得)アクションが新たに導入されました。
  • Kubernetes: クラスターからロードされたリソースをエディタータブから変更できるようになりました。

フロントエンドおよびデータベース Pro

Next.js サポートの改善

React が組み込みでサポートされているため、Next.js プロジェクトではすでにすべての重要な機能が動作するようになっています。 PyCharm 2022.1 では、ページなどのフレームワーク固有の機能に対するサポートを新たに開始しています。 PyCharm が Link コンポーネントの href プロパティだけでなく、form などのその他のタグで使用されるパスも解決するようになりました。 コード補完、ナビゲーション、およびリファクタリングも動作します。

Volta のサポート

PyCharm が JavaScript ツールマネージャーである Volta と適切に統合できるようになり、Volta を使用してインストールされた Yarn と npm を自動的に認識できるようになりました。

MongoDB: 結果のフィールドを編集

リレーショナルデータベースと同様に、MongoDB コレクションの結果を簡単に編集できるようになりました。また、.find() で取得した結果セットも編集できます。 sort()limit(), など、結果に変更を加えるカーソルメソッドが .find() の後に実行された場合でも機能します。