J'ai besoin d'une sortie de débogage avec une chaîne colorée. comme la craie node.js.
J'ai essayé de trouver les packages, mais il n'y a pas de package approprié.
Merci.
5 Réponses :
Vous devez imprimer des séquences d'échappement pour obtenir les effets de couleur dans la sortie du terminal.
Voir aussi https://en.wikipedia.org/wiki/ANSI_escape_code
https://pub.dartlang.org/packages/ansicolor est un package Dart qui facilite les choses.
Cela ne fonctionne pas sur mon studio Android. Les caractères d'échappement sont ignorés. importer 'dart: io' comme io; print (io.stdout.supportsAnsiEscapes); retourne faux.
Je recommande d'utiliser Grep Console si vous ne voulez pas changer la façon dont vous imprimez réellement les caractères
Vous pouvez ajouter une balise comme [DEBUG]
à vos journaux et la console grep ferait la magie pour vous.
Bien que la coloration du texte fonctionne parfaitement dans le terminal, elle peut ne pas fonctionner dans la sortie de débogage de l'IDE (j'ai essayé Idea / Android Studio et VSCode).
Exemple de codes d'échappement ANSI utilisant:
print('\x1B[94m' + "hahAHaHA!!!" + '\x1B[0m');
Exemples d'utilisation ansicolor
package ansicolor
:
import 'package:ansicolor/ansicolor.dart'; main(List<String> arguments) { AnsiPen greenPen = AnsiPen()..green(); AnsiPen greenBackGroundPen = AnsiPen()..green(bg: true); AnsiPen redTextBlueBackgroundPen = AnsiPen()..blue(bg: true)..red(); AnsiPen boldPen = AnsiPen()..white(bold: true); AnsiPen someColorPen = AnsiPen()..rgb(r: .5, g: .2, b: .4); print(greenPen("Hulk") + " " + greenBackGroundPen("SMASH!!!")); print(redTextBlueBackgroundPen("Spider-Man!!!") + " " + boldPen("Far From Home!!!")); print(someColorPen("Chameleon")); }
PS est venu ici pour trouver des informations sur la coloration du texte dans le terminal, pas dans la sortie de débogage de l'IDE. J'ai donc décidé d'écrire des exemples ici et de ne pas créer de question séparée avec réponse.
Actuellement, la console Dart n'analyse pas les couleurs ANSI dans Android Studio ou IntelliJ Idea. Vous pouvez vérifier la prise en charge des couleurs ANSI en appelant
flutter logs
Mais vous pouvez avoir des journaux colorés dans Android Studio, ouvrez simplement une fenêtre de terminal dans Android Studio et appelez
import dart.io as io io.stdout.supportsAnsiEscapes
Cette commande associe la session de terminal en cours à la session de flutter active. Utilisez ce terminal pour les journaux. Onglet Débogage, pour d'autres fonctionnalités.
Le terminal d'Android Studio prend en charge les couleurs ANSI, tout comme Windows Power Shell, les flutter logs
font l'affaire.
Vous pouvez utiliser des couleurs pour le texte comme d'autres mentionnés dans leurs réponses pour avoir un texte coloré avec une couleur d'arrière-plan ou de premier plan.
Mais vous pouvez utiliser des émojis à la place! par exemple, vous pouvez utiliser âš ï¸
pour les messages d'avertissement et ðŸ›'
pour les messages d'erreur.
Ou utilisez simplement ces cahiers comme couleur:
ð: error message ð: warning message ð: ok status message ð: action message ð: canceled status message ð: Or anything you like and want to recognize immediately by color
Cette méthode vous aide également à analyser et à trouver rapidement des journaux directement dans le code source .
Mais certaines distributions de la police emoji par défaut de Linux ne sont pas colorées par défaut et vous voudrez peut-être les rendre colorées, d'abord.
voici quelques conseils: misc.flogisoft.com/bash/tip_colors_and_formatting
essayez celui-ci pub.dev/packages/logger#logger-flutter-extension