DevTools の新機能(Chrome 70)

ご利用の再開ありがとうございます。Chrome 68 への前回のアップデートから約 12 週間が経過しました。新機能や UI の変更が十分にないため、投稿に値しなかったため、Chrome 69 はスキップしました。

Chrome 70 で DevTools に追加される新機能と主な変更点は次のとおりです。

この文書をお読みいただくか、こちらの動画をご覧ください。

コンソールでのライブ式

コンソールの上部にライブ式を固定すると、その値をリアルタイムでモニタリングできます。

  1. [Create Live Expression](ライブの表現を作成する)をクリックします。Live Expression UI が開きます。

    ライブ式 UI

    図 1. ライブ式 UI

  2. モニタリングする式を入力します。

    Live Expression UI に Date.now() を入力する。

    図 2. ライブ式 UI に「Date.now()」と入力する

  3. Live Expression UI の外側をクリックして、式を保存します。

    保存されたライブ表現。

    図 3. 保存されたライブ式

ライブ式の値は 250 ミリ秒ごとに更新されます。

積極的な評価で DOM ノードをハイライト表示する

コンソールで DOM ノードとして評価される式を入力すると、[積極的な評価] によってビューポート内のノードがハイライト表示されます。

コンソールで「document.activeElement」と入力すると、ビューポートでノードがハイライト表示されます。

図 4. 現在の式はノードと評価されるため、そのノードはビューポートでハイライト表示されます。

便利な式をいくつか紹介します。

  • document.activeElement: 現在フォーカスされているノードをハイライト表示します。
  • document.querySelector(s): 任意のノードをハイライト表示します。s は CSS セレクタです。これは、[DOM Tree] のノードにカーソルを合わせるのと同じです。
  • $0: DOM ツリーで現在選択されているノードをハイライト表示します。
  • $0.parentElement: 現在選択されているノードの親をハイライト表示します。

パフォーマンス パネルの最適化

大きなページをプロファイリングする場合、以前は [パフォーマンス] パネルでデータの処理と可視化に数十秒かかっていました。[Summary] タブでイベントをクリックして詳細を確認する場合も、読み込みに数秒かかることがあります。Chrome 70 では、処理と可視化がより高速になりました。

パフォーマンス データを処理して読み込みます。

図 5. パフォーマンス データの処理と読み込み

デバッグの信頼性が向上

Chrome 70 では、ブレークポイントが表示されない、またはトリガーされないバグがいくつか修正されています。

また、ソースマップに関連するバグも修正されます。一部の TypeScript ユーザーは、コードをステップ実行する際に特定の TypeScript ファイルを無視するように DevTools に指示し、代わりにバンドルされた JavaScript ファイル全体を無視するようにします。これらの修正は、[ソース] パネルの動作が通常遅くなる原因となっていた問題にも対処しています。

コマンド メニューからネットワーク スロットリングを有効にする

コマンド メニューで、ネットワーク スロットリングを高速 3G または低速 3G に設定できるようになりました。

コマンド メニューのネットワーク スロットリング コマンド

図 6. コマンド メニューのネットワーク スロットリング コマンド

条件付きブレークポイントのオートコンプリート

オートコンプリート UI を使用して、条件付きブレークポイント式をすばやく入力できます。

オートコンプリート UI

図 7. オートコンプリート UI

ご存じですか? Autocomplete UI を作成できたのは、コンソールも機能している CodeMirror です。

AudioContext イベントで中断

AudioContext ライフサイクル イベント ハンドラの最初の行で一時停止するには、[Event Listener Breakpoints] ペインを使用します。

AudioContext は Web Audio API の一部であり、音声の処理と合成に使用できます。

[Event Listener Breakpoints] ペインの AudioContext イベント。

図 8. [Event Listener Breakpoints] ペインの AudioContext イベント

ndb を使用して Node.js アプリをデバッグする

