2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

#はじめに
Android Studio / Xcodeでのログ出力がちょっとした工夫で便利になるので紹介いたします。

具体的には

  • ログにクラス名、関数名、タグ等を自動で挿入して出力する
  • コード記述を簡単にする(補完してくれる)

ことを目指します。

#環境

  • macOS 10.15.6
  • Android Studio 3.6.3
  • Xcode 12.2

#Android Studio

環境設定からLive Templatesを開き、右側の+ボタンからAndroidLogの中に新たにテンプレートを定義します。

Abbreviationにはテンプレートを呼び出す文字列、Descriptionにはテンプレートの説明、Template Textには実際に出力される文字列が入ります。
その下のDefineからどのタイミングでこのLive Templateを有効にするかを設定します。とりあえずJava -> Statementだけチェックしておけば大丈夫でしょう。

さて、Template Textに入力する内容ですが、$で囲むことで変数を定義できます。定義した変数はEdit variablesから編集可能なので、以下のようにクラス名等が自動で挿入されるようにします。

以上でldとだけ入力すればクラス名や関数名等が挿入された状態でLog.d()を記述できるようになりました!

#Xcode

まずログ出力用のクラスを定義して、クラス名等が自動で挿入されるようにします。
変数file/Users/[username]/Desktop/hoge/huga/ViewController.swiftのような形になるのでファイル名だけを切り取っています。

MyUtility.swift
class MyUtility {
    class func logD(tag: String, file: String, function: String, log: String) {
        NSLog("D/\(tag): \(URL(string: file)!.deletingPathExtension().lastPathComponent)#\(function): \(log)")
    }
}

次に入力を自動で行うためにCode Snippetを使います。
ウィンドウ右上の+ボタンからSnippets一覧を開き、以下のように設定します。

#file#functionにはファイル名や関数名が自動で入るので、これを先程のログ出力用の関数に代入しています。
TAGLogなどの可変部分は<#TAG#>としてプレースホルダ化すると良いですね。

これでAndroid Studioと同様にldとだけ入力すればクラス名や関数名等が挿入されたログの出力を記述できるようになりました!

#参考リンク

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?