Description
Utilisez l'API chrome.devtools.panels pour intégrer votre extension à l'interface utilisateur de la fenêtre des outils de développement : créez vos propres panneaux, accédez aux panneaux existants et ajoutez des barres latérales.
Fichier manifeste
Les clés suivantes doivent être déclarées dans le fichier manifeste pour utiliser cette API.
"devtools_page"Pour une introduction générale à l'utilisation des API des outils de développement, consultez Résumé des API DevTools.
Présentation
Chaque panneau d'extension et barre latérale s'affiche sous la forme d'une page HTML distincte. Toutes les pages d'extension affichées dans la fenêtre des outils de développement ont accès à tous les modules de l'API chrome.devtools, ainsi qu'à l'API chrome.extension. D'autres API d'extension ne sont pas disponibles pour les pages de la fenêtre des outils de développement, mais vous pouvez les appeler en envoyant une requête à la page d'arrière-plan de votre extension, de la même manière que dans les scripts de contenu.
Vous pouvez utiliser la méthode devtools.panels.setOpenResourceHandler pour installer une fonction de rappel qui gère les demandes des utilisateurs pour ouvrir une ressource (généralement, un clic sur un lien de ressource dans la fenêtre des outils de développement). Au maximum, un seul des gestionnaires installés est appelé. Les utilisateurs peuvent spécifier (à l'aide de la boîte de dialogue "Paramètres des outils de développement") le comportement par défaut ou une extension pour gérer les demandes d'ouverture de ressources. Si une extension appelle setOpenResourceHandler() plusieurs fois, seul le dernier gestionnaire est conservé.
Exemples
Le code suivant ajoute un panneau contenu dans Panel.html, représenté par FontPicker.png sur la barre d'outils des outils de développement et intitulé Sélecteur de police :
chrome.devtools.panels.create("Font Picker",
                              "FontPicker.png",
                              "Panel.html",
                              function(panel) { ... });
Le code suivant ajoute un volet de barre latérale contenu dans Sidebar.html et intitulé Propriétés de la police au panneau "Éléments", puis définit sa hauteur sur 8ex :
chrome.devtools.panels.elements.createSidebarPane("Font Properties",
  function(sidebar) {
    sidebar.setPage("Sidebar.html");
    sidebar.setHeight("8ex");
  }
);
Cette capture d'écran montre l'effet que les exemples ci-dessus auraient sur la fenêtre des outils de développement :

Pour essayer cette API, installez l'exemple d'API des panneaux DevTools à partir du dépôt chrome-extension-samples.
Types
Button
Bouton créé par l'extension.
Propriétés
- 
    onClickedEvent<functionvoidvoid> Déclenché lorsque l'utilisateur clique sur le bouton. La fonction onClicked.addListenerse présente comme suit :(callback: function) => {...} - 
    callbackfonction Le paramètre callbackse présente comme suit :() => void 
 
- 
    
- 
    updatevide Met à jour les attributs du bouton. Si certains arguments sont omis ou définis sur null, les attributs correspondants ne sont pas mis à jour.La fonction updatese présente comme suit :(iconPath?: string, tooltipText?: string, disabled?: boolean) => {...} - 
    iconPathchaîne facultative Chemin d'accès à la nouvelle icône du bouton. 
- 
    tooltipTextchaîne facultative Texte affiché sous forme d'info-bulle lorsque l'utilisateur pointe sur le bouton. 
- 
    désactivébooléen facultatif Indique si le bouton est désactivé. 
 
- 
    
ElementsPanel
Représente le panneau "Éléments".
Propriétés
- 
    onSelectionChangedEvent<functionvoidvoid> Déclenché lorsqu'un objet est sélectionné dans le panneau. La fonction onSelectionChanged.addListenerse présente comme suit :(callback: function) => {...} - 
    callbackfonction Le paramètre callbackse présente comme suit :() => void 
 
- 
    
- 
    createSidebarPanevide Crée un volet dans la barre latérale du panneau. La fonction createSidebarPanese présente comme suit :(title: string, callback?: function) => {...} - 
    titrechaîne Texte affiché dans la légende de la barre latérale. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :(result: ExtensionSidebarPane) => void - 
    résultatObjet ExtensionSidebarPane pour le volet de barre latérale créé. 
 
- 
    
 
- 
    
ExtensionPanel
Représente un panneau créé par une extension.
Propriétés
- 
    onHiddenEvent<functionvoidvoid> Déclenché lorsque l'utilisateur quitte le panneau. La fonction onHidden.addListenerse présente comme suit :(callback: function) => {...} - 
    callbackfonction Le paramètre callbackse présente comme suit :() => void 
 
- 
    
- 
    onSearchEvent<functionvoidvoid> Déclenché lors d'une action de recherche (démarrage d'une nouvelle recherche, navigation dans les résultats de recherche ou annulation de la recherche). La fonction onSearch.addListenerse présente comme suit :(callback: function) => {...} - 
    callbackfonction Le paramètre callbackse présente comme suit :(action: string, queryString?: string) => void - 
    actionchaîne 