ndb は、Node.js アプリケーション用の新しいデバッガです。DevTools で提供される通常のデバッグ機能に加えて、ndb は次の機能も備えています。

  • 子プロセスを検出して接続します。
  • モジュールが必須になる前にブレークポイントを配置する。
  • DevTools UI でファイルを編集する。
  • デフォルトで、現在の作業ディレクトリ以外のすべてのスクリプトを無視する。

ndb の UI。

図 9. ndb の UI

詳しくは、ndb の README をご覧ください。

ヒント: User Timing API を使用して実際のユーザー インタラクションを測定する

実際のユーザーがページでクリティカル ジャーニーを完了するまでにかかった時間を測定したいですか?User Timing API を使用してコードをインストルメント化することを検討してください。

たとえば、ユーザーがホームページに滞在してから行動を促すフレーズ(CTA)ボタンをクリックするまでの長さを測定するとします。まず、ページの読み込みイベントに関連付けられたイベント ハンドラ(DOMContentLoaded など)でジャーニーの開始をマークします。

document.addEventListener('DOMContentLoaded', () => {
  window.performance.mark('start');
});

次に、ジャーニーの終了をマークして、ボタンがクリックされたときの所要時間を計算します。

document.querySelector('#CTA').addEventListener('click', () => {
  window.performance.mark('end');
  window.performance.measure('CTA', 'start', 'end');
});

また、測定値を抽出すると、分析サービスに送って、匿名の集計データを簡単に収集できます。

const CTA = window.performance.getEntriesByName('CTA')[0].duration;

DevTools では、パフォーマンス録音の [カスタム速度] セクションでカスタム速度の測定値が自動的にマークアップされます。

[カスタム速度] セクション

図 10. [カスタム速度] セクション

これは、コードをデバッグまたは最適化する場合にも有用です。たとえば、ライフサイクルの特定のフェーズを最適化する場合は、ライフサイクル関数の開始時と終了時に window.performance.mark() を呼び出します。React は開発モードでこれを行います。

プレビュー チャネルをダウンロードする

Chrome CanaryDevBeta を既定の開発ブラウザとして使用することをご検討ください。これらのプレビュー チャンネルでは、最新の DevTools 機能にアクセスしたり、最先端のウェブ プラットフォーム API をテストしたり、ユーザーが実際に体験する前にサイト上の問題を検出したりできます。

Chrome DevTools チームへのお問い合わせ

投稿内の新機能や変更点、または DevTools に関するその他のことについて話し合うには、次のオプションを使用します。

  • crbug.com からご提案やフィードバックをお送りください。
  • DevTools の問題を報告するには、DevTools でその他のオプション アイコン その他   > [ヘルプ] > [DevTools の問題を報告する] を選択します。
  • @ChromeDevTools にツイートします。
  • 「DevTools の新機能」の YouTube 動画または DevTools のヒントの YouTube 動画でコメントを残してください。

DevTools の新機能

DevTools の新機能シリーズで取り上げたすべての内容の一覧。

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113

Chrome 112

Chrome 111

Chrome 110

Chrome 109

Chrome 108

Chrome 107

Chrome 106

Chrome 105

Chrome 104

Chrome 103

Chrome 入門ガイド

Chrome 入門ガイド

Chrome 入門ガイド

Chrome 99

Chrome 98

Chrome 97

Chrome 96

Chrome 95

Chrome 94

Chrome 93

Chrome 92

Chrome 91

Chrome 90

Chrome 89

Chrome 88

Chrome 87

Chrome 86

Chrome 85

Chrome 84

Chrome 83

Chrome 82

Chrome 82 はキャンセルされました

Chrome 81

Chrome 80

Chrome 79

Chrome 78

Chrome 77

Chrome 76

Chrome 75

Chrome 74

Chrome 73

Chrome 72

Chrome 71

Chrome 70

Chrome 68

Chrome 67

Chrome 66

Chrome 65

Chrome 64

Chrome 63

Chrome 62

Chrome 61

Chrome 60

Chrome 59