iOS・Androidその他

【Xcode】ヘッダーコメント を 削除する

この記事は約5分で読めます。

ヘッダーコメントを削除する方法

Xcodeで新規ファイルを作成すると、ファイル上部にデフォルトで挿入されるコメントがある。
これをヘッダーコメントという。

削除手法は2通りある。
1つはIDETemplateMacros.plist を編集する手法。
2つ目に、Xcodeのファイルテンプレートを作成する手法。

IDETemplateMacros.plist を編集する手法

IDETemplateMacros.plist を設定することで、ヘッダーコメントの編集を行うことができる。
IDETemplateMacros.plist はテキストマクロを編集するファイル。

テキストマクロ適応範囲を策定する

IDETemplateMacros.plist を 設置する場所によって適応範囲が変わる。
ワークスペース共有データ の場合は、プロジェクト全体でデータの共有がされる。
ユーザーのXcodeデータ で設定すると、個人のワークスペースに設定が反映される。

  • プロジェクトユーザーデータ:
      .xcodeproj/xcuserdata/(username).xcuserdatad/IDETemplateMacros.plist。
  • プロジェクト共有データ:
      .xcodeproj/xcshareddata/IDETemplateMacros.plist。
  • ワークスペースユーザーデータ:
      .xcworkspace/xcuserdata/(username).xcuserdatad/IDETemplateMacros.plist。
  • ワークスペース共有データ:
      .xcworkspace/xcshareddata/IDETemplateMacros.plist。
  • ユーザーのXcodeデータ:
      ~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist。

IDETemplateMacros.plist を編集する。

公式が示している手順は以下。

  1. IDETemplateMacros.plist ファイルを開く。
  2. 新しいエントリをトップレベルの辞書に追加。
  3. 新しいエントリのキーを、カスタマイズまたは追加したいテキストマクロの名前に設定する。
  4. 新しいエントリのタイプを String に設定する。
  5. 新しいエントリの値を、希望するテキストに設定する。
  6. ファイルを保存する。

上記の方法以外にも、IDETemplateMacros.plist ファイルを作成後、VSCodeで開いて、直に編集する手法もある。

今回の目的であるヘッダーコメント を 削除するを果たす設定は以下:

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
 <key>FILEHEADER</key>
     <string></string>
 </dict>
 </plist>

プロジェクトに反映させると以下の状態になる。

これはこれで良いが、一番上にコメント `//`が残ってしまう点が気になる。

Xcodeのファイルテンプレートを作成する

こちらの方法を使用すると、完全にコメントを消すことができる。

テンプレートは以下の場所にある。

/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/MultiPlatform/Source

Swift File.xctemplate をコピー&ペーストし、適当にフォルダ名をつける。
便宜的に`SwiftSumple File.xctemplate`という名前を設定した。

Xcodeに反映するため、TemplateInfo.plistファイルを立ち上げ、HiddenFromLibraryとHiddenFromChooserをYESに変更する。

この状態で、XCodeを立ち上げ、新規にファイルを作成しようとすると以下の状態になる。

SwiftSumple File が新たに選択できるようになっていることが見て取れる。
SwiftSumple Fileを選択し、展開すると以下の状態になる。

ヘッダーコメントが削除されている。

Xcodeのファイルテンプレートはローカルにのみ展開されるので、チームメンバーと同一のテンプレートを使用する場合それぞれの作業環境で別途設定が必要になる点に留意する。

蛇足:

テキストマクロのフォーマットを別途調べることで、他にもいろいろ設定を行うことができる。
以下はXcode のデフォルト設定と同一の設定を行う場合の マクロ。

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
     <key>FILEHEADER</key>
     <string>
 //  ___FILENAME___
 //  ___TARGETNAME___
 //  
 //  Created by ___USERNAME___ on ___DATE___.
 //  ___COPYRIGHT___
 //</string>
 </dict>
 </plist>


興味のある方は別途以下の記事を参照してください。

https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/dev7fe737ce0

参考:

https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/dev91a7a31fc
https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/dev7fe737ce0