Xcodeで新規作成したSwiftファイルの先頭(ヘッダー)に自動挿入される名前等のテンプレート情報を消して表示させない方法

2021-11-14
Main Image

目次

こんにちは。

Xcodeで新規ファイルを作成したときに表示されるヘッダーに名前が書かれていたりして邪魔だな〜と思ったことはないでしょうか。

ファイルの先頭に書かれるこんなやつです↓

//
//  LandmarksApp.swift
//  Landmarks
//
//  Created by HogeHoge on 2021/11/14.
//

今回はこの自動挿入されるテキストを消したりカスタマイズしたりする方法をご紹介します。

バージョン情報

  • Xcode 13.1
  • MacOS 12.0.1
  • zsh 5.8

テンプレートを編集する手順

手順をまとめると以下の感じです。

  1. ディレクトリ~/Library/Developer/Xcode/UserData/IDETemplateMacros.plistというファイルを作成する
  2. 中身にXML形式でkeyFILEHEADERvalueを空欄にする

ファイルの位置がややこしいのでMacのターミナルを使って作業します。

順番に見ていきます。

IDETemplateMacros.plistを作成する場所に移動する

ファインダーでディレクトリの場所を辿ったり新規ファイルを作成するのは大変なので、ターミナルで作成します。

まずターミナルを開いたら、表示されている%に続いて以下を入力します。

% cd ~/Library/Developer/Xcode/UserData/
  • cdはchange directoryの略でターミナルで現在参照しているディレクトリ(カレントディレクトリ)を移動します

  • ~/Library/Developer/Xcode/UserData/はXcodeのユーザーデータを保管する場所です。ここに格納されたテンプレート情報をXcodeは自動で参照します。

  • このディレクトリはXcodeをインストールした時点ですでにあるため新しく作る必要はありません

IDETemplateMacros.plistを作成する

ターミナルに以下のコマンドを打ちます。

% vi IDETemplateMacros.plist
  • viもしくはvimはvimというターミナルで使えるテキストエディタでファイルを開くコマンドです

  • 指定した名前のファイルが存在していない場合、新規作成されます

ヘッダーテンプレートの中身を編集する方法

エディタが開いたら、キーボードのiを押してエディタをインサートモード(テキストを編集できる状態)にします。

以下をコピペします。

<?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>this is new file</string>
</dict>
</plist>
  • FILEHEADERというkeyに、string型でthis is new fileというvalueを設定しています。

コピペしたら、インサートモードを終了するため、escキーを押します。

最後に、:wqとタイプし、Enterキーを押してvimの内容を保存します。

これで次回からXcodeでファイルを新規作成した際、ヘッダーに表示される文字は以下のようになります。

//this is new file

先頭の//は自動挿入されるようです。

FILEHEADERのvalueを<string></string>のように空欄にすれば、テンプレートの中身を消すことができます。

【補足】 ヘッダーテンプレートの内容を自由に書き換えたい

例えばヘッダーから名前だけ消したいとか、日付だけ消したいとか、そういった場合はテンプレートを自分で作ることもできます。

テンプレートの元々の構成は以下のようになっています。

//  ___FILENAME___
//  ___PACKAGENAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//  ___COPYRIGHT___
//

このアンダーバー2つ__で囲まれた部分が情報を読み込めるようになっているので、好きなように組み合わせてテンプレートを自由に作れます。

例えば日付だけ表示したい場合は、IDETemplateMacros.plistの中身を以下のように書けばOKです。

<?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>
    // Created on __DATE__.
    // 
    </string>
</dict>
</plist>

結果↓

//
// Created on 2021/11/14.
//

まとめ

というわけで今回はXcodeで新規ファイルを作成したときに自動挿入されるファイルヘッダーの中身を消す方法、書き換える方法をまとめました。

ややこしい位置にファイルを置かなければならないので、Finderではなくターミナルからvimでテンプレートを設定する方法をご紹介しました。

方法はこちらのXcode公式ヘルプを参考にしました。

Xcode Help | Customize the header used for new files

Xcode Help | Customize text macros

以上、ご参考になれば幸いです。

それでは〜

ads【オススメ】未経験からプログラマーへ転職できる【GEEK JOBキャンプ】
▼ Amazonオススメ商品
ディスプレイライト デスクライト BenQ ScreenBar モニター掛け式
スマートLEDフロアライト 間接照明 Alexa/Google Home対応

Author

Penta

都内で働くITエンジニアもどき。好きなものは音楽・健康・貯金・シンプルでミニマルな暮らし。AWSクラウドやデータサイエンスを勉強中。学んだことや体験談をのんびり書いてます。TypeScript / Next.js / React / Python / AWS / インデックス投資 / 高配当株投資 More profile

Location : Tokyo, JPN

Contact : Twitter@penguinchord

Recommended Posts

Copy Right / Penguin Chord, ペンギンコード (penguinchord.com) 2022 / Twitter@penguinchord