- 
    queryStringchaîne facultative 
 
- 
    
 
- 
    
- 
    onShownEvent<functionvoidvoid> Déclenché lorsque l'utilisateur passe au panneau. La fonction onShown.addListenerse présente comme suit :(callback: function) => {...} - 
    callbackfonction Le paramètre callbackse présente comme suit :(window: Window) => void - 
    fenêtreFenêtre 
 
- 
    
 
- 
    
- 
    createStatusBarButtonvide Ajoute un bouton à la barre d'état du panneau. La fonction createStatusBarButtonse présente comme suit :(iconPath: string, tooltipText: string, disabled: boolean) => {...} - 
    iconPathchaîne Chemin d'accès à l'icône du bouton. Le fichier doit contenir une image de 64 x 24 pixels composée de deux icônes de 32 x 24 pixels. L'icône de gauche est utilisée lorsque le bouton est inactif, tandis que celle de droite s'affiche lorsque l'utilisateur appuie sur le bouton. 
- 
    tooltipTextchaîne Texte affiché sous forme d'info-bulle lorsque l'utilisateur pointe sur le bouton. 
- 
    désactivébooléen Indique si le bouton est désactivé. 
 - 
            Renvoie
 
- 
    
- 
    affichervide Chrome 140 et versions ultérieuresAffiche le panneau en activant l'onglet correspondant. La fonction showse présente comme suit :() => {...}
ExtensionSidebarPane
Barre latérale créée par l'extension.
Propriétés
- 
    onHiddenEvent<functionvoidvoid> Déclenché lorsque le volet latéral est masqué parce que l'utilisateur a quitté le panneau qui l'héberge. La fonction onHidden.addListenerse présente comme suit :(callback: function) => {...} - 
    callbackfonction Le paramètre callbackse présente comme suit :() => void 
 
- 
    
- 
    onShownEvent<functionvoidvoid> Déclenché lorsque le volet de la barre latérale devient visible parce que l'utilisateur est passé au panneau qui l'héberge. La fonction onShown.addListenerse présente comme suit :(callback: function) => {...} - 
    callbackfonction Le paramètre callbackse présente comme suit :(window: Window) => void - 
    fenêtreFenêtre 
 
- 
    
 
- 
    
- 
    setExpressionvide Définit une expression qui est évaluée dans la page inspectée. Le résultat s'affiche dans le volet latéral. La fonction setExpressionse présente comme suit :(expression: string, rootTitle?: string, callback?: function) => {...} - 
    expressionchaîne Expression à évaluer dans le contexte de la page inspectée. Les objets JavaScript et les nœuds DOM sont affichés dans une arborescence extensible semblable à celle de la console/de la section "Surveillance". 
- 
    rootTitlechaîne facultative Titre facultatif pour la racine de l'arborescence d'expression. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
 
- 
    
