Nouveautés des outils de développement (Chrome 70)

Bienvenue ! Cela fait environ 12 semaines que nous n'avons pas publié de mise à jour, qui concernait Chrome 68. Nous avons ignoré Chrome 69, car nous n'avons pas suffisamment de nouvelles fonctionnalités ni de modifications de l'interface utilisateur pour justifier un post.

Voici les nouvelles fonctionnalités et les principaux changements apportés à DevTools dans Chrome 70:

Lisez la suite ou regardez la version vidéo de ce document:

Expressions en direct dans la console

Épinglez une expression en direct en haut de la console lorsque vous souhaitez surveiller sa valeur en temps réel.

  1. Cliquez sur Créer une expression en direct Créer une expression active. L'interface utilisateur Expression en direct s'ouvre.

    UI de l'expression en temps réel

    Figure 1 : UI de l'expression en temps réel

  2. Saisissez l'expression que vous souhaitez surveiller.

    Saisissez Date.now() dans l'interface utilisateur de l'expression en direct.

    Figure 2 : Saisie de Date.now() dans l'interface utilisateur de l'expression active

  3. Cliquez en dehors de l'interface utilisateur de l'expression en direct pour enregistrer votre expression.

    Une expression active enregistrée.

    Figure 3. Expression active enregistrée

Les valeurs des expressions en temps réel sont mises à jour toutes les 250 millisecondes.

Mettre en surbrillance les nœuds DOM lors de l'évaluation stricte

Saisissez une expression qui s'évalue à un nœud DOM dans la console. Évaluation anticipée met désormais en surbrillance ce nœud dans le viewport.

Après avoir saisi document.activeElement dans la console, un nœud est mis en surbrillance dans le viewport.

Figure 4. Étant donné que l'expression actuelle renvoie un nœud, ce nœud est mis en surbrillance dans le viewport.

Voici quelques expressions qui pourraient vous être utiles:

  • document.activeElement pour mettre en surbrillance le nœud actuellement sélectionné.
  • document.querySelector(s) pour mettre en surbrillance un nœud arbitraire, où s est un sélecteur CSS. Cela équivaut à pointer sur un nœud dans l'arborescence DOM.
  • $0 pour mettre en surbrillance le nœud actuellement sélectionné dans l'arborescence DOM.
  • $0.parentElement pour mettre en surbrillance le parent du nœud actuellement sélectionné.

Optimisations du panneau "Performances"

Lorsque vous profiliez une page volumineuse, le panneau "Performances" prenait auparavant plusieurs dizaines de secondes pour traiter et visualiser les données. Le chargement de l'onglet "Récapitulatif" pour en savoir plus sur un événement nécessitait parfois plusieurs secondes. Le traitement et la visualisation sont plus rapides dans Chrome 70.

Traitement et chargement des données de performances

Figure 5. Traiter et charger les données de performances

Débogage plus fiable

Chrome 70 corrige certains bugs qui provoquaient la disparition ou le non-déclenchement des points d'arrêt.

Il corrige également les bugs liés aux mappages source. Certains utilisateurs de TypeScript demandaient à DevTools d'ignorer un certain fichier TypeScript lors de l'exécution du code, mais DevTools ignorait l'intégralité du fichier JavaScript groupé. Ces correctifs résolvent également un problème qui ralentissait généralement l'exécution du panneau "Sources".

Activer la limitation de la bande passante depuis le menu de commande

Vous pouvez désormais définir la limitation du débit réseau sur 3G rapide ou 3G lente dans le menu de commande.

Commandes de limitation du débit réseau dans le menu de commandes

Figure 6. Commandes de limitation de bande passante réseau dans le menu de commandes

Points d'arrêt conditionnels de saisie semi-automatique

Utilisez l'UI de saisie semi-automatique pour saisir plus rapidement vos expressions de point d'arrêt conditionnel.

UI de la saisie semi-automatique

Figure 7 : UI de la saisie semi-automatique

Le saviez-vous ? L'UI de saisie semi-automatique est possible grâce à CodeMirror, qui alimente également la console.

Arrêter sur les événements AudioContext

Utilisez le volet Points d'arrêt de l'écouteur d'événements pour mettre en pause sur la première ligne d'un gestionnaire d'événements de cycle de vie AudioContext.

AudioContext fait partie de l'API Web Audio, que vous pouvez utiliser pour traiter et synthétiser des contenus audio.

Événements AudioContext dans le volet "Points d'arrêt de l'écouteur d'événements".

Figure 8. Événements AudioContext dans le volet "Points d'arrêt de l'écouteur d'événements"

Déboguer des applications Node.js avec ndb

ndb est un nouveau débogueur pour les applications Node.js. En plus des fonctionnalités de débogage habituelles disponibles via DevTools, ndb propose également les éléments suivants:

  • Détecter et associer des processus enfants.
  • Vous devez placer des points d'arrêt avant les modules.
  • Modifier des fichiers dans l'interface utilisateur de DevTools
  • Par défaut, tous les scripts situés en dehors du répertoire de travail actuel sont ignorés.

Interface utilisateur de ndb.

Figure 9. Interface utilisateur de ndb

Pour en savoir plus, consultez le fichier README de ndb.

Conseil supplémentaire: Mesurez les interactions réelles des utilisateurs avec l'API User Timing

Vous souhaitez mesurer le temps que mettent les utilisateurs réels à effectuer des parcours critiques sur vos pages ? Envisagez d'instrumenter votre code avec l'API User Timing.

Par exemple, supposons que vous souhaitiez mesurer le temps qu'un utilisateur passe sur votre page d'accueil avant de cliquer sur votre bouton d'incitation à l'action. Tout d'abord, vous devez marquer le début du parcours dans un gestionnaire d'événements associé à un événement de chargement de page, tel que DOMContentLoaded:

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

Vous devez ensuite marquer la fin du trajet et calculer sa durée lorsque l'utilisateur clique sur le bouton:

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

Vous pouvez également extraire vos mesures pour les envoyer facilement à votre service d'analyse afin de collecter des données agrégées et anonymes:

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

DevTools marque automatiquement vos mesures de temps utilisateur dans la section User Timing (Temps utilisateur) de vos enregistrements de performances.

Section "User Timing" (Temps utilisateur)

Figure 10 : Section "User Timing" (Temps utilisateur)

Cela est également utile pour déboguer ou optimiser du code. Par exemple, si vous souhaitez optimiser une certaine phase de votre cycle de vie, appelez window.performance.mark() au début et à la fin de votre fonction de cycle de vie. React effectue cette opération en mode développement.

Télécharger les canaux de prévisualisation

Envisagez d'utiliser Chrome Canary, Dev ou Bêta comme navigateur de développement par défaut. Ces canaux de prévisualisation vous donnent accès aux dernières fonctionnalités de DevTools, vous permettent de tester les API de plate-forme Web de pointe et vous aident à détecter les problèmes sur votre site avant vos utilisateurs.

Contacter l'équipe des outils pour les développeurs Chrome

Utilisez les options suivantes pour discuter des nouvelles fonctionnalités, des mises à jour ou de tout autre élément lié aux outils pour les développeurs.

Nouveautés des outils pour les développeurs

Liste de tous les éléments abordés dans la série Nouveautés des outils pour les développeurs.