web-dev-qa-db-ja.com

自動生成Android TAGにログインAndroid Studio / Intellij idea

Intellij Ideaでpsfsと入力してから押す Ctrl+J IDEはダイアログを表示していました:

enter image description here

そして、私が押すと Enter 私は得る

enter image description here

私は自分の出力をカスタマイズできる場所を知っています

enter image description here

しかし、私は自分のライブテンプレートをどのように書くことができるのかドキュメントはできません。

最後に私は次の結果を取得したい:

入力:psfst->を押します Ctrl+J ->プレス Enter

結果:

public static final String TAG = <currentClassName>.class.getSimpleName();

クラスを記録する習慣があるので、とても役に立ちます。

37

解決策を見つける

1)プレーングループに新しいライブテンプレートを作成する
2)テンプレートテキスト:

private static final String TAG = $CLASS_NAME$.class.getSimpleName();

使用範囲を定義します:

enter image description here

4)ショートカットを選択:

enter image description here

最後にクリック Edit variables 式の値をclassName()に変更します

enter image description here

クリック Ok 、 Apply、 Ok 使用します。

43

Android Studio-そのようなショートカットは既に存在します-カーソルがクラススコープにある間にlogtを記述して入力してください。

詳細はこちら:

for more see here

31
Ofek Ron

Android Studio 3およびKotlinを使用している場合は、方法を変更する必要がありますライブテンプレートセット:

エディター>>ライブテンプレート>> AndroidLog

デフォルトでは、Java専用です

enter image description here

「変更」ボタンを押してKotlinを追加し、Kotlinをチェックします

enter image description here

その後、再び動作します!

enter image description here

4
Jorge Casariego

別の解決策は、各クラスにデフォルトのTAGを使用せず、このメソッドを使用して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() + ")";
        }
}

MainActivityからの呼び出し例-onResume:

Log.v(Utils.getTAG(this), "hello world");

ログ出力:

[MainActivity](onResume:79): hello world
1
elabi3