📚

Xcodeで作成したファイル自動付与されるコメントを変える

2023/06/02に公開

Xcodeでファイルを作成すると、デフォルトでは製作者や作成した日にちなどが表示されます。
file header

私の場合フルネームが表示されてるのでGitHubにコードをあげて見られた時に恥ずかしい。
毎回消せばいい話ではあるのですが、めんどくさい。

ということで変更するために調べてわかったことをまとめておきます。

IDETemplateMacros.plistに書く

コメントを変えるにはIDETemplateMacros.plistに書き込むと変更できます。

私は全てのプロジェクトで反映させたかったので、~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist
に記載しました。
ちなみに、プロジェクトごとに設定したりもできるみたいです。→ StackOverflow

今回はフルネームだけ消せれば良かったので、ファイル名とコピーライトだけを表示する設定にしました。コピーライトはなんかカッコ良さそうなので書いてみました。

~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/D    TDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
     <key>FILEHEADER</key>
     <string>
//  ___FILENAME___
//  Copyright © 2021 hulk510. All rights reserved.
//</string>
 </dict>
 </plist>

//でコメントにしている箇所がファイルのコメントになります。

最初の一行はファイル作成時に勝手に//が付与されるので、2行目から書いていく感じになります。注意点として、コメントを書く際は//の前に空白入れず書いてください。
入れると空白もそのままファイルに記載されます。

新しいファイルを作って確認してみる

XCodeで新しいファイルを作るとこんな感じになります。
file header

いい感じ。

コメントをつけない設定にはできないの?

そもそも、コメントをつけないという設定にできないのか気になったので、
さっき書いていたIDETemplateMacros.plistに何も入れないで試して見ました。

~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/D    TDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
     <key>FILEHEADER</key>
     <string></string>
 </dict>
 </plist>

やはり最初の1行のコメントが消せず勝手に付与されるみたいです。

残ってる

消す方法あれば知りたい。

利用できる変数

___FILENAME___など利用できる変数がいくつか用意されているので自分が使いたい変数などあれば指定して見てください。

戻したい時

戻したくなったら元のファイルを削除すればデフォルトに戻ります。(バックアップを忘れずに)

おまけ

コピーライトをプロジェクトごとに変える方法
先ほどのコピーライトの書き方だとハードコーディングされているため、プロジェクトごとに名前を変えることはできません。

変えるにはハードコーディングしていた部分を___COPYRIGHT___に変更し、変数から取得できるようにします。

~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/D    TDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
     <key>FILEHEADER</key>
     <string>
//  ___FILENAME___
//  ___COPYRIGHT___
//</string>
 </dict>
 </plist>

コピーライトに追加する名前は、プロジェクトの設定から追加できます。
projectdocument

プロジェクトアイコンを選択しインスペクターに表示されているProject DocumentのOrganizationにつけたい名前を入れると、その名前がコピーライトとして表示されます。

まとめ

iOSの開発を始めた時からずっと変えたいと思っていたところを変えられて良かったです。
IDETemplateMacrosを編集するやり方はちょっとめんどくさそう...ってやっていなかったのですが、試したら案外簡単でした。

これでフルネームが出なくて済む!

参考

Discussion