PyCharm 2026.1 Help

型レンダリングを構成する

デバッグセッション中、PyCharm は変数、型、スレッド、フレームなどの情報を表示します。 ただし、特定のランタイムの詳細に焦点を当て、データをフィルター処理したり、特定の形式でレンダリングしたりすることもできます。 このシナリオでは、PyCharm でデバッガーの出力が デバッグ ツールウィンドウとエディターにどのように表示されるかをカスタマイズできます。

型レンダラーは Python コンソールJupyter 変数ビューでも使用されます。

カスタム型レンダラー

PyCharm では、さまざまな型にカスタム表示形式を提供できます。 これは、レンダラーを使用することで実現できます。 レンダラーは 、特定の型に関連付けられた特別な式であり、デバッグセッション中にこの型のインスタンスの表示方法を制御します。

動作中のレンダラー

レンダラーは、プリミティブと配列を含むすべての型をサポートします。 また、レンダラーはすべてのアクセス修飾子を無視するため、カプセル化されているかどうかに関係なく、任意のフィールドにアクセスできます。

レンダラーは、コンテンツが読みにくいカスタムコレクションを扱うときに特に役立ち、一目で内容を把握できます。

レンダラーを追加する

  1. デバッグ ツールウィンドウの スレッドと変数タブにある任意のオブジェクトを右クリックし、コンテキストメニューから データビューのカスタマイズ を選択します。 または、 設定 | Python | デバッガー | 型レンダラー に移動することもできます。

  2. Python の型レンダラー ページが開きます。 追加 をクリックするか、 Alt+Insert を押してレンダラー式を設定します。

    新しい型レンダラーを追加する
  3. 変更を適用し、 デバッグ ツールウィンドウとエディターで更新をプレビューします。

    型レンダラーが適用されます

レンダラーのプロパティ

項目

説明

レンダラー名

レンダラーの名前。 この名前はレンダラーの管理に使用され、実際のデータの表示方法には影響しません。

型のオブジェクトにレンダラーを適用する (完全修飾名)

このレンダラーが適用されるオブジェクト型。 クラスの完全修飾名を入力します。

ノードをレンダリングするとき

このオプションは、オブジェクト自体の表示方法を決定します:

  • デフォルトのレンダラを使用する: このレンダラーがない場合に表示されるオブジェクトを表示します。 オブジェクトの内容の表示方法のみをカスタマイズする場合は、このオプションを使用します。

  • 次の式を使用する: オブジェクトを表示するために、ある式の戻り値を使用できます。 すべてのメソッド呼び出しとメンバー変数アクセスは、レンダリングされたインスタンスに関連しています。

    例: self.name は、オブジェクトを表示するために name パラメーターの値を使用します。

ノードを展開するとき

このオプションは、オブジェクトが展開されたときのコンテンツの表示方法を決定します。

  • デフォルトのレンダラを使用する: このレンダラーなしで表示されるノードの子を表示します。 これは、オブジェクト自体の表示方法のみをカスタマイズする場合に役立ちます。

  • 式のリストを使用する: ノードの子を表す独自の表現をそれぞれ提供する複数の式を指定できます。

デフォルトの子を追加

オブジェクトのフィールド(レンダラーが指定されていない場合に通常表示される)を式の結果とともに表示するかどうかを制御します。 このオプションは 式のリストを使用する でのみ使用可能です。

レンダラーを削除する

  1. 変数 タブの任意の場所を右クリックし、 データビューのカスタマイズ を選択します。

  2. Python の型レンダラー タブで、削除するレンダラを選択し、 Delete をクリックします。 次に、変更を適用します。

レンダラーをミュートする

レンダラーを完全に削除せずに一時的に無効にできます:

  • 単一のレンダラーをミュートするには、 変数 タブ内の任意の場所を右クリックし、 データビューのカスタマイズ を選択します。 Python の型レンダラー タブで、ミュートするレンダラーのボックスをオフにして、変更を適用します。

必要に応じて、同じ手順を使用してレンダラーのミュートを解除できます。

サンプル

次の例は、いくつかの一般的な Python 型のカスタムレンダラーを示しています。

タイプ

目的

レンダリング表現

float

タイムスタンプを日付時刻文字列としてレンダリングします。

__import__("datetime").datetime.fromtimestamp(self).isoformat()

bytes

16 進数のプレビューを表示します。

self[:16].hex() + "…"

dict

キーでソートされた辞書項目を表示します。

[(k, self[k]) for k in sorted(self.keys(), key=str)]

list

リストの最初の 5 つの要素とその長さを表示します。

"list(len=" + str(len(self)) + ") " + str(self[:5])

上記のレンダラーをテストするには、次のコードを検討してください。

ts = 1693756800.0 data_bytes = b"Hello, World!" data_dict = {"b": 2, "a": 1} items = list(range(10))

デバッグ時、 スレッド & 変数タブがある デバッグ ツールウィンドウで、リストされたオブジェクトのカスタム表現が表示されます。

レンダラーの例
2026 年 6 月 1 日