Dans Intellij Idea lorsque je tape psfs
puis appuyez sur Ctrl+J IDE recevait une boîte de dialogue:
Et quand j'appuie Enter j'ai un
Je sais où je peux personnaliser ma propre sortie
Mais je ne sais pas comment je peux écrire mon propre modèle en direct.
En fin de compte, je veux obtenir le prochain résultat:
psfst
-> appuyez sur Ctrl+J -> presse Enterpublic static final String TAG = <currentClassName>.class.getSimpleName();
Ce sera très utile, car j'ai l'habitude de consigner mes cours.
Je trouve une solution
1) Créer un nouveau modèle en direct dans un groupe simple
2) Dans le texte du modèle:
private static final String TAG = $CLASS_NAME$.class.getSimpleName();
) Définissez une portée d'utilisation:
4) Choisissez un raccourci:
enfin cliquer sur Edit variables et changez la valeur de l'expression en className ()
Cliquez sur Ok , Apply, Ok et utilise.
Une autre solution n'est pas d'utiliser un TAG par défaut pour chaque classe et d'utiliser cette méthode pour obtenir le TAG:
public class Utils {
public static String getTAG(Object o) {
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
int position = 0;
for (int i = 0; i < elements.length; i++) {
if (elements[i].getFileName().contains(o.getClass().getSimpleName())
&& !elements[i+1].getFileName().contains(o.getClass().getSimpleName())){
position = i;
break;
}
}
StackTraceElement element = elements[position];
String className = element.getFileName().replace(".Java", "");
return "[" + className + "](" + element.getMethodName() + ":" + element.getLineNumber() + ")";
}
}
Exemple d'appel de MainActivity - onResume:
Log.v(Utils.getTAG(this), "hello world");
Sortie du journal:
[MainActivity](onResume:79): hello world