LoginSignup
54
31

More than 5 years have passed since last update.

【Xcode9】ファイルヘッダーコメントをカスタマイズする

Posted at

Xcode9から作成するファイルのヘッダーコメントを独自定義のものに置き換えることができるようになりました。

会社でコードを書く時など、今までわざわざヘッダーファイルを調整していた方々はぜひ試してみてください :tada:

ファイルヘッダーコメントとは

Xcodeでファイルを作成する際にデフォルトでファイル上部に追加されるヘッダーコメントのことです。

スクリーンショット 2017-09-23 18.09.47.png

今までは Shunsuke Furubayashi の部分の Organization しか変更することができませんでしたが。Xcode9より全体を編集することができるようになりました。

IDETemplateMacros.plist

Xcode9より決められた場所に IDETemplateMacros.plist を定義しておくことで、Xcodeが自動で内容を読み取りファイルヘッダーを書き換えてくれます。

Apple Reference

実際の IDETemplateMacros.plist はこのような形となります。

IDETemplateMacros.plist
<?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> 
// Copyright (c) 2017年, Shunsuke Furubayashi.
// All rights reserved.
//
// GitHub:
// https://github.com/econa77
//</string>
</dict>
</plist>

上記のファイルで実際に出力されるヘッダーコメントが以下のようになります。

file.swift
// 
// Copyright (c) 2017年, Shunsuke Furubayashi.
// All rights reserved.
//
// GitHub:
// https://github.com/econa77
//

import Foundation

注意すべき点は以下の2点です。

  • 行頭の // は自動挿入される
  • 行末と import Foundation の間の改行も自動挿入

改行位置など間違ってしまうと意図しない自動改行が入りますので気をつけてください。

ファイルの置き場所

Xcodeが IDETemplateMacros.plist を自動で認識してくれるディレクトリは以下の5箇所です。
ファイルを作成した後はプロジェクトの構成に応じてこの5箇所のうちどこか1箇所にファイルを保存してください。

Project user data:
<ProjectName>.xcodeproj/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist.

Project shared data:
<ProjectName>.xcodeproj/xcshareddata/IDETemplateMacros.plist

Workspace user data:
<WorkspaceName>.xcworkspace/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist.

Workspace shared data:
<WorkspaceName>.xcworkspace/xcshareddata/IDETemplateMacros.plist.

User Xcode data:
~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist.

使用できるマクロ

デフォルトで使用できるマクロは以下の種類があります。

Apple Reference

細かい出力される内容についてはAppleのReferenceを確認してください。
.plist ファイルに記述する際は下記のように ___ でマクロ名を囲むことで使用することができます。

  • ___DATE___
  • ___DEFAULTTOOLCHAINSWIFTVERSION___
  • ___FILEBASENAME___
  • ___FILEBASENAMEASIDENTIFIER___
  • ___FILEHEADER___
  • ___FILENAME___
  • ___FULLUSERNAME___
  • ___NSHUMANREADABLECOPYRIGHTPLIST___
  • ___ORGANIZATIONNAME___
  • ___PACKAGENAME___
  • ___PACKAGENAMEASIDENTIFIER___
  • ___PRODUCTNAME___
  • ___PROJECTNAME___
  • ___RUNNINGMACOSVERSION___
  • ___TARGETNAME___
  • ___TIME___
  • ___USERNAME___
  • ___UUID___
  • ___WORKSPACENAME___
  • ___YEAR___

上記のマクロを指定して IDETemplateMacros.plist を指定すると以下のようになります。

IDETemplateMacros.plist
<?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> 
// Copyright (c) ___YEAR___, ___ORGANIZATIONNAME___.
// All rights reserved.
//
// GitHub:
// https://github.com/econa77
//</string>
</dict>
</plist>

マクロの編集

マクロで出力されるテキストは正しいフォーマットを指定して編集することができます。
細かいファイルの拡張子の削除などを行いたい場合は以下のリファレンスのようにマクロを指定してください。

Apple Reference

54
31
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
54
31