- 
    setHeightvide Définit la hauteur de la barre latérale. La fonction setHeightse présente comme suit :(height: string) => {...} - 
    hauteurchaîne Spécification de taille de type CSS, telle que '100px'ou'12ex'.
 
- 
    
- 
    setObjectvide Définit un objet conforme à JSON à afficher dans le volet latéral. La fonction setObjectse présente comme suit :(jsonObject: string, rootTitle?: string, callback?: function) => {...} - 
    jsonObjectchaîne Objet à afficher dans le contexte de la page inspectée. Évalué dans le contexte de l'appelant (client API). 
- 
    rootTitlechaîne facultative Titre facultatif pour la racine de l'arborescence d'expression. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
 
- 
    
- 
    setPagevide Définit une page HTML à afficher dans le volet latéral. La fonction setPagese présente comme suit :(path: string) => {...} - 
    chemin d'accèschaîne Chemin d'accès relatif d'une page d'extension à afficher dans la barre latérale. 
 
- 
    
SourcesPanel
Représente le panneau "Sources".
Propriétés
- 
    onSelectionChangedEvent<functionvoidvoid> Déclenché lorsqu'un objet est sélectionné dans le panneau. La fonction onSelectionChanged.addListenerse présente comme suit :(callback: function) => {...} - 
    callbackfonction Le paramètre callbackse présente comme suit :() => void 
 
- 
    
- 
    createSidebarPanevide Crée un volet dans la barre latérale du panneau. La fonction createSidebarPanese présente comme suit :(title: string, callback?: function) => {...} - 
    titrechaîne Texte affiché dans la légende de la barre latérale. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :(result: ExtensionSidebarPane) => void - 
    résultatObjet ExtensionSidebarPane pour le volet de barre latérale créé. 
 
- 
    
 
- 
    
Propriétés
elements
Panneau "Éléments".
Type
sources
Panneau "Sources".
Type
themeName
Nom du thème de couleur défini dans les paramètres des outils de développement de l'utilisateur. Valeurs possibles : default (par défaut) et dark.
Type
chaîne
Méthodes
create()
chrome.devtools.panels.create(
title: string,
iconPath: string,
pagePath: string,
callback?: function,
): void
Crée un panneau d'extension.
Paramètres
- 
    titrechaîne Titre affiché à côté de l'icône de l'extension dans la barre d'outils des outils pour les développeurs. 
- 
    iconPathchaîne Chemin d'accès à l'icône du panneau par rapport au répertoire de l'extension. 
- 
    pagePathchaîne Chemin de la page HTML du panneau par rapport au répertoire de l'extension. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :(panel: ExtensionPanel) => void - 
    panneauObjet ExtensionPanel représentant le panneau créé. 
 
- 
    
openResource()
chrome.devtools.panels.openResource(
url: string,
lineNumber: number,
columnNumber?: number,
callback?: function,
): void
Demande aux outils pour les développeurs d'ouvrir une URL dans un panneau d'outils pour les développeurs.
Paramètres
- 
    urlchaîne URL de la ressource à ouvrir. 
- 
    lineNumberTotal Spécifie le numéro de ligne vers lequel faire défiler la page lorsque la ressource est chargée. 
- 
    columnNumbernumber facultatif Chrome 114 et versions ultérieuresSpécifie le numéro de colonne vers lequel faire défiler la page lorsque la ressource est chargée. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
setOpenResourceHandler()
chrome.devtools.panels.setOpenResourceHandler(
callback?: function,
): void
Spécifie la fonction à appeler lorsque l'utilisateur clique sur un lien de ressource dans la fenêtre "Outils de développement". Pour annuler la définition du gestionnaire, appelez la méthode sans paramètre ou transmettez null en tant que paramètre.
Paramètres
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :(resource: Resource, lineNumber: number) => void - 
    ressourceObjet devtools.inspectedWindow.Resourcepour la ressource sur laquelle l'utilisateur a cliqué.
- 
    lineNumberTotal Indique le numéro de ligne de la ressource sur laquelle l'utilisateur a cliqué. 
 
-