72 votes

Puis-je empêcher Chrome de tronquer les chaînes de caractères dans la console de développement ?

> ary = new Array('test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test. test msg kinda long but gets the point across and such and it shows ellipsises after a certain point in my test.');
> JSON.stringify(ary)
"["test msg kinda long but gets the point across and such and it shows ellipsises... (length: 116)"

Je veux vraiment l'objet complet, mais Chrome veut couper le résultat à environ 80 caractères. Je ne vois rien dans les paramètres de la console qui puisse changer cela.

3voto

Mod Points 41

La longueur de la chaîne qui est rendue à la console est limitée. programmatiquement dans inspector.js. Elle est fixée à 150 caractères par défaut. Il n'y a pas de CSS à appliquer, car la chaîne est affichée dans la console au format HTML. Le texte a déjà été tronqué.

Vous pouvez le changer mais ça va demander un peu de travail :

Outils nécessaires et utiles :

- ack (installation de brew ack) ou ag. (pour rechercher très rapidement des fichiers texte énormes).

- paktools pour Python. Pour décompresser les ressources de chrome afin de pouvoir les modifier. https://github.com/Magister/pak-tools .

- l'éditeur de texte de votre choix.

  1. cd ou naviguez dans la version de Chrome que vous avez. J'utilise Chromium comme exemple mais le chemin est le même sur d'autres versions :

    cd "/Applications/Chromium.app/Contents/Versions/YOURVERSION/Chromium Framework.framework/Resources/"
  2. Clonez ou téléchargez les paktools. Cela vous permettra de décompresser le chrome de les éditer et de les repacker. J'ai placé les miennes dans mon ~./bin mais vous pouvez les mettre n'importe où. Les exemples reflèteront mon parcours :

  3. Maintenant dans le Chrome/.../Chrome Framework.framework/Resoures l'exécution du dossier : python2 ~/.bin/unpack.py resources.pak y cd ./resouces

  4. Vous allez devoir trouver où il se trouve. Les fichiers changent tout le temps et ce n'est donc jamais le même. $ ag "static linkify" Cela m'a conduit à 28542 . J'ai modifié la fonction pour que la valeur par défaut soit de 2000 caractères, et j'ai également mis à jour le code css pour pouvoir faire défiler horizontalement les consoles. le css pour que je puisse faire défiler horizontalement la console.

  5. maintenant cd hors du dossier resouces que vous avez décompressé et dans son parent. Exécutez : python2 ~/.bin/pack.py resources et voilà. Redémarrez Chrome et vos devtools sont maintenant personnalisés.

AVERTISSEMENT : 6. L'équipe devtools pousse les mises à jour des versions du framework sans que vous le sachiez. Et vous perdrez tous vos mods s'ils le font. Je le bloque en exécutant /Users/Op/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --uninstall et de tuer tous les deamons clés, etc.

Fonctionne comme un charme.

enter image description here

2voto

Ando Points 121

Dans Chrome 58 (peut-être plus ancien), vous pouvez utiliser la fonction Store as Global Variable dans le menu contextuel de toute valeur de la console, imbriquée à n'importe quel niveau. Elle affecte la valeur sélectionnée à une variable portant un nom unique, qui est immédiatement enregistrée dans la console.

Je viens de l'essayer sur une valeur de 400KB !

Fuente: https://stackoverflow.com/a/41726364/250838

1voto

tedfoo Points 1

Pour les chaînes de caractères à l'intérieur d'un <script> aucune des réponses existantes ne fonctionne et la sortie reste tronquée. Cependant, vous pouvez trouver votre chaîne complète dans l'onglet Sources - il suffit de passer à l'onglet et de rechercher une partie de votre chaîne par CTRL + F.

0voto

Wes Jones Points 1

Après en avoir eu marre que Chrome tronque tout, j'ai finalement placé le json dont j'avais besoin dans un élément dom. Ce n'est certainement pas la solution la plus élégante, mais elle fonctionne quand on a vraiment besoin du résultat.

const div = document.createElement('div')
div.innerText = JSON.stringify(data)
document.body.appendChild(div)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X