DevTools の新機能 (Chrome 106)
翻訳者の yoichiro さん、レビュアーの technohippy さん、 lacolaco さん、 yoshiko-pg さんに感謝いたします。
DevTools の改善に興味がある方はサインアップして Google User Research にご協力ください。
Sources パネルでの Authored / Deployed によるファイルのグループ化
Group files by Authored / Deployed が 3 ドットメニューの中に表示されるようになりました。以前は、ナビゲーションペインに直接表示されていました。
この デモ を開いてください。 Group files by Authored / Deployed 設定を有効にすることで、最初にオリジナルのソースコード(Authored)を表示してそれらにすばやく移動することができます。
Chromium bug: 1352488
改善されたスタックトレース
非同期処理にリンクされたスタックトレース
一部の処理が非同期で実行されるようにスケジュールされている際に、DevTools のスタックトレースが処理の「完全なストーリー」を語るようになりました。以前は、ストーリーの一部のみが伝えられていました。
例えば、この デモ を開いて、インクリメントボタンをクリックします。 Console でエラーメッセージを展開します。このソースコードでは、その処理に非同期の timeout
処理が含まれています。
// application.component.ts
async increment() {
await Promise.resolve().then(() => timeout(100));
…
}
以前は、スタックトレースはタイムアウト処理のみを示していました。その処理の「根本原因」は示されていませんでした。
最新の変更により、DevTools は、その処理がボタンコンポーネントの onClick
イベントから発生し、次に increment
関数、そしてタイムアウト処理が続くことを示すようになりました。
舞台裏では、DevTools に新しい "Async Stack Tagging" 機能が導入されました。非同期コードの両方の部分を新しい console.createTask()
メソッドと一緒にリンクすることで、処理の全体像を伝えることができます。詳細については、 Modern debugging in DevTools を参照してください。
複雑に聞こえますか?全くそんなことはありません。ほとんどの場合、使用しているフレームワークがスケジューリングと非同期実行を処理します。その場合、API を実装するのはフレームワーク次第なので、心配する必要はありません。 (例: Angular はこれらの 変更 を実装しました)
Chromium bug: 1334585
既知のサードパーティスクリプトを自動的に無視する
DevTools が既知のサードパーティスクリプトを無視リストに自動的に追加するようになったため、デバッグ中にコード内の問題をより迅速に特定できるようになります。
この デモ を開き、インクリメントボタンをクリックします。 Console でエラーメッセージを展開します。スタックトレースには、あなたのコードのみが表示されます (例: app.component.ts
button.component.ts
)。 Show more frames をクリックすると、完全なスタックトレースを表示します。
以前は、スタックトレースに zone.js
や core.mjs
などのサードパーティスクリプトが含まれていました。これらはあなたのソースコードではなく、バンドラ (webpack など) またはフレームワーク (Angular など) によって生成されたものです。エラーの根本原因を特定するのに時間がかかりました。
舞台裏では、DevTools はソースマップにて新しい x_google_ignoreList
プロパティに基づいてサードパーティスクリプトを無視します。フレームワークとバンドラは、この情報を提供する必要があります。 Case Study: Better Angular Debugging with DevTools を参照してください。
必要に応じて、完全なスタックトレースを常に表示したい場合は、 Setting > Ignore list > Automatically and known third-party scripts to ignore list にて設定を無効にすることができます。
Chromium bug: 1323199
デバッグ中の改善されたコールスタック
Automatically add known third-party scripts to ignore list 設定を使用すると、コードに関連するフレームのみがコールスタックに表示されるようになりました。
この デモ を開き、 app.component.ts
の increment()
関数にブレークポイントを設定します。ページのインクリメントボタンをクリックして、ブレークポイントをトリガーします。コールスタックには、あなたのコードのフレームのみが表示されます (例: app.component.ts
と button.component.ts
)。
すべてのフレームを表示するには、 Show ignore-list frames を有効にします。以前は、DevTools はデフォルトですべてのフレームを表示していました。
Chromium bug: 1352488
Sources パネルで無視リストに含まれるソースを非表示にする
hide ignore-listed sources を有効にして、 Navigation ペインで無関係なファイルを非表示にします。これにより、あなたのコードだけに集中できます。
この デモ を開きます。 Sources パネルの中で、 node_modules
と webpack
はサードパーティのスクリプトです。3 ドットメニューをクリックして、 hide ignore-listed sources を選択して、ペインからそれらを非表示にします。
Chromium bug: 1352488
Command Menu で無視リストにあるファイルを非表示にする
hide ignore-listed sources 設定を使用すると、 Command Menu でファイルをすばやく見つけることができます。以前は、 Command Menu でファイルを検索すると、関連性のないサードパーティファイルが返されていました。
例えば、 hide ignore-listed sources 設定を有効にして、3 ドットメニューをクリックします。 Open file を選択します。ボタンコンポーネントを検索するには、 "ton" と入力します。以前は、結果に node_modules
からのファイルが含まれていましたので、 node_modules
ファイルの 1 つが最初の結果として表示されていました。
Chromium bug: 1336604
Performance パネルの新しい Interactions トラック
Performance パネルの新しい Interactions トラックを使用して、インタラクションを視覚化し、潜在的な応答性の問題を追跡できます。
例えば、この デモページ で パフォーマンスの記録を開始 します。コーヒーをクリックして、記録を停止します。 Interactions トラックに 2 つのインタラクションが表示されます。両方のインタラクションの ID は同じであり、インタラクションが同じユーザーインタラクションからトリガーされたことを示しています。
Chromium bug: 1347390
Performance Insights パネルでの LCP タイミングの内訳
Chromium bug: 1351735
Recorder パネルでの記録のデフォルト名称の自動生成
Recorder パネルでは、新しい記録の名称を自動的に生成するようになりました。
Chromium bug: 1351383
その他のハイライト
- 以前は、Recorder 拡張機能 が Recorder パネルに時々表示されないことがありました。 (1351416)
- Styles ペインにて、 SVG
<stop>
要素のstop-color
プロパティ向けのカラーピッカーが表示されるようになりました。 (1351096) - Performance Insights パネルで、レイアウトシフトの潜在的な根本原因として レイアウト を引き起こすスクリプトを特定します。 (1343019)
- Performance Insights パネルに LCP Web フォントのクリティカルパスを表示します。 (1350390)
プレビューチャンネルのダウンロード
Chrome Canary、Dev、Betaをデフォルトの開発ブラウザとして利用することを検討してください。これらのプレビューチャンネルでは DevTools の最新機能を利用でき、最先端のウェブプラットフォーム API をテストして、ユーザーが遭遇するよりも先にあなたのサイトの問題を見つけることができます。
Chrome DevTools チームとの交流
新しい機能や、この投稿の変更、その他 DevTools に関することであれば何でも、意見があれば以下のいずれかを使用してご連絡ください。
- 私たちへの提案やフィードバックはcrbug.comから投稿してください。
- DevTools の問題は DevTools の More options > Help > Report a DevTools issues を使用してレポートしてください。
- @ChromeDevTools 宛にTweetしてください。
- What's new in DevTools YouTubeビデオにコメントを残してください。
More DevTools features
関連する機能の完全なリストは、What's New In DevTools の英語版を参照してください。以下は、日本語に翻訳された内容の一部です。
Chrome 110
- 再読み込み時の Performance パネルのクリア
- Recorder の更新
- Recorder でのユーザーフローコードの表示およびハイライト
- レコーディング時のセレクタタイプのカスタマイズ
- レコーディング中のユーザーフローの編集
- 自動的な直接のプリティプリント
- Vue、SCSS などのシンタックスハイライトとインラインプレビューの改善
- Console での人間工学的で一貫性のあるオートコンプリート
- その他のハイライト
Chrome 109
- Recorder: ステップごとのCopy asオプション、ページ内リプレイ、ステップのコンテキストメニュー
- パフォーマンスの記録の中で実際の関数名を表示
- ConsoleとSourcesパネルでの新しいキーボードショートカット
- JavaScript デバッグの改善
- その他のハイライト
- [実験的] ブレークポイント管理の UX 改善
- [実験的] 自動的な直接のプリティプリント
Chrome 108
Chrome 107
- DevTools のキーボードショートカットのカスタマイズ
- キーボードショートカットでのライトテーマとダークテーマの切り替え
- Memory Inspector で C/C++ オブジェクトをハイライト表示
- HAR インポート時の完全な Initiator 情報をサポート
Enter
を押した時にのみ DOM 検索を開始- CSS のフレックスボックスプロパティ
align-content
にstart
とend
のアイコンを表示 - その他のハイライト
Chrome 106
- Sources パネルでの Authored / Deployed によるファイルのグループ化
- 非同期処理にリンクされたスタックトレース
- 既知のサードパーティスクリプトを自動的に無視する
- デバッグ中の改善されたコールスタック
- Sources パネルで無視リストに含まれるソースを非表示にする
- Command Menu で無視リストにあるファイルを非表示にする
- Performance パネルの新しい Interactions トラック
- Performance Insights パネルでの LCP タイミングの内訳
- Recorder パネルでの記録のデフォルト名称の自動生成
- その他のハイライト
Chrome 105
- Recorder パネルでのステップ・バイ・ステップ再生
- Recorder パネルでのマウスオーバーイベントのサポート
- Performance insight パネルに Largest Contentful Paint (LCP) を追加
- レイアウトシフトの潜在的な主要因であるテキストのフラッシュ(FOIT、FOUT)を識別
- Manifest ペインの Protocol ハンドラ
- Elements パネルの Top layer バッジ
- 実行時に WASM のデバッグ情報をアタッチ
- デバッグ中のライブ編集をサポート
- Styles ペインで @scope at-rule の閲覧と編集
- Source map の改善
- その他のハイライト
Chrome 104
- デバッグ中のフレーム再起動
- Recorder パネルでのスロー再生オプション
- Recorder パネル用の拡張機能を構築
- Sources パネルで Authored / Deployed でファイルをグループ化する
- Performance insights パネルの新しい User Timings トラック
- 要素に割り当てられたスロットの表示
- パフォーマンス計測のためのハードウェア並列度シミュレーション
- CSS 変数のオートコンプリート時に色以外の値のプレビュー
- Back/forward cache ペインでブロックしているフレームの特定
- JavaScript オブジェクトのオートコンプリート候補の改善
- ソースマップの改善
- その他のハイライト
Chrome 103
- Recorder パネルでのダブルクリックイベントや右クリックイベントのキャプチャ
- Lighthouse パネルでの新しいタイムスパンモードとスナップショットモード
- Performance Insights パネルでの改善されたズーム制御
- パフォーマンスレコーディングの削除確認
- Element パネルでのペインの並び替え
- ブラウザ外でのカラーピッキング
- デバッグ中の改善されたインラインでの値のプレビュー
- 仮想認証器での大きな blob サポート
- Sources パネルでの新しいキーボードショートカット
- ソースマップの改善
Chrome 102
- プレビュー機能: 新しいパフォーマンスインサイトパネル
- ライトテーマとダークテーマをエミュレートする新しいショートカット
- Network Preview タブのセキュリティ改善
- ブレークポイントのリロード改善
- コンソールの更新
- ユーザーフローレコーディングを開始時にキャンセル
- Styles ペインで継承されたハイライト疑似要素を表示
- その他のハイライト
- [実験的] CSS の変更をコピー
- [実験的] ブラウザ外の色を抽出
Chrome 101
- 記録されたユーザーフローをJSONファイルとしてインポート/エクスポート
- Styles ペインでカスケードレイヤーを表示する
- hwb() カラー関数のサポート
- プライベートプロパティの表示を改善
- その他のハイライト
- [実験的] Lighthouse パネルに新しいタイムスパンとスナップショットのモードを追加
Chrome 100
- Styles ペインでの @supports アットルールの表示と編集
- デフォルトで共通セレクタをサポート
- レコーディングのセレクタをカスタマイズする
- レコーディングのリネーム
- ホバーでクラスや関数のプロパティをプレビューする
- Performance パネルでの Partially presented frames
- その他のハイライト
Chrome 99
- WebSocketリクエスト数の制限
- Application パネル内に新しく追加されたReporting API ペイン
- Recorder パネルに要素が可視/クリック可能になるまで待機する機能が追加
- コンソールのスタイル設定、フォーマット、フィルタの改善
- ソースマップファイルを使用した Chrome 拡張機能のデバッグ
- Sources パネルのソースフォルダツリーの改善
- Sources パネルにワーカーのソースファイルを表示
- Chrome の自動ダークテーマの更新
- タッチ操作で使いやすいカラーピッカーとスプリットペイン
- その他のハイライト
Chrome 98
- プレビュー機能: フルページアクセシビリティツリー
- Changes タブで変更点のよりわかりやすい表示
- ユーザーフローレコーディングのタイムアウト時間を長く設定する
- Back/forward cache タブでページがキャッシュ可能であることを確認する
- 新しい Properties ペインのフィルター
- CSS の force-colors メディア機能のエミュレート
- ホバー時にルーラーを表示するコマンド
- Flexbox エディターで
row-reverse
とcolumn-reverse
をサポート - XHR のリプレイと全検索結果の展開に新しいキーボードショートカットを追加
- Lighthouse パネルの Lighthouse 9
- Sources パネルの改善
- その他のハイライト
- [実験的] Reporting API ペインに Endpoints を追加
Chrome 97
- プレビュー機能: 新しい Recorder パネル
- デバイスモードでのデバイス一覧の更新
- Edit as HTML でのオートコンプリート
- 改善されたコードデバッグ体験
- デバイスを横断した DevTools 設定の同期
Chrome 96
- プレビュー機能: 新しい CSS Overview パネル
- CSS の length の編集とコピーの挙動の復旧と改善
- CSS の prefers-contrast メディア機能のエミュレート
- Chrome の Auto Dark Theme 機能のエミュレート
- Styles ペインで JavaScript として宣言をコピー
- Network パネルの新しい Payload タブ
- Properties ペインのプロパティ表示の改善
- コンソールで CORS エラーを隠すオプション
- Console での適切な
Intl
オブジェクトのプレビューと評価 - 一貫性のある async スタックトレース
- Console のサイドバーの維持
- Application パネルの Application cache ペインの廃止
- [実験的] Application パネルの新しい Reporting API ペイン
Chrome 95
- 新しいCSSの長さ編集ツール
- Issues タブで問題を隠す
- プロパティの表示の改善
- Lighthouse 8.4 が Lighthouse パネルに
- Sources パネルでのスニペットの並べ替え
- 翻訳されたリリースノートへの新しいリンクと翻訳バグの報告
- DevTools Command MenuのUI改善
Chrome 94
- 好みの言語での DevTools の利用
- 新しく Nest Hub デバイスがデバイスリストに
- フレーム詳細ビューの Origin trials
- 新しい CSS コンテナクエリバッジ
- ネットワークフィルタを反転するための新しいチェックボックス
- Console サイドバーが今後非推奨に
- Issue タブや Network パネルでの未加工の
Set-Cookie
ヘッダーの表示 - Console での自身のプロパティとしてのネイティブアクセサの一貫した表示
- #sourceURL を使ったインラインスクリプトの適切なエラースタックトレース
- Computed ペインでのカラーフォーマットの変更
- カスタムツールチップをネイティブの HTML ツールチップに置き換え
- [実験的] Issues タブでの問題の非